diff --git a/.agent/skills-cielonos/ai-painter/SKILL.md b/.agents/skills/ai-painter/SKILL.md similarity index 100% rename from .agent/skills-cielonos/ai-painter/SKILL.md rename to .agents/skills/ai-painter/SKILL.md diff --git a/.agent/skills-cielonos/art-director/SKILL.md b/.agents/skills/art-director/SKILL.md similarity index 100% rename from .agent/skills-cielonos/art-director/SKILL.md rename to .agents/skills/art-director/SKILL.md diff --git a/.agent/skills-cielonos/audio-specialist/SKILL.md b/.agents/skills/audio-specialist/SKILL.md similarity index 100% rename from .agent/skills-cielonos/audio-specialist/SKILL.md rename to .agents/skills/audio-specialist/SKILL.md diff --git a/.agent/skills-cielonos/behavior-tree-designer/SKILL.md b/.agents/skills/behavior-tree-designer/SKILL.md similarity index 100% rename from .agent/skills-cielonos/behavior-tree-designer/SKILL.md rename to .agents/skills/behavior-tree-designer/SKILL.md diff --git a/.agent/skills-cielonos/game-designer-generic/SKILL.md b/.agents/skills/game-designer-generic/SKILL.md similarity index 100% rename from .agent/skills-cielonos/game-designer-generic/SKILL.md rename to .agents/skills/game-designer-generic/SKILL.md diff --git a/.agent/skills-cielonos/game-designer-generic/knowledge/CoreLoop_Vision.md b/.agents/skills/game-designer-generic/knowledge/CoreLoop_Vision.md similarity index 100% rename from .agent/skills-cielonos/game-designer-generic/knowledge/CoreLoop_Vision.md rename to .agents/skills/game-designer-generic/knowledge/CoreLoop_Vision.md diff --git a/.agent/skills-cielonos/game-designer-generic/knowledge/INDEX.md b/.agents/skills/game-designer-generic/knowledge/INDEX.md similarity index 100% rename from .agent/skills-cielonos/game-designer-generic/knowledge/INDEX.md rename to .agents/skills/game-designer-generic/knowledge/INDEX.md diff --git a/.agent/skills-cielonos/narrative-designer/SKILL.md b/.agents/skills/narrative-designer/SKILL.md similarity index 100% rename from .agent/skills-cielonos/narrative-designer/SKILL.md rename to .agents/skills/narrative-designer/SKILL.md diff --git a/.agent/skills-cielonos/project-manager/SKILL.md b/.agents/skills/project-manager/SKILL.md similarity index 100% rename from .agent/skills-cielonos/project-manager/SKILL.md rename to .agents/skills/project-manager/SKILL.md diff --git a/.agent/skills-cielonos/skill-forge/SKILL.md b/.agents/skills/skill-forge/SKILL.md similarity index 100% rename from .agent/skills-cielonos/skill-forge/SKILL.md rename to .agents/skills/skill-forge/SKILL.md diff --git a/.agent/skills-cielonos/unity-tech-art/SKILL.md b/.agents/skills/unity-tech-art/SKILL.md similarity index 100% rename from .agent/skills-cielonos/unity-tech-art/SKILL.md rename to .agents/skills/unity-tech-art/SKILL.md diff --git a/.agent/skills-cielonos/unity-technician/SKILL.md b/.agents/skills/unity-technician/SKILL.md similarity index 100% rename from .agent/skills-cielonos/unity-technician/SKILL.md rename to .agents/skills/unity-technician/SKILL.md diff --git a/.agent/skills-cielonos/unity-technician/knowledge/BehaviorDesignerPro.md b/.agents/skills/unity-technician/knowledge/BehaviorDesignerPro.md similarity index 100% rename from .agent/skills-cielonos/unity-technician/knowledge/BehaviorDesignerPro.md rename to .agents/skills/unity-technician/knowledge/BehaviorDesignerPro.md diff --git a/.agent/skills-cielonos/unity-technician/knowledge/INDEX.md b/.agents/skills/unity-technician/knowledge/INDEX.md similarity index 100% rename from .agent/skills-cielonos/unity-technician/knowledge/INDEX.md rename to .agents/skills/unity-technician/knowledge/INDEX.md diff --git a/.agent/skills-cielonos/unity-vfx/SKILL.md b/.agents/skills/unity-vfx/SKILL.md similarity index 100% rename from .agent/skills-cielonos/unity-vfx/SKILL.md rename to .agents/skills/unity-vfx/SKILL.md diff --git a/.agent/skills-cielonos/unity-vfx/knowledge/INDEX.md b/.agents/skills/unity-vfx/knowledge/INDEX.md similarity index 100% rename from .agent/skills-cielonos/unity-vfx/knowledge/INDEX.md rename to .agents/skills/unity-vfx/knowledge/INDEX.md diff --git a/.agent/skills-cielonos/unity-vfx/knowledge/ParticleBase_Shader_Analysis.md b/.agents/skills/unity-vfx/knowledge/ParticleBase_Shader_Analysis.md similarity index 100% rename from .agent/skills-cielonos/unity-vfx/knowledge/ParticleBase_Shader_Analysis.md rename to .agents/skills/unity-vfx/knowledge/ParticleBase_Shader_Analysis.md diff --git a/Assets/Fonts/SDF/Orbitron/Materials/Orbitron-Regular Blank.mat b/Assets/Fonts/SDF/Orbitron/Materials/Orbitron-Regular Blank.mat new file mode 100644 index 000000000..02e4b80df --- /dev/null +++ b/Assets/Fonts/SDF/Orbitron/Materials/Orbitron-Regular Blank.mat @@ -0,0 +1,682 @@ +%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: Orbitron-Regular Blank + m_Shader: {fileID: 4800000, guid: dd89cf5b9246416f84610a006f916af7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: + - _ISTEXTMESHPRO_ON + - _ISTEXT_ON + - _SHADERFADING_NONE + - _SHADERSPACE_UV + - _TEXTURELAYER1SHEETTOGGLE_ON + - _TEXTURELAYER2SHEETTOGGLE_ON + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AddColorMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _AddHueMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Cube: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CustomFadeFadeMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FaceTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FadingMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _InnerOutlineTintTexture: + m_Texture: {fileID: 2800000, guid: 5af9a397a8643994c829e696a24a7845, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: -6363071002686083598, guid: a7d7716489ce72a4f97f52ce44079ded, type: 2} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetalMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OuterOutlineTintTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OutlineTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _PixelOutlineTintTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _RecolorRGBTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _RecolorRGBYCPTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ShineMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SineGlowMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _StrongTintMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TextureLayer1Texture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TextureLayer2Texture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _UVDistortMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _UberNoiseTexture: + m_Texture: {fileID: 2800000, guid: b8d18cd117976254d94a812a0bfc336e, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _texcoord: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddColorContrast: 0.5 + - _AddColorContrastToggle: 0 + - _AddColorFade: 1 + - _AddColorMaskToggle: 0 + - _AddHueBrightness: 2 + - _AddHueContrast: 0.5 + - _AddHueFade: 1 + - _AddHueMaskToggle: 0 + - _AddHueSaturation: 1 + - _AddHueSpeed: 1 + - _AlphaTintFade: 1 + - _AlphaTintMinAlpha: 0.02 + - _Ambient: 0.5 + - _BakedMaterial: 0 + - _Bevel: 0.5 + - _BevelClamp: 0 + - _BevelOffset: 0 + - _BevelRoundness: 0 + - _BevelWidth: 0 + - _BlackTintFade: 1 + - _BlackTintPower: 4 + - _Brightness: 1 + - _BumpFace: 0 + - _BumpOutline: 0 + - _BurnEdgeNoiseFactor: 0.5 + - _BurnFade: 1 + - _BurnInsideContrast: 2 + - _BurnInsideNoiseFactor: 0.2 + - _BurnRadius: 5 + - _BurnSwirlFactor: 1 + - _BurnWidth: 0.1 + - _CamouflageAnimationToggle: 0 + - _CamouflageContrast: 1 + - _CamouflageDensityA: 0.4 + - _CamouflageDensityB: 0.4 + - _CamouflageFade: 1 + - _CamouflageSmoothnessA: 0.2 + - _CamouflageSmoothnessB: 0.2 + - _CheckerboardDarken: 0.5 + - _CheckerboardTiling: 1 + - _ColorMask: 15 + - _ColorReplaceContrast: 1 + - _ColorReplaceFade: 1 + - _ColorReplaceRange: 0.05 + - _ColorReplaceSmoothness: 0.1 + - _Contrast: 1 + - _CullMode: 0 + - _CustomFadeAlpha: 1 + - _CustomFadeNoiseFactor: 0 + - _CustomFadeSmoothness: 2 + - _Diffuse: 0.5 + - _DirectionalAlphaFadeFade: 0 + - _DirectionalAlphaFadeInvert: 0 + - _DirectionalAlphaFadeNoiseFactor: 0.2 + - _DirectionalAlphaFadeRotation: 0 + - _DirectionalAlphaFadeWidth: 0.2 + - _DirectionalDistortionFade: 0 + - _DirectionalDistortionInvert: 0 + - _DirectionalDistortionNoiseFactor: 0.2 + - _DirectionalDistortionRandomDirection: 0.1 + - _DirectionalDistortionRotation: 0 + - _DirectionalDistortionWidth: 0.5 + - _DirectionalGlowFadeFade: 0 + - _DirectionalGlowFadeInvert: 0 + - _DirectionalGlowFadeNoiseFactor: 0.2 + - _DirectionalGlowFadeRotation: 0 + - _DirectionalGlowFadeWidth: 0.1 + - _EnableAddColor: 0 + - _EnableAddHue: 0 + - _EnableAlphaTint: 0 + - _EnableBlackTint: 0 + - _EnableBrightness: 0 + - _EnableBurn: 0 + - _EnableCamouflage: 0 + - _EnableCheckerboard: 0 + - _EnableColorReplace: 0 + - _EnableContrast: 0 + - _EnableCustomFade: 0 + - _EnableDirectionalAlphaFade: 0 + - _EnableDirectionalDistortion: 0 + - _EnableDirectionalGlowFade: 0 + - _EnableEnchanted: 0 + - _EnableFlame: 0 + - _EnableFrozen: 0 + - _EnableFullAlphaDissolve: 0 + - _EnableFullDistortion: 0 + - _EnableFullGlowDissolve: 0 + - _EnableGaussianBlur: 0 + - _EnableGlitch: 0 + - _EnableHalftone: 0 + - _EnableHologram: 0 + - _EnableHue: 0 + - _EnableInkSpread: 0 + - _EnableInnerOutline: 0 + - _EnableMetal: 0 + - _EnableNegative: 0 + - _EnableOuterOutline: 0 + - _EnablePingPongGlow: 0 + - _EnablePixelOutline: 0 + - _EnablePixelate: 0 + - _EnablePoison: 0 + - _EnableRainbow: 0 + - _EnableRecolorRGB: 0 + - _EnableRecolorRGBYCP: 0 + - _EnableSaturation: 0 + - _EnableScreenTiling: 0 + - _EnableShadow: 0 + - _EnableSharpen: 0 + - _EnableShiftHue: 0 + - _EnableShifting: 0 + - _EnableShine: 0 + - _EnableSineGlow: 0 + - _EnableSineMove: 0 + - _EnableSineRotate: 0 + - _EnableSineScale: 0 + - _EnableSmoke: 0 + - _EnableSmoothPixelArt: 0 + - _EnableSourceAlphaDissolve: 0 + - _EnableSourceGlowDissolve: 0 + - _EnableSplitToning: 0 + - _EnableSqueeze: 0 + - _EnableSquish: 0 + - _EnableStrongTint: 0 + - _EnableTextureLayer1: 0 + - _EnableTextureLayer2: 0 + - _EnableUVDistort: 0 + - _EnableUVRotate: 0 + - _EnableUVScale: 0 + - _EnableUVScroll: 0 + - _EnableVibrate: 0 + - _EnableWiggle: 0 + - _EnableWind: 0 + - _EnableWorldTiling: 0 + - _EnchantedBrightness: 1 + - _EnchantedContrast: 0.5 + - _EnchantedFade: 1 + - _EnchantedLerpToggle: 0 + - _EnchantedRainbowDensity: 0.5 + - _EnchantedRainbowSaturation: 0.8 + - _EnchantedRainbowSpeed: 0.5 + - _EnchantedRainbowToggle: 0 + - _EnchantedReduce: 0 + - _FaceDilate: 0 + - _FaceUVSpeedX: 0 + - _FaceUVSpeedY: 0 + - _FadingFade: 1 + - _FadingNoiseFactor: 0.2 + - _FadingWidth: 0.3 + - _FlameBrightness: 10 + - _FlameNoiseFactor: 2.5 + - _FlameNoiseHeightFactor: 1.5 + - _FlameRadius: 0.2 + - _FlameSmooth: 2 + - _FrozenContrast: 2 + - _FrozenFade: 1 + - _FrozenHighlightContrast: 2 + - _FrozenHighlightDensity: 1 + - _FrozenSnowContrast: 1 + - _FrozenSnowDensity: 0.25 + - _FullAlphaDissolveFade: 0.5 + - _FullAlphaDissolveWidth: 0.5 + - _FullDistortionFade: 1 + - _FullGlowDissolveFade: 0.5 + - _FullGlowDissolveWidth: 0.5 + - _GaussianBlurFade: 1 + - _GaussianBlurOffset: 0.5 + - _GlitchBrightness: 4 + - _GlitchFade: 1 + - _GlitchHueSpeed: 1 + - _GlitchMaskMin: 0.4 + - _GlowInner: 0.05 + - _GlowOffset: 0 + - _GlowOuter: 0.05 + - _GlowPower: 0.75 + - _GradientScale: 10 + - _HalftoneFade: 1 + - _HalftoneFadeWidth: 1.5 + - _HalftoneInvert: 0 + - _HalftoneTiling: 4 + - _HologramContrast: 1 + - _HologramDistortionDensity: 0.5 + - _HologramDistortionOffset: 0.5 + - _HologramDistortionScale: 10 + - _HologramDistortionSpeed: 2 + - _HologramFade: 1 + - _HologramLineFrequency: 500 + - _HologramLineGap: 3 + - _HologramLineSpeed: 0.01 + - _HologramMinAlpha: 0.2 + - _Hue: 0 + - _InkSpreadContrast: 2 + - _InkSpreadDistance: 3 + - _InkSpreadFade: 1 + - _InkSpreadNoiseFactor: 0.5 + - _InkSpreadWidth: 0.2 + - _InnerOutlineDistortionToggle: 0 + - _InnerOutlineFade: 1 + - _InnerOutlineOutlineOnlyToggle: 0 + - _InnerOutlineTextureToggle: 0 + - _InnerOutlineWidth: 0.02 + - _IsText: 1 + - _IsTextMeshPro: 1 + - _LightAngle: 3.1416 + - _MaskSoftnessX: 0 + - _MaskSoftnessY: 0 + - _MetalContrast: 2 + - _MetalFade: 1 + - _MetalHighlightContrast: 2 + - _MetalHighlightDensity: 1 + - _MetalMaskToggle: 0 + - _NegativeFade: 1 + - _OuterOutlineDistortionToggle: 0 + - _OuterOutlineFade: 1 + - _OuterOutlineOutlineOnlyToggle: 0 + - _OuterOutlineTextureToggle: 0 + - _OuterOutlineWidth: 0.04 + - _OutlineSoftness: 0 + - _OutlineUVSpeedX: 0 + - _OutlineUVSpeedY: 0 + - _OutlineWidth: 0 + - _PerspectiveFilter: 0.875 + - _PingPongGlowContrast: 1 + - _PingPongGlowFade: 1 + - _PingPongGlowFrequency: 3 + - _PixelOutlineAlphaLimit: 1 + - _PixelOutlineFade: 1 + - _PixelOutlineOutlineOnlyToggle: 0 + - _PixelOutlineTextureToggle: 0 + - _PixelOutlineWidth: 0 + - _PixelPerfectSpace: 0 + - _PixelPerfectUV: 0 + - _PixelateFade: 1 + - _PixelatePixelDensity: 16 + - _PixelatePixelsPerUnit: 100 + - _PixelsPerUnit: 100 + - _PoisonDensity: 3 + - _PoisonFade: 1 + - _PoisonNoiseBrightness: 2 + - _PoisonRecolorFactor: 0.5 + - _PoisonShiftSpeed: 0.2 + - _RainbowBrightness: 2 + - _RainbowContrast: 1 + - _RainbowDensity: 0.5 + - _RainbowFade: 1 + - _RainbowNoiseFactor: 0.2 + - _RainbowSaturation: 1 + - _RainbowSpeed: 1 + - _RecolorRGBFade: 1 + - _RecolorRGBTextureToggle: 0 + - _RecolorRGBYCPFade: 1 + - _RecolorRGBYCPTextureToggle: 0 + - _RectHeight: 100 + - _RectWidth: 100 + - _Reflectivity: 10 + - _Saturation: 1 + - _ScaleRatioA: 0.9 + - _ScaleRatioB: 0.73125 + - _ScaleRatioC: 0.73125 + - _ScaleX: 1 + - _ScaleY: 1 + - _ScreenTilingPixelsPerUnit: 100 + - _ScreenWidthUnits: 10 + - _ShaderFading: 0 + - _ShaderFlags: 0 + - _ShaderSpace: 0 + - _ShadowFade: 1 + - _SharpenFactor: 4 + - _SharpenFade: 1 + - _SharpenOffset: 2 + - _Sharpness: 0 + - _ShiftHueSpeed: 0.5 + - _ShiftingBrightness: 1 + - _ShiftingContrast: 0.5 + - _ShiftingDensity: 1.5 + - _ShiftingFade: 1 + - _ShiftingRainbowToggle: 0 + - _ShiftingSaturation: 0.8 + - _ShiftingSpeed: 0.5 + - _ShineContrast: 2 + - _ShineFade: 1 + - _ShineFrequency: 0.3 + - _ShineMaskToggle: 0 + - _ShineRotation: 30 + - _ShineSaturation: 0.5 + - _ShineSmooth: 1 + - _ShineSpeed: 5 + - _ShineWidth: 0.1 + - _SineGlowContrast: 1 + - _SineGlowFade: 1 + - _SineGlowFrequency: 4 + - _SineGlowMaskToggle: 0 + - _SineGlowMax: 1 + - _SineGlowMin: 0 + - _SineMoveFade: 1 + - _SineRotateAngle: 15 + - _SineRotateFade: 1 + - _SineRotateFrequency: 1 + - _SineScaleFrequency: 2 + - _SmokeAlpha: 1 + - _SmokeDarkEdge: 1 + - _SmokeNoiseFactor: 0.4 + - _SmokeNoiseScale: 0.5 + - _SmokeSmoothness: 1 + - _SmokeVertexSeed: 0 + - _SourceAlphaDissolveFade: 1 + - _SourceAlphaDissolveInvert: 0 + - _SourceAlphaDissolveNoiseFactor: 0.2 + - _SourceAlphaDissolveWidth: 0.2 + - _SourceGlowDissolveFade: 1 + - _SourceGlowDissolveInvert: 0 + - _SourceGlowDissolveNoiseFactor: 0.2 + - _SourceGlowDissolveWidth: 0.1 + - _SpecularPower: 2 + - _SplitToningBalance: 1 + - _SplitToningContrast: 1 + - _SplitToningFade: 1 + - _SplitToningShift: 0 + - _SpriteSheetFix: 0 + - _SqueezeFade: 1 + - _SqueezePower: 1 + - _SquishFade: 1 + - _SquishFlip: 0 + - _SquishSquish: 0.1 + - _SquishStretch: 0.1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _StrongTintContrast: 0 + - _StrongTintContrastToggle: 0 + - _StrongTintFade: 1 + - _StrongTintMaskToggle: 0 + - _TMPSmoothness: 5 + - _TMPThickness: -0.45 + - _TextureHeight: 2048 + - _TextureLayer1Columns: 3 + - _TextureLayer1Contrast: 1 + - _TextureLayer1ContrastToggle: 0 + - _TextureLayer1EdgeClip: 0.005 + - _TextureLayer1Fade: 1 + - _TextureLayer1Rows: 3 + - _TextureLayer1ScrollToggle: 0 + - _TextureLayer1SheetToggle: 1 + - _TextureLayer1Speed: 20 + - _TextureLayer1StartFrame: 0 + - _TextureLayer2Columns: 3 + - _TextureLayer2Contrast: 1 + - _TextureLayer2ContrastToggle: 0 + - _TextureLayer2EdgeClip: 0.005 + - _TextureLayer2Fade: 1 + - _TextureLayer2Rows: 3 + - _TextureLayer2ScrollToggle: 0 + - _TextureLayer2SheetToggle: 1 + - _TextureLayer2Speed: 20 + - _TextureLayer2StartFrame: 0 + - _TextureWidth: 2048 + - _TilingFix: 0 + - _TimeFPS: 5 + - _TimeFrequency: 2 + - _TimeRange: 0.5 + - _TimeSpeed: 1 + - _TimeValue: 0 + - _ToggleCustomTime: 0 + - _ToggleTimeFPS: 0 + - _ToggleTimeFrequency: 0 + - _ToggleTimeSpeed: 0 + - _ToggleUnscaledTime: 0 + - _UIVertexColorAlwaysGammaSpace: 0 + - _UVDistortFade: 1 + - _UVDistortMaskToggle: 0 + - _UVRotateSpeed: 1 + - _UnderlayDilate: 0 + - _UnderlayOffsetX: 0 + - _UnderlayOffsetY: 0 + - _UnderlaySoftness: 0 + - _UseUIAlphaClip: 0 + - _VertexOffsetX: 0 + - _VertexOffsetY: 0 + - _VertexTintFirst: 0 + - _VibrateFade: 1 + - _VibrateFrequency: 100 + - _VibrateOffset: 0.04 + - _VibrateRotation: 4 + - _WeightBold: 0.75 + - _WeightNormal: 0 + - _WiggleFade: 1 + - _WiggleFixedGroundToggle: 0 + - _WiggleFrequency: 2 + - _WiggleOffset: 0.02 + - _WiggleSpeed: 2 + - _WindFlip: 0 + - _WindHighQualityNoise: 0 + - _WindIsParallax: 0 + - _WindLocalWind: 0 + - _WindMaxIntensity: 0.4 + - _WindMaxRotation: 2 + - _WindMinIntensity: -0.4 + - _WindNoiseScale: 0.1 + - _WindNoiseSpeed: 1 + - _WindRotation: 0 + - _WindRotationWindFactor: 1 + - _WindSquishFactor: 0.3 + - _WindSquishWindFactor: 0 + - _WindXPosition: 0 + - _WorldTilingPixelsPerUnit: 100 + m_Colors: + - _AddColorColor: {r: 2.996078, g: 0, b: 0, a: 0} + - _AlphaTintColor: {r: 95.87451, g: 5.019608, b: 95.87451, a: 0} + - _BlackTintColor: {r: 0, g: 0, b: 1, a: 0} + - _BurnEdgeColor: {r: 11.98431, g: 1.129412, b: 0.1254902, a: 0} + - _BurnEdgeNoiseScale: {r: 0.3, g: 0.3, b: 0, a: 0} + - _BurnInsideColor: {r: 0.75, g: 0.5625, b: 0.525, a: 0} + - _BurnInsideNoiseColor: {r: 3084.047, g: 257.0039, b: 0, a: 0} + - _BurnInsideNoiseScale: {r: 0.5, g: 0.5, b: 0, a: 0} + - _BurnPosition: {r: 0, g: 5, b: 0, a: 0} + - _BurnSwirlNoiseScale: {r: 0.1, g: 0.1, b: 0, a: 0} + - _CamouflageBaseColor: {r: 0.7450981, g: 0.7254902, b: 0.5686274, a: 0} + - _CamouflageColorA: {r: 0.62745106, g: 0.5882353, b: 0.43137258, a: 0} + - _CamouflageColorB: {r: 0.47058815, g: 0.43137258, b: 0.31372547, a: 0} + - _CamouflageDistortionIntensity: {r: 0.1, g: 0.1, b: 0, a: 0} + - _CamouflageDistortionScale: {r: 0.5, g: 0.5, b: 0, a: 0} + - _CamouflageDistortionSpeed: {r: 0.1, g: 0.1, b: 0, a: 0} + - _CamouflageNoiseScaleA: {r: 0.25, g: 0.25, b: 0, a: 0} + - _CamouflageNoiseScaleB: {r: 0.25, g: 0.25, b: 0, a: 0} + - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _ColorReplaceFromColor: {r: 0, g: 0, b: 0, a: 0} + - _ColorReplaceToColor: {r: 0, g: 0, b: 0.2, a: 0} + - _CustomFadeNoiseScale: {r: 1, g: 1, b: 0, a: 0} + - _DirectionalAlphaFadeNoiseScale: {r: 0.3, g: 0.3, b: 0, a: 0} + - _DirectionalDistortionDistortion: {r: 0, g: 0.1, b: 0, a: 0} + - _DirectionalDistortionDistortionScale: {r: 1, g: 1, b: 0, a: 0} + - _DirectionalDistortionNoiseScale: {r: 0.4, g: 0.4, b: 0, a: 0} + - _DirectionalGlowFadeEdgeColor: {r: 11.98431, g: 0.6901961, b: 0.6901961, a: 0} + - _DirectionalGlowFadeNoiseScale: {r: 0.4, g: 0.4, b: 0, a: 0} + - _EnchantedHighColor: {r: 0, g: 0.7098798, b: 4.237095, a: 0} + - _EnchantedLowColor: {r: 2.996078, g: 0, b: 0, a: 0} + - _EnchantedScale: {r: 0.1, g: 0.1, b: 0, a: 0} + - _EnchantedSpeed: {r: 0, g: 1, b: 0, a: 0} + - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} + - _FaceColor: {r: 1, g: 1, b: 1, a: 1} + - _FadingNoiseScale: {r: 0.2, g: 0.2, b: 0, a: 0} + - _FadingPosition: {r: 0, g: 0, b: 0, a: 0} + - _FlameNoiseScale: {r: 1.2, g: 0.8, b: 0, a: 0} + - _FlameSpeed: {r: 0, g: -0.5, b: 0, a: 0} + - _FrozenHighlightColor: {r: 1.797647, g: 4.604501, b: 5.992157, a: 1} + - _FrozenHighlightDistortion: {r: 0.5, g: 0.5, b: 0, a: 0} + - _FrozenHighlightDistortionScale: {r: 0.2, g: 0.2, b: 0, a: 0} + - _FrozenHighlightDistortionSpeed: {r: -0.05, g: -0.05, b: 0, a: 0} + - _FrozenHighlightScale: {r: 0.2, g: 0.2, b: 0, a: 0} + - _FrozenHighlightSpeed: {r: 0.1, g: 0.1, b: 0, a: 0} + - _FrozenSnowColor: {r: 1.123529, g: 1.373203, b: 1.498039, a: 0} + - _FrozenSnowScale: {r: 0.1, g: 0.1, b: 0, a: 0} + - _FrozenTint: {r: 1.819608, g: 4.611765, b: 5.992157, a: 0} + - _FullAlphaDissolveNoiseScale: {r: 0.1, g: 0.1, b: 0, a: 0} + - _FullDistortionDistortion: {r: 0.2, g: 0.2, b: 0, a: 0} + - _FullDistortionNoiseScale: {r: 0.5, g: 0.5, b: 0, a: 0} + - _FullGlowDissolveEdgeColor: {r: 11.98431, g: 0.627451, b: 0.627451, a: 0} + - _FullGlowDissolveNoiseScale: {r: 0.1, g: 0.1, b: 0, a: 0} + - _GlitchDistortion: {r: 0.1, g: 0, b: 0, a: 0} + - _GlitchDistortionScale: {r: 0, g: 3, b: 0, a: 0} + - _GlitchDistortionSpeed: {r: 0, g: 1, b: 0, a: 0} + - _GlitchMaskScale: {r: 0, g: 0.2, b: 0, a: 0} + - _GlitchMaskSpeed: {r: 0, g: 4, b: 0, a: 0} + - _GlitchNoiseScale: {r: 0, g: 3, b: 0, a: 0} + - _GlitchNoiseSpeed: {r: 0, g: 1, b: 0, a: 0} + - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} + - _HalftonePosition: {r: 0, g: 0, b: 0, a: 0} + - _HologramTint: {r: 0.3137255, g: 1.662745, b: 2.996078, a: 1} + - _InkSpreadColor: {r: 8.47419, g: 5.013525, b: 0.08873497, a: 0} + - _InkSpreadNoiseScale: {r: 0.4, g: 0.4, b: 0, a: 0} + - _InkSpreadPosition: {r: 0.5, g: -1, b: 0, a: 0} + - _InnerOutlineColor: {r: 11.98431, g: 1.254902, b: 1.254902, a: 1} + - _InnerOutlineDistortionIntensity: {r: 0.01, g: 0.01, b: 0, a: 0} + - _InnerOutlineNoiseScale: {r: 4, g: 4, b: 0, a: 0} + - _InnerOutlineNoiseSpeed: {r: 0, g: 0.1, b: 0, a: 0} + - _InnerOutlineTextureSpeed: {r: 0.5, g: 0, b: 0, a: 0} + - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} + - _MetalColor: {r: 5.992157, g: 3.639216, b: 0.3137255, a: 1} + - _MetalHighlightColor: {r: 5.992157, g: 3.796078, b: 0.6588235, a: 1} + - _MetalNoiseDistortion: {r: 0.5, g: 0.5, b: 0, a: 0} + - _MetalNoiseDistortionScale: {r: 0.2, g: 0.2, b: 0, a: 0} + - _MetalNoiseDistortionSpeed: {r: -0.05, g: -0.05, b: 0, a: 0} + - _MetalNoiseScale: {r: 0.25, g: 0.25, b: 0, a: 0} + - _MetalNoiseSpeed: {r: 0.05, g: 0.05, b: 0, a: 0} + - _OuterOutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _OuterOutlineDistortionIntensity: {r: 0.01, g: 0.01, b: 0, a: 0} + - _OuterOutlineNoiseScale: {r: 4, g: 4, b: 0, a: 0} + - _OuterOutlineNoiseSpeed: {r: 0, g: 0.1, b: 0, a: 0} + - _OuterOutlineTextureSpeed: {r: 0.5, g: 0, b: 0, a: 0} + - _OutlineColor: {r: 1, g: 1, b: 1, a: 1} + - _PingPongGlowFrom: {r: 5.992157, g: 0.1882353, b: 0.1882353, a: 0} + - _PingPongGlowTo: {r: 0.1882353, g: 0.1882353, b: 5.992157, a: 0} + - _PixelOutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _PixelOutlineTextureSpeed: {r: 0.5, g: 0, b: 0, a: 0} + - _PoisonColor: {r: 0.3137255, g: 2.996078, b: 0.3137255, a: 0} + - _PoisonNoiseScale: {r: 0.2, g: 0.2, b: 0, a: 0} + - _PoisonNoiseSpeed: {r: 0, g: -0.2, b: 0, a: 0} + - _RainbowCenter: {r: 0, g: 0, b: 0, a: 0} + - _RainbowNoiseScale: {r: 0.2, g: 0.2, b: 0, a: 0} + - _RecolorRGBBlueTint: {r: 1, g: 1, b: 1, a: 0.5019608} + - _RecolorRGBGreenTint: {r: 1, g: 1, b: 1, a: 0.5019608} + - _RecolorRGBRedTint: {r: 1, g: 1, b: 1, a: 0.5019608} + - _RecolorRGBYCPBlueTint: {r: 1, g: 1, b: 1, a: 0.5019608} + - _RecolorRGBYCPCyanTint: {r: 1, g: 1, b: 1, a: 0.5019608} + - _RecolorRGBYCPGreenTint: {r: 1, g: 1, b: 1, a: 0.5019608} + - _RecolorRGBYCPPurpleTint: {r: 1, g: 1, b: 1, a: 0.5019608} + - _RecolorRGBYCPRedTint: {r: 1, g: 1, b: 1, a: 0.5019608} + - _RecolorRGBYCPYellowTint: {r: 1, g: 1, b: 1, a: 0.5019608} + - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} + - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _ScreenTilingOffset: {r: 0, g: 0, b: 0, a: 0} + - _ScreenTilingScale: {r: 1, g: 1, b: 0, a: 0} + - _ShadowColor: {r: 0, g: 0, b: 0, a: 0} + - _ShadowOffset: {r: 0.05, g: -0.05, b: 0, a: 0} + - _ShiftingColorA: {r: 1.498039, g: 0, b: 0, a: 0} + - _ShiftingColorB: {r: 1.498039, g: 0.7490196, b: 0, a: 0} + - _ShineColor: {r: 11.98431, g: 11.98431, b: 11.98431, a: 0} + - _SineGlowColor: {r: 0, g: 2.007843, b: 2.996078, a: 0} + - _SineMoveFrequency: {r: 1, g: 1, b: 0, a: 0} + - _SineMoveOffset: {r: 0, g: 0.5, b: 0, a: 0} + - _SineRotatePivot: {r: 0.5, g: 0.5, b: 0, a: 0} + - _SineScaleFactor: {r: 0.2, g: 0.2, b: 0, a: 0} + - _SourceAlphaDissolveNoiseScale: {r: 0.3, g: 0.3, b: 0, a: 0} + - _SourceAlphaDissolvePosition: {r: 0, g: 0, b: 0, a: 0} + - _SourceGlowDissolveEdgeColor: {r: 11.98431, g: 0.627451, b: 0.627451, a: 0} + - _SourceGlowDissolveNoiseScale: {r: 0.3, g: 0.3, b: 0, a: 0} + - _SourceGlowDissolvePosition: {r: 0, g: 0, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _SplitToningHighlightsColor: {r: 1, g: 0.1, b: 0.1, a: 0} + - _SplitToningShadowsColor: {r: 0.1, g: 0.4000002, b: 1, a: 0} + - _SpriteSheetRect: {r: 0, g: 0, b: 1, a: 1} + - _SqueezeCenter: {r: 0.5, g: 0.5, b: 0, a: 0} + - _SqueezeScale: {r: 2, g: 0, b: 0, a: 0} + - _StrongTintTint: {r: 1, g: 1, b: 1, a: 1} + - _TextureLayer1Color: {r: 0.4494117, g: 1.298301, b: 2.996079, a: 1} + - _TextureLayer1Offset: {r: 0, g: 0, b: 0, a: 0} + - _TextureLayer1Scale: {r: 1, g: 1, b: 0, a: 0} + - _TextureLayer1ScrollSpeed: {r: 0, g: 1, b: 0, a: 0} + - _TextureLayer2Color: {r: 0.4494117, g: 1.298301, b: 2.996079, a: 1} + - _TextureLayer2Offset: {r: 0, g: 0, b: 0, a: 0} + - _TextureLayer2Scale: {r: 1, g: 1, b: 0, a: 0} + - _TextureLayer2ScrollSpeed: {r: 0, g: 1, b: 0, a: 0} + - _UVDistortFrom: {r: -0.02, g: -0.02, b: 0, a: 0} + - _UVDistortNoiseScale: {r: 0.1, g: 0.1, b: 0, a: 0} + - _UVDistortSpeed: {r: 2, g: 2, b: 0, a: 0} + - _UVDistortTo: {r: 0.02, g: 0.02, b: 0, a: 0} + - _UVRotatePivot: {r: 0.5, g: 0.5, b: 0, a: 0} + - _UVScalePivot: {r: 0.5, g: 0.5, b: 0, a: 0} + - _UVScaleScale: {r: 1, g: 1, b: 0, a: 0} + - _UVScrollSpeed: {r: 0.2, g: 0, b: 0, a: 0} + - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} + - _WorldTilingOffset: {r: 0, g: 0, b: 0, a: 0} + - _WorldTilingScale: {r: 1, g: 1, b: 0, a: 0} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Fonts/SDF/Orbitron/Materials/Orbitron-Regular Blank.mat.meta b/Assets/Fonts/SDF/Orbitron/Materials/Orbitron-Regular Blank.mat.meta new file mode 100644 index 000000000..87d0b7449 --- /dev/null +++ b/Assets/Fonts/SDF/Orbitron/Materials/Orbitron-Regular Blank.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 65c967fb19fb43f4eb05dfded0e555d5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Documentation.pdf b/Assets/OtherPlugins/HUD-Navigation-System/Documentation.pdf index ff1fcd7c3..6a65967b9 100644 Binary files a/Assets/OtherPlugins/HUD-Navigation-System/Documentation.pdf and b/Assets/OtherPlugins/HUD-Navigation-System/Documentation.pdf differ diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Documentation.pdf.meta b/Assets/OtherPlugins/HUD-Navigation-System/Documentation.pdf.meta index d70c748ea..ab73e71ce 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Documentation.pdf.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Documentation.pdf.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Documentation.pdf - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Documentation.pdf + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/README.txt b/Assets/OtherPlugins/HUD-Navigation-System/README.txt index 30f0c34bd..6b7a3acbd 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/README.txt +++ b/Assets/OtherPlugins/HUD-Navigation-System/README.txt @@ -1,10 +1,10 @@ Check out the example scene to see HNS in action! DOCUMENTATION: -http://docs.sickscore.games/hud-navigation-system/ +https://docs.sickscore.games/hud-navigation-system YOUTUBE CHANNEL: -https://www.youtube.com/channel/UCep_wCCGKovzb7pKZ2nS-TA +https://www.youtube.com/@SickscoreGames ASSET STORE PAGE: https://assetstore.unity.com/packages/slug/103056 \ No newline at end of file diff --git a/Assets/OtherPlugins/HUD-Navigation-System/README.txt.meta b/Assets/OtherPlugins/HUD-Navigation-System/README.txt.meta index 23fdf92fb..9ad7af643 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/README.txt.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/README.txt.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/README.txt - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/README.txt + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Bold SDF.asset b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Bold SDF.asset new file mode 100644 index 000000000..d8951a83c --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Bold SDF.asset @@ -0,0 +1,1608 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &-349563783649582222 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: OpenSans-Bold Atlas Material + m_Shader: {fileID: 4800000, guid: 68e6db2ebdc24f95958faec2be5558d6, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Cube: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FaceTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 3351187585998663029} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OutlineTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _Ambient: 0.5 + - _Bevel: 0.5 + - _BevelClamp: 0 + - _BevelOffset: 0 + - _BevelRoundness: 0 + - _BevelWidth: 0 + - _BumpFace: 0 + - _BumpOutline: 0 + - _ColorMask: 15 + - _CullMode: 0 + - _Diffuse: 0.5 + - _FaceDilate: 0 + - _FaceUVSpeedX: 0 + - _FaceUVSpeedY: 0 + - _GlowInner: 0.05 + - _GlowOffset: 0 + - _GlowOuter: 0.05 + - _GlowPower: 0.75 + - _GradientScale: 10 + - _LightAngle: 3.1416 + - _MaskSoftnessX: 0 + - _MaskSoftnessY: 0 + - _OutlineSoftness: 0 + - _OutlineUVSpeedX: 0 + - _OutlineUVSpeedY: 0 + - _OutlineWidth: 0 + - _PerspectiveFilter: 0.875 + - _Reflectivity: 10 + - _ScaleRatioA: 0.9 + - _ScaleRatioB: 0.73125 + - _ScaleRatioC: 0.73125 + - _ScaleX: 1 + - _ScaleY: 1 + - _ShaderFlags: 0 + - _Sharpness: 0 + - _SpecularPower: 2 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _TextureHeight: 1024 + - _TextureWidth: 1024 + - _UnderlayDilate: 0 + - _UnderlayOffsetX: 0 + - _UnderlayOffsetY: 0 + - _UnderlaySoftness: 0 + - _VertexOffsetX: 0 + - _VertexOffsetY: 0 + - _WeightBold: 0.75 + - _WeightNormal: 0 + m_Colors: + - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} + - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} + - _FaceColor: {r: 1, g: 1, b: 1, a: 1} + - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} + - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} + - _OutlineColor: {r: 0.98564005, g: 1, b: 0, a: 1} + - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} + - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} + m_BuildTextureStacks: [] +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 71c1514a6bd24e1e882cebbe1904ce04, type: 3} + m_Name: OpenSans-Bold SDF + m_EditorClassIdentifier: + hashCode: -766528734 + material: {fileID: -349563783649582222} + materialHashCode: 598723522 + m_Version: 1.1.0 + m_SourceFontFileGUID: 6ebf2a689a7843348a97bb68140c32a8 + m_SourceFontFile_EditorRef: {fileID: 12800000, guid: 6ebf2a689a7843348a97bb68140c32a8, type: 3} + m_SourceFontFile: {fileID: 12800000, guid: 6ebf2a689a7843348a97bb68140c32a8, type: 3} + m_AtlasPopulationMode: 1 + m_FaceInfo: + m_FaceIndex: 0 + m_FamilyName: Open Sans + m_StyleName: Bold + m_PointSize: 90 + m_Scale: 1 + m_UnitsPerEM: 2048 + m_LineHeight: 100 + m_AscentLine: 96.19629 + m_CapLine: 64 + m_MeanLine: 49 + m_Baseline: 0 + m_DescentLine: -26.367188 + m_SuperscriptOffset: 96.19629 + m_SuperscriptSize: 0.5 + m_SubscriptOffset: -26.367188 + m_SubscriptSize: 0.5 + m_UnderlineOffset: -9.008789 + m_UnderlineThickness: 4.482422 + m_StrikethroughOffset: 19.6 + m_StrikethroughThickness: 4.482422 + m_TabWidth: 23 + m_GlyphTable: + - m_Index: 3 + m_Metrics: + m_Width: 0 + m_Height: 0 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 23.375 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 0 + m_Height: 0 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 19 + m_Metrics: + m_Width: 44.921875 + m_Height: 66.140625 + m_HorizontalBearingX: 3.25 + m_HorizontalBearingY: 65.265625 + m_HorizontalAdvance: 51.375 + m_GlyphRect: + m_X: 154 + m_Y: 10 + m_Width: 46 + m_Height: 67 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 20 + m_Metrics: + m_Width: 31.859375 + m_Height: 64.25 + m_HorizontalBearingX: 5.3125 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 51.375 + m_GlyphRect: + m_X: 284 + m_Y: 95 + m_Width: 33 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 21 + m_Metrics: + m_Width: 45.09375 + m_Height: 65.171875 + m_HorizontalBearingX: 3.421875 + m_HorizontalBearingY: 65.171875 + m_HorizontalAdvance: 51.375 + m_GlyphRect: + m_X: 219 + m_Y: 95 + m_Width: 46 + m_Height: 66 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 22 + m_Metrics: + m_Width: 44.484375 + m_Height: 66.046875 + m_HorizontalBearingX: 3.421875 + m_HorizontalBearingY: 65.171875 + m_HorizontalAdvance: 51.375 + m_GlyphRect: + m_X: 10 + m_Y: 45 + m_Width: 45 + m_Height: 67 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 23 + m_Metrics: + m_Width: 48.4375 + m_Height: 64.25 + m_HorizontalBearingX: 1.53125 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 51.375 + m_GlyphRect: + m_X: 74 + m_Y: 45 + m_Width: 49 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 24 + m_Metrics: + m_Width: 42.9375 + m_Height: 65.125 + m_HorizontalBearingX: 4.390625 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 51.375 + m_GlyphRect: + m_X: 284 + m_Y: 10 + m_Width: 44 + m_Height: 66 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 25 + m_Metrics: + m_Width: 45.34375 + m_Height: 65.875 + m_HorizontalBearingX: 3.171875 + m_HorizontalBearingY: 65 + m_HorizontalAdvance: 51.375 + m_GlyphRect: + m_X: 219 + m_Y: 10 + m_Width: 46 + m_Height: 66 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 26 + m_Metrics: + m_Width: 46.09375 + m_Height: 64.15625 + m_HorizontalBearingX: 2.421875 + m_HorizontalBearingY: 64.15625 + m_HorizontalAdvance: 51.375 + m_GlyphRect: + m_X: 74 + m_Y: 129 + m_Width: 47 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 27 + m_Metrics: + m_Width: 45.078125 + m_Height: 65.953125 + m_HorizontalBearingX: 3.171875 + m_HorizontalBearingY: 65.078125 + m_HorizontalAdvance: 51.375 + m_GlyphRect: + m_X: 347 + m_Y: 10 + m_Width: 46 + m_Height: 67 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 28 + m_Metrics: + m_Width: 45.34375 + m_Height: 65.875 + m_HorizontalBearingX: 2.90625 + m_HorizontalBearingY: 65 + m_HorizontalAdvance: 51.375 + m_GlyphRect: + m_X: 142 + m_Y: 96 + m_Width: 47 + m_Height: 66 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 38 + m_Metrics: + m_Width: 48.953125 + m_Height: 66.046875 + m_HorizontalBearingX: 5.234375 + m_HorizontalBearingY: 65.171875 + m_HorizontalAdvance: 57.34375 + m_GlyphRect: + m_X: 412 + m_Y: 94 + m_Width: 50 + m_Height: 67 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 39 + m_Metrics: + m_Width: 53.296875 + m_Height: 64.25 + m_HorizontalBearingX: 8.09375 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 66.625 + m_GlyphRect: + m_X: 272 + m_Y: 249 + m_Width: 54 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 40 + m_Metrics: + m_Width: 37 + m_Height: 64.25 + m_HorizontalBearingX: 8.09375 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 50.40625 + m_GlyphRect: + m_X: 596 + m_Y: 10 + m_Width: 38 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 49 + m_Metrics: + m_Width: 56.984375 + m_Height: 64.25 + m_HorizontalBearingX: 8.09375 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 73.171875 + m_GlyphRect: + m_X: 412 + m_Y: 10 + m_Width: 58 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 50 + m_Metrics: + m_Width: 61.171875 + m_Height: 66.140625 + m_HorizontalBearingX: 5.234375 + m_HorizontalBearingY: 65.265625 + m_HorizontalAdvance: 71.625 + m_GlyphRect: + m_X: 481 + m_Y: 165 + m_Width: 62 + m_Height: 67 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 51 + m_Metrics: + m_Width: 44.375 + m_Height: 64.25 + m_HorizontalBearingX: 8.09375 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 56.515625 + m_GlyphRect: + m_X: 79 + m_Y: 251 + m_Width: 45 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 54 + m_Metrics: + m_Width: 41.890625 + m_Height: 66.046875 + m_HorizontalBearingX: 4.125 + m_HorizontalBearingY: 65.171875 + m_HorizontalAdvance: 49.578125 + m_GlyphRect: + m_X: 10 + m_Y: 131 + m_Width: 43 + m_Height: 67 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 56 + m_Metrics: + m_Width: 52.734375 + m_Height: 65.125 + m_HorizontalBearingX: 7.640625 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 68.03125 + m_GlyphRect: + m_X: 345 + m_Y: 272 + m_Width: 54 + m_Height: 66 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 58 + m_Metrics: + m_Width: 87.015625 + m_Height: 64.25 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 87.015625 + m_GlyphRect: + m_X: 489 + m_Y: 10 + m_Width: 88 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 62 + m_Metrics: + m_Width: 21.265625 + m_Height: 78.484375 + m_HorizontalBearingX: 6.28125 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 29.796875 + m_GlyphRect: + m_X: 747 + m_Y: 10 + m_Width: 22 + m_Height: 80 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 64 + m_Metrics: + m_Width: 21.28125 + m_Height: 78.484375 + m_HorizontalBearingX: 2.234375 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 29.796875 + m_GlyphRect: + m_X: 653 + m_Y: 80 + m_Width: 22 + m_Height: 80 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 66 + m_Metrics: + m_Width: 37.34375 + m_Height: 6.140625 + m_HorizontalBearingX: -0.171875 + m_HorizontalBearingY: -8.09375 + m_HorizontalAdvance: 37 + m_GlyphRect: + m_X: 96 + m_Y: 10 + m_Width: 39 + m_Height: 7 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 68 + m_Metrics: + m_Width: 43.8125 + m_Height: 51.015625 + m_HorizontalBearingX: 3.78125 + m_HorizontalBearingY: 50.140625 + m_HorizontalAdvance: 54.359375 + m_GlyphRect: + m_X: 208 + m_Y: 180 + m_Width: 45 + m_Height: 52 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 70 + m_Metrics: + m_Width: 39.421875 + m_Height: 50.921875 + m_HorizontalBearingX: 4.046875 + m_HorizontalBearingY: 50.046875 + m_HorizontalAdvance: 46.28125 + m_GlyphRect: + m_X: 10 + m_Y: 309 + m_Width: 40 + m_Height: 52 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 72 + m_Metrics: + m_Width: 45.265625 + m_Height: 50.921875 + m_HorizontalBearingX: 4.046875 + m_HorizontalBearingY: 50.046875 + m_HorizontalAdvance: 53.171875 + m_GlyphRect: + m_X: 481 + m_Y: 94 + m_Width: 46 + m_Height: 52 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 74 + m_Metrics: + m_Width: 49.53125 + m_Height: 71.671875 + m_HorizontalBearingX: 0.265625 + m_HorizontalBearingY: 50.046875 + m_HorizontalAdvance: 50.84375 + m_GlyphRect: + m_X: 10 + m_Y: 217 + m_Width: 50 + m_Height: 73 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 75 + m_Metrics: + m_Width: 45.359375 + m_Height: 68.375 + m_HorizontalBearingX: 7.03125 + m_HorizontalBearingY: 68.375 + m_HorizontalAdvance: 59.15625 + m_GlyphRect: + m_X: 336 + m_Y: 96 + m_Width: 46 + m_Height: 69 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 76 + m_Metrics: + m_Width: 14.59375 + m_Height: 68.375 + m_HorizontalBearingX: 6.453125 + m_HorizontalBearingY: 68.375 + m_HorizontalAdvance: 27.46875 + m_GlyphRect: + m_X: 562 + m_Y: 165 + m_Width: 16 + m_Height: 69 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 78 + m_Metrics: + m_Width: 48.78125 + m_Height: 68.375 + m_HorizontalBearingX: 7.03125 + m_HorizontalBearingY: 68.375 + m_HorizontalAdvance: 55.8125 + m_GlyphRect: + m_X: 466 + m_Y: 251 + m_Width: 49 + m_Height: 69 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 79 + m_Metrics: + m_Width: 13.40625 + m_Height: 68.375 + m_HorizontalBearingX: 7.03125 + m_HorizontalBearingY: 68.375 + m_HorizontalAdvance: 27.46875 + m_GlyphRect: + m_X: 613 + m_Y: 94 + m_Width: 14 + m_Height: 69 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 80 + m_Metrics: + m_Width: 74.625 + m_Height: 50.046875 + m_HorizontalBearingX: 7.03125 + m_HorizontalBearingY: 50.046875 + m_HorizontalAdvance: 88.375 + m_GlyphRect: + m_X: 653 + m_Y: 10 + m_Width: 75 + m_Height: 51 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 81 + m_Metrics: + m_Width: 45.359375 + m_Height: 50.046875 + m_HorizontalBearingX: 7.03125 + m_HorizontalBearingY: 50.046875 + m_HorizontalAdvance: 59.15625 + m_GlyphRect: + m_X: 140 + m_Y: 181 + m_Width: 46 + m_Height: 51 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 82 + m_Metrics: + m_Width: 47.640625 + m_Height: 50.921875 + m_HorizontalBearingX: 4.046875 + m_HorizontalBearingY: 50.046875 + m_HorizontalAdvance: 55.71875 + m_GlyphRect: + m_X: 546 + m_Y: 94 + m_Width: 48 + m_Height: 52 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 83 + m_Metrics: + m_Width: 45.875 + m_Height: 71.671875 + m_HorizontalBearingX: 7.03125 + m_HorizontalBearingY: 50.046875 + m_HorizontalAdvance: 56.953125 + m_GlyphRect: + m_X: 401 + m_Y: 180 + m_Width: 46 + m_Height: 73 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 85 + m_Metrics: + m_Width: 31.953125 + m_Height: 50.046875 + m_HorizontalBearingX: 7.03125 + m_HorizontalBearingY: 50.046875 + m_HorizontalAdvance: 40.875 + m_GlyphRect: + m_X: 284 + m_Y: 179 + m_Width: 32 + m_Height: 51 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 528 + m_Metrics: + m_Width: 66.671875 + m_Height: 14.9375 + m_HorizontalBearingX: 5.140625 + m_HorizontalBearingY: 13.75 + m_HorizontalAdvance: 76.953125 + m_GlyphRect: + m_X: 10 + m_Y: 10 + m_Width: 67 + m_Height: 16 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + m_CharacterTable: + - m_ElementType: 1 + m_Unicode: 32 + m_GlyphIndex: 3 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 48 + m_GlyphIndex: 19 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 49 + m_GlyphIndex: 20 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 50 + m_GlyphIndex: 21 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 51 + m_GlyphIndex: 22 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 52 + m_GlyphIndex: 23 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 53 + m_GlyphIndex: 24 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 54 + m_GlyphIndex: 25 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 55 + m_GlyphIndex: 26 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 56 + m_GlyphIndex: 27 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 57 + m_GlyphIndex: 28 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 67 + m_GlyphIndex: 38 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 68 + m_GlyphIndex: 39 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 69 + m_GlyphIndex: 40 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 78 + m_GlyphIndex: 49 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 79 + m_GlyphIndex: 50 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 80 + m_GlyphIndex: 51 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 83 + m_GlyphIndex: 54 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 85 + m_GlyphIndex: 56 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 87 + m_GlyphIndex: 58 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 91 + m_GlyphIndex: 62 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 93 + m_GlyphIndex: 64 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 95 + m_GlyphIndex: 66 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 97 + m_GlyphIndex: 68 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 99 + m_GlyphIndex: 70 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 101 + m_GlyphIndex: 72 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 103 + m_GlyphIndex: 74 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 104 + m_GlyphIndex: 75 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 105 + m_GlyphIndex: 76 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 107 + m_GlyphIndex: 78 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 108 + m_GlyphIndex: 79 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 109 + m_GlyphIndex: 80 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 110 + m_GlyphIndex: 81 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 111 + m_GlyphIndex: 82 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 112 + m_GlyphIndex: 83 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 114 + m_GlyphIndex: 85 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8230 + m_GlyphIndex: 528 + m_Scale: 1 + m_AtlasTextures: + - {fileID: 3351187585998663029} + m_AtlasTextureIndex: 0 + m_IsMultiAtlasTexturesEnabled: 0 + m_ClearDynamicDataOnBuild: 0 + m_UsedGlyphRects: + - m_X: 0 + m_Y: 0 + m_Width: 86 + m_Height: 35 + - m_X: 86 + m_Y: 0 + m_Width: 58 + m_Height: 26 + - m_X: 144 + m_Y: 0 + m_Width: 65 + m_Height: 86 + - m_X: 0 + m_Y: 35 + m_Width: 64 + m_Height: 86 + - m_X: 64 + m_Y: 35 + m_Width: 68 + m_Height: 84 + - m_X: 209 + m_Y: 0 + m_Width: 65 + m_Height: 85 + - m_X: 274 + m_Y: 0 + m_Width: 63 + m_Height: 85 + - m_X: 337 + m_Y: 0 + m_Width: 65 + m_Height: 86 + - m_X: 209 + m_Y: 85 + m_Width: 65 + m_Height: 85 + - m_X: 132 + m_Y: 86 + m_Width: 66 + m_Height: 85 + - m_X: 274 + m_Y: 85 + m_Width: 52 + m_Height: 84 + - m_X: 64 + m_Y: 119 + m_Width: 66 + m_Height: 84 + - m_X: 402 + m_Y: 0 + m_Width: 77 + m_Height: 84 + - m_X: 0 + m_Y: 121 + m_Width: 62 + m_Height: 86 + - m_X: 479 + m_Y: 0 + m_Width: 107 + m_Height: 84 + - m_X: 586 + m_Y: 0 + m_Width: 57 + m_Height: 84 + - m_X: 643 + m_Y: 0 + m_Width: 94 + m_Height: 70 + - m_X: 737 + m_Y: 0 + m_Width: 41 + m_Height: 99 + - m_X: 643 + m_Y: 70 + m_Width: 41 + m_Height: 99 + - m_X: 402 + m_Y: 84 + m_Width: 69 + m_Height: 86 + - m_X: 326 + m_Y: 86 + m_Width: 65 + m_Height: 88 + - m_X: 198 + m_Y: 170 + m_Width: 64 + m_Height: 71 + - m_X: 130 + m_Y: 171 + m_Width: 65 + m_Height: 70 + - m_X: 0 + m_Y: 207 + m_Width: 69 + m_Height: 92 + - m_X: 471 + m_Y: 84 + m_Width: 65 + m_Height: 71 + - m_X: 536 + m_Y: 84 + m_Width: 67 + m_Height: 71 + - m_X: 603 + m_Y: 84 + m_Width: 33 + m_Height: 88 + - m_X: 274 + m_Y: 169 + m_Width: 51 + m_Height: 70 + - m_X: 471 + m_Y: 155 + m_Width: 81 + m_Height: 86 + - m_X: 391 + m_Y: 170 + m_Width: 65 + m_Height: 92 + - m_X: 262 + m_Y: 239 + m_Width: 73 + m_Height: 84 + - m_X: 69 + m_Y: 241 + m_Width: 64 + m_Height: 84 + - m_X: 552 + m_Y: 155 + m_Width: 35 + m_Height: 88 + - m_X: 0 + m_Y: 299 + m_Width: 59 + m_Height: 71 + - m_X: 456 + m_Y: 241 + m_Width: 68 + m_Height: 88 + - m_X: 335 + m_Y: 262 + m_Width: 73 + m_Height: 85 + m_FreeGlyphRects: + - m_X: 86 + m_Y: 26 + m_Width: 58 + m_Height: 9 + - m_X: 132 + m_Y: 26 + m_Width: 12 + m_Height: 60 + - m_X: 778 + m_Y: 0 + m_Width: 245 + m_Height: 1023 + - m_X: 684 + m_Y: 99 + m_Width: 339 + m_Height: 924 + - m_X: 684 + m_Y: 70 + m_Width: 53 + m_Height: 953 + - m_X: 326 + m_Y: 85 + m_Width: 11 + m_Height: 1 + - m_X: 198 + m_Y: 86 + m_Width: 11 + m_Height: 84 + - m_X: 130 + m_Y: 119 + m_Width: 2 + m_Height: 52 + - m_X: 195 + m_Y: 171 + m_Width: 3 + m_Height: 852 + - m_X: 62 + m_Y: 121 + m_Width: 2 + m_Height: 86 + - m_X: 62 + m_Y: 203 + m_Width: 68 + m_Height: 4 + - m_X: 636 + m_Y: 169 + m_Width: 387 + m_Height: 854 + - m_X: 636 + m_Y: 84 + m_Width: 7 + m_Height: 939 + - m_X: 391 + m_Y: 86 + m_Width: 11 + m_Height: 84 + - m_X: 325 + m_Y: 169 + m_Width: 1 + m_Height: 70 + - m_X: 262 + m_Y: 170 + m_Width: 12 + m_Height: 69 + - m_X: 325 + m_Y: 174 + m_Width: 66 + m_Height: 65 + - m_X: 69 + m_Y: 203 + m_Width: 61 + m_Height: 38 + - m_X: 133 + m_Y: 241 + m_Width: 129 + m_Height: 782 + - m_X: 587 + m_Y: 172 + m_Width: 436 + m_Height: 851 + - m_X: 587 + m_Y: 155 + m_Width: 16 + m_Height: 868 + - m_X: 0 + m_Y: 370 + m_Width: 1023 + m_Height: 653 + - m_X: 59 + m_Y: 299 + m_Width: 10 + m_Height: 724 + - m_X: 456 + m_Y: 170 + m_Width: 15 + m_Height: 71 + - m_X: 524 + m_Y: 243 + m_Width: 499 + m_Height: 780 + - m_X: 524 + m_Y: 241 + m_Width: 28 + m_Height: 782 + - m_X: 335 + m_Y: 174 + m_Width: 56 + m_Height: 88 + - m_X: 408 + m_Y: 262 + m_Width: 48 + m_Height: 761 + - m_X: 133 + m_Y: 323 + m_Width: 202 + m_Height: 700 + - m_X: 59 + m_Y: 347 + m_Width: 964 + m_Height: 676 + - m_X: 408 + m_Y: 329 + m_Width: 615 + m_Height: 694 + - m_X: 59 + m_Y: 325 + m_Width: 276 + m_Height: 698 + m_fontInfo: + Name: + PointSize: 0 + Scale: 0 + CharacterCount: 0 + LineHeight: 0 + Baseline: 0 + Ascender: 0 + CapHeight: 0 + Descender: 0 + CenterLine: 0 + SuperscriptOffset: 0 + SubscriptOffset: 0 + SubSize: 0 + Underline: 0 + UnderlineThickness: 0 + strikethrough: 0 + strikethroughThickness: 0 + TabWidth: 0 + Padding: 0 + AtlasWidth: 0 + AtlasHeight: 0 + atlas: {fileID: 0} + m_AtlasWidth: 1024 + m_AtlasHeight: 1024 + m_AtlasPadding: 9 + m_AtlasRenderMode: 4165 + m_glyphInfoList: [] + m_KerningTable: + kerningPairs: [] + m_FontFeatureTable: + m_GlyphPairAdjustmentRecords: + - m_FirstAdjustmentRecord: + m_GlyphIndex: 38 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 38 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 38 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 38 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 68 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 70 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 72 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 74 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 80 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 81 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 82 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 83 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 78 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 70 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 78 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 72 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 78 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 82 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 68 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 70 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 72 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 74 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 82 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + fallbackFontAssets: [] + m_FallbackFontAssetTable: [] + m_CreationSettings: + sourceFontFileName: + sourceFontFileGUID: 6ebf2a689a7843348a97bb68140c32a8 + pointSizeSamplingMode: 0 + pointSize: 90 + padding: 9 + packingMode: 0 + atlasWidth: 1024 + atlasHeight: 1024 + characterSetSelectionMode: 7 + characterSequence: + referencedFontAssetGUID: + referencedTextAssetGUID: + fontStyle: 0 + fontStyleModifier: 0 + renderMode: 4165 + includeFontFeatures: 0 + m_FontWeightTable: + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + fontWeights: [] + normalStyle: 0 + normalSpacingOffset: 0 + boldStyle: 0.75 + boldSpacing: 7 + italicStyle: 35 + tabSize: 10 +--- !u!28 &3351187585998663029 +Texture2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: OpenSans-Bold Atlas + m_ImageContentsHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_ForcedFallbackFormat: 4 + m_DownscaleFallback: 0 + m_IsAlphaChannelOptional: 0 + serializedVersion: 2 + m_Width: 1024 + m_Height: 1024 + m_CompleteImageSize: 1048576 + m_MipsStripped: 0 + m_TextureFormat: 1 + m_MipCount: 1 + m_IsReadable: 1 + m_IsPreProcessed: 0 + m_IgnoreMipmapLimit: 0 + m_MipmapLimitGroupName: + m_StreamingMipmaps: 0 + m_StreamingMipmapsPriority: 0 + m_VTOnly: 0 + m_AlphaIsTransparency: 0 + m_ImageCount: 1 + m_TextureDimension: 2 + m_TextureSettings: + serializedVersion: 2 + m_FilterMode: 1 + m_Aniso: 1 + m_MipBias: 0 + m_WrapU: 0 + m_WrapV: 0 + m_WrapW: 0 + m_LightmapFormat: 0 + m_ColorSpace: 1 + m_PlatformBlob: + image data: 1048576 + _typelessdata: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050708080807060401000000000000000000000000000000000406070809080706040000000000000000000000000000000001040607080807070501000000000000000000000000000000000000000004060709090909090909090909090909090909090909090909090909090909090909090909090909070604000000000000000000000000000000000000000000000000000000000000020507080b0d0f1011111111100e0c0a0706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506080b0d0f1011111111100e0d0a07070501000000000000000000000000000000000000000000000000000000000000000000000000010507080a0c0d0f10101111111111100f0e0d0b0907060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0d0f101111111111100f0e0c0907060400000000000000000000000000000000000000000000000000000001070c0f111213131313131313131313130a0907040000000000000000000000000000000000000002070a0c0d1313131313131313131313131313131313070705010000000000000000000000000000000000000000000000000000000005090d0f10131313131313131313131313131313070604000000000000000000000000000000000004060713131313131313131313131313131311100e0a0500000000000000000000000000000000000000000000000000000001070c0f111213131313131313131313131313131313131313131313131313131313131313131313131308070502000000000000000000000003090d1012131313131313131313131313130c0b09060100000000000000000005080a0b1313131313131313131313131313060300000000000000000000050a0e10111313131313131313131313130f0e0c080400000000000000000000000003060809090909090909090909090909090909090909090908070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306080d11141415151413110d0804010000000000000000000003070c1013131515151313100c0703000000000000000000000105080d11131415151413110d080602000000000000000000000000000001070c101314161616161616161616161616161616161616161616161616161616161616161616161616161413100c07010000000000000000000000000000000000000000000000000105080e111414181a1c1d1e1e1e1d1c1b19161313100c0703000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121315181a1c1d1d1e1e1d1d1b19171413110d0805020000000000000000000000000000000000000000000000000000000000020507080d11141417181a1b1c1d1e1e1e1e1e1d1c1b1a18151312100c07050200000000000000000000000000000000000000000000000000000000000000000000000000000306070c10131416181a1c1d1e1e1e1e1e1d1c1a18161413100c07050200000000000000000000000000000000000000000000050c13181b1e1f2020202020202020202020171613100b0500000000000000000000000000000000070e1317191a20202020202020202020202020202020201413110d0802000000000000000000000000000000000000000000000000030a1015191c1d20202020202020202020202020201f1313100c0700000000000000000000000000070c1012131f20202020202020202020202020201d1d1a16110b03000000000000000000000000000000000000000000000000050c13181b1e1f2020202020202020202020202020202020202020202020202020202020202020202020201414110e08020000000000000000070e14191d1f20202020202020202020202020191816120d07000000000000060c11151718202020202020202020202020202012100c06000000000000030b11161a1d1d2020202020202020202020201c1b18140f09020000000000000000030a0f12151516161616161616161616161616161616161616161514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315191e2021222221201d1913110d0801000000000000060c1012181c1f20212221201f1c18120f0b0600000000000002080d1114191d2021222221201e1914120e09030000000000000000000000030b12181d1f2023232323232323232323232323232323232323232323232323232323232323232323232323201f1d18120b0300000000000000000000000000000000000000000002080d1114191e20212427282a2a2b2b2a29282623201f1c1812100c0600000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171b1f2022242729292a2b2b2a2928262421201d1914110e08020000000000000000000000000000000000000000000000000004080e111414191e202123252728292a2b2b2b2b2a2a2928262422201f1c1814120e090300000000000000000000000000000000000000000000000000000000000000000000030a0f1215181d1f2023252728292a2b2b2b2a2a29272523201f1d1814120e090300000000000000000000000000000000000000060f171e24282b2b2d2d2d2d2d2d2d2d2d2d2d2322201c160f0800000000000000000000000000020a12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d21201d19130c0500000000000000000000000000000000000000000000040c141b212628292d2d2d2d2d2d2d2d2d2d2d2d2d2d2c201f1c18120b03000000000000000000030b12181c1f202c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2926221c150d0500000000000000000000000000000000000000000000060f171e24282b2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d21201e19140d050000000000000811191f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2525221e181109010000000911171d2124252d2d2d2d2d2d2d2d2d2d2d2d2d2d1f1c17110a03000000050d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d282725201a130c03000000000000060e151a1f2122232323232323232323232323232323232323232321211e1a140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e151b1f21252a2d2e2f2e2d2c2924201d19130c04000000030a11171c1f23282c2d2e2f2e2d2c28231f1b17110a02000000050d14191e2024292c2d2e2f2e2d2a25211e1a150e06000000000000000000030d151d24292c2d303030303030303030303030303030303030303030303030303030303030303030303030302d2c29241d150d0300000000000000000000000000000000000001080d13191d20252a2d2e3133353737383737363432302d2c28231f1c17110b06000000000000000000000000000000000000000000000000000000000000000000040b10151b1b22272b2d2f3134353637383737363533302e2d2a25201e19140e0903000000000000000000000000000000000000000001070c1014191e2021252a2d2e303233353637373838383737363433312f2d2c2823211e1a140f0b06000000000000000000000000000000000000000000000000000000000000060b0f151b1f2124292c2d3032343536373738383736353432302d2c2924211e1a14100b0500000000000000000000000000000000050f1821292f3437383939393939393939393939302f2c27211911080000000000000000000000000a141c242a2f323339393939393939393939393939393939392e2d2a251e160e050000000000000000000000000000000000000000000c161e262d3235363939393939393939393939393939392d2c28231d150c0300000000000000030c151c23282c2d3939393939393939393939393939393736322d271f170d000000000000000000000000000000000000000000050f1821292f3437383939393939393939393939393939393939393939393939393939393939393939393939392e2d2a251e170e050000000007111a232a3135383939393939393939393939393932312e29231b1309000009121b22292d303139393939393939393939393939392c28231c150c0300030d171f272d3236373939393939393939393939393534312c251e150c020000000006101820262b2e2f30303030303030303030303030303030303030302e2d2a251f170f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a101820262b2e3036393b3b3b3a39352f2c29241e160d0700050c151c23282c2e34383a3b3c3b3a38342e2b27221b140b0400080e171e252a2d2f35393a3b3b3a3936302e2b2620180f0900000000000000010b151f272f35393a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a39352f271f150b0100000000000000000000000000000000040c13191e24292d3036393b3e4042434444444443413f3d3a38342e2c28231c17110a02000000000000000000000000000000000000000000000000000000000003090e161b20272b2d3337393b3e404243444444444341403d3a3936302d2a251e1a140c06000000000000000000000000000000000000030b12181c1f252a2d2e3036393b3d3f404243434444444444434241403e3c3a38342e2d2a251f1c17110a020000000000000000000000000000000000000000000000000000020a11171c1f262b2e2f35393a3c3f40424344444444444342413f3c3a39352f2d2a251f1c160f0a0300000000000000000000000000010c17212b333a40444546464646464646464646463d3c38332b23190f0500000000000000000000060f1c262e353b3f404646464646464646464646464646464646463936302820160c0200000000000000000000000000000000000000030c1e2830383e42434646464646464646464646464646463a38342e271e150b000000000000000b151e272e34383a46464646464646464646464646464644423e3931291f0d0400000000000000000000000000000000000000010c17212b333a4044454646464646464646464646464646464646464646464646464646464646464646464646463b3936302920170d020000030e19232c353c4145464646464646464646464646463f3e3a342d251b110706111b242d34393d3e464646464646464646464646464638342e261e150a000b151f2931393e424446464646464646464646464642403d372f271e1309000000030e18222a31373a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a36312921170d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c222a32373b3c41464748484745413a39352f28201910070e171e262e34383a4045464848484645403937332d261d160d08111a20293036393b41454748484746413b3a37312a211b120900000000000007121d273139404547494949494949494949494949494949494949494949494949494949494949494949494949494745403931271d1207000000000000000000000000000000060d161e24293035393b4146474b4d4f50515151504f4e4c494645403a38342e28221c140b06000000000000000000000000000000000000000000000000000000050d141a21272c3237383f4446484b4d4f5050515150504e4c4a4746413b3936302a251f17110a03000000000000000000000000000000080d151d23292c3036393b3e4146474a4b4d4e4f505151515151504f4e4d4b484644403b3a36312b28221c140b08020000000000000000000000000000000000000000000001070b141c22282b31373a3c404547494b4d4f505151515151504f4d4b494745403b3a36312c27211a150b0600000000000000000000000007131e29333d454c505253535353535353535353534a48443d352b21160b000000000000000000030d17212e3840474b4d53535353535353535353535353535353535346413a32281e1308000000000000000000000000000000000000000b151e303a42494e505353535353535353535353535353524645403930271d1207000000000007121c273039404446525353535353535353535353535353504f4a433b3120160c0100000000000000000000000000000000000007131e29333d454c50525353535353535353535353535353535353535353535353535353535353535353535353535346413b32291e1408000009141f2a353e474d51535353535353535353535353534c4a463f372d23180d0c17222d363e45494b5353535353535353535353535353443f3830261c1106111c27313b434a4f505353535353535353535353534f4d4841392f251a0f0400000a15202a343c43474849494949494949494949494949494949494949494846423b33291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131c252e343c4347494c5254555554514c4745413a322b22190f17202930383f44464b515354555453514b46443f382f281f16101a232b323b4146474c5254555554524c4847423c332d241b120800000000000c18242f39434b51535656565656565656565656565656565656565656565656565656565656565656565656565653514b43392f24180c00000000000000000000000000020a11171f282f353a4146474d5254575a5b5d5d5e5e5d5c5b595653514b46443f38332d261d180f0800000000000000000000000000000000000000000000000000080f171f252a32383c434749505355575a5c5c5d5e5e5d5c5b595754524c4746413b363128231c150c050000000000000000000000000008121a1f272f34383b4146474b4c525456585a5b5c5d5e5e5e5e5d5d5c5b59575553514a4846423b38332d261d19140d050000000000000000000000000000000000000000030b12181d262d33383c4347484b515356585a5b5c5d5e5e5e5d5d5c5a585653514b4846423b38322b262017110a02000000000000000000000c18242f3a454f575c5e606060606060606060606056544f473d33271c1004000000000000000009141f2933404a52575a60606060606060606060606060606060605f524c443a3025190d01000000000000000000000000000000000007121d2730424c545a5c60606060606060606060606060605f53514b42392e23180c00000000000c18232e39424a51535f60606060606060606060606060605d5b554d4332281e13080000000000000000000000000000000000000c18242f3a454f575c5e6060606060606060606060606060606060606060606060606060606060606060606060605f524c443b3025190e02000d1925313c4750585e5f606060606060606060606060585651493f34291e12111d29343e48505658606060606060606060606060605f504a42382e23170c16222d39434d555b5d6060606060606060606060605b59534b41372c20140800030f1a26313c464e5355565656565656565656565656565656565656565654534d453b31251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1b252e3740464e5355565e616261605d5554524c443c342b21171e29323b424a5053545c60616261605c54535049413a31281d19222b353d444c5254565d606162615e5655534d453f362d241a0d0400000004101d2935404b555d6063636363636363636363636363636363636363636363636363636363636363636363636363605d554b4035291d10040000000000000000000000020b141c2228313a41454c5254565e616466686a6a6b6a6a69676563605c5453504a443f382f2a211a120900000000000000000000000000000000000000000000010a111a212931363d44484e54535b6062646768696a6b6a6a69686663615e5654524c46423b342e261e170f06000000000000000000000005101a242c31394045474d525458565e6163656668696a6a6b6b6b6a6a6967666462605c5454534d46443f382f2a251f170e07000000000000000000000000000000000000050d151d23292f383f44464e5355555d6063656768696a6a6b6b6a6968676563605d5554534d48443d373127221b140b030000000000000000000f1b2834404c5761686b6c6c6c6c6c6c6c6c6c6c6c6360594f44382c20130700000000000000020b1a26313b45525c63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e564c41362a1d110500000000000000000000000000000000000c18232e3943545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c605c544b4034281c100400000004101c2834404a545c606c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a665f55443a2f24190d0100000000000000000000000000000000000f1b2834404c5761686b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e564c41362a1e110500101d2935414d58626a6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e221615212d3945505a62646c6c6c6c6c6c6c6c6c6c6c6c6c6c5c544a3f34281c101a26323e4a555f666a6c6c6c6c6c6c6c6c6c6c6c6c68655d53483d3125180c0006121f2b37434e585f626363636363636363636363636363636363636363615e574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202d37404951585f6268686e6e6e6d6766605d564e463c33291f27303b444c545c6064666d6e6f6e6d6664605b534b433a2f26202a343d474f565e6166686d6e6e6d6867625f5750483f362c1f160c01000006131f2c3945515d676d6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d675d5145392c1f130600000000000000000000020b141d262d333e434c51565d6165686e7173757677777777767472706d6664605c54504a423c332c241b12090000000000000000000000000000000000000000010a131c242c333b42464f54586062656c6e7173757677777777767473706d6866615e56534d443f38302921180f06000000000000000000000c17222c363e434b5153565e616568686e707273757676777777777776757473716f6d6665615e5753504a423e3630292019110800000000000000000000000000000000050e171f272f343d424a5053585f6266676d6f727375767777777777767574726f6d6766615e57544f47433c332d261d150d030000000000000000111e2b3744505c6873787979797979797979797979706b6054483c2f221609000000000000000a141d2a36424d57636e73797979797979797979797979797979797976685e5246392d2013070000000000000000000000000000000004101c2834404b556670767979797979797979797979797979796d665c5145382c1f130600000006121f2c3844515c666d797979797979797979797979797979777166564c4135291d11040000000000000000000000000000000000111e2b3744505c68737879797979797979797979797979797979797979797979797979797979797979797979797976685e5246392d20140700121f2b3845515e6a7479797979797979797979797979726d62564a3e3125181724303d4956626c717979797979797979797979797976665c5044382c1f121d2936424f5b667177797979797979797979797979756f65594d4034271b0e000815212e3a47535f6a6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695e53463a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141e29323f49515b636a6f74787a7b7b7a77736d6860584e453b31252e39434c565e666d7176797b7b7b7976716c655d554b41382d26323c464f5960686e73777a7b7b7a78746e69625a50483e31281d120700000714202d3a4753606d797c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c796d6053473a2d201407000000000000000000000a141d262f383f4450555d60686d72777a7e8082838484848382817f7c7975706d66605b544d453e362d241b1208000000000000000000000000000000000000010a131c252e363e454d535960636a6f73787b7e8082838384848383817f7d7a76726e68615e57504a423b332a21180f06000000000000000005111c28333e4850555c6064686e7175787a7d7e808182838484848484838281807e7b7976726e6964605b545046413b322b231a11080000000000000000000000000000040e172029313940454f545b60646a6f73767a7c7e80828384848484848382807e7c7a76726e69636059534e443f382f271f150d0300000000000000121f2b3845525e6b788586868686868686868686867d7063564a3d3023170a00000000000006111c262f3846535f69738086868686868686868686868686868686867a6d6154473a2e2114070000000000000000000000000000000006131f2c3845515c677682868686868686868686868686868686796d6053463a2d2013070000000713202d3a4653606d788686868686868686868686868686868377685d5245392c2013070000000000000000000000000000000000121f2b3845525e6b78858686868686868686868686868686868686868686868686868686868686868686868686867a6e6154473b2e2114080013202c3946535f6c79868686868686868686868686867f7265584c3f3225191825313e4b5864717e86868686868686868686868686786d6053463a2d20131d2a3744505d6a77838686868686868686868686868175685b4f4235281c0f000915222f3c4855626f7b7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303b44515b636d737c818587888887847f7a6f6a60574d42362a34404b555e686e787e838687888786827d776d675d53493f332b37434e58606b707a80848788888785817b716d625a5043392f24180d01000915222f3c4855626f7c888989898989898989898989898989898989898989898989898989898989898989898989887c6f6255483c2f22150900000000000000000006111b262f38424a505a61676d737a7f83878a8d8e90909191908f8e8c8986827d79716c665f5750483e362d241a0f0600000000000000000000000000000000000a131c252e37404850575e616b70767c8084888a8d8f8f909191908f8e8c8a86837f7a746e69605c544d453c332a21170d04000000000000000814212d3945505a61676d71767b7e828487898b8d8e8f909191919190908f8e8c8a8885827f7b76716c66615a524d443d352c231a1108000000000000000000000000020b162029323b434b515960666c71767b7f8386898b8d8e8f9091919190908f8d8b8986837f7b75706b625f585049413931271f150b02000000000000121f2b3845525e6b788591939393939393939393897d7063564a3d3023170a0000000000000b17222d38424f59616e7b8692939393939393939393939393939393877a6d6154473a2e211407000000000000000000000000000000000713202d3a4653606d79869293939393939393939393939398897c6f6356493c2f24180c000000091623303c4956636f7c899893939393939393939393939393867a6d6054473a2d2114080000000000000000000000000000000000121f2b3845525e6b78859193939393939393939393939393939393939393939393939393939393939393939393877a6e6154473b2e2114080013202c3946535f6c798692939393939393939393938b7f7265584c3f3225191825313e4b5864717e8b939393939393939393939386796d6053463a2d20131d2a3744505d6a778390939393939393939393938e8175685b4f4235281c0f00101c2936434f5c69768289898989898989898989898989898989898989898073675a4d4034271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c56626d737f878e9297959495918c847c6f695e53463b303845515c676e7a828b9092989598928f8a82796d655b5044372e3b47545f6a707d858d9196949597918e867f716c61554b4035291d1004000915222f3c4855626f7b889596969696969696969696969696969696969696969696969696969696969696969695887b6f6255483c2f2215090000000000000000060f17222d38414a545b606c707a80868c909597999b9d9d9e9d9d9c9a9898928f8a847e786e69615a50483e362c21180c0200000000000000000000000000000007101c252e374049525a61696e767d83888d9196979a9b9c9d9e9d9d9c9b999a93908c86817b736d665e574e453c33291f160c010000000000000a1723303c4955616c71797e83878b8e91969698999b9c9d9d9e9e9e9d9d9c9a999798928f8c87837e78706c615e564f473e352c231a0f0600000000000000000000000a141d28323b444c555c606b70787e83888c909299989a9b9c9d9d9e9e9d9c9b9a989992908c87827d766e6a605b534b433931271d140a000000000000121f2b3845525e6b7885919e9f9f9f9f9f9f9f96897d7063564a3d3023170a0000000000030f1c28333f4a54606b75828e98a39f9f9f9f9f9f9f9f9f9f9f9f9f94877a6d6154473a2e211407000000000000000000000000000000000a1623303d495663707c8998a39f9f9f9f9f9f9f9f9f9f9f998c807366554b4035291d10040004101d2935404b5566737f8c99aa9f9f9f9f9f9f9f9f9f9fa4998a7d7064574a3d3025190d0100000000000000000000000000000000121f2b3845525e6b7885919e9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94877a6e6154473b2e2114080013202c3946535f6c7986929f9f9f9f9f9f9f9f9f988b7f7265584c3f3225191825313e4b5864717e8b979f9f9f9f9f9f9f9f9f9386796d6053463a2d20131d2a3744505d6a7783909d9f9f9f9f9f9f9f9f9b8e8275685b4f4235281c0f00101c2936434f5c6976828f9696969696969696969696969696969696968d8073675a4d4034271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e68727f8c93999ea1a9a7a09d9691857b6e61564c41363a4653606d798390949c9fa3aaa39f9c948f82776c6053463937434e58626f7c8692979da0a8a9a19e99928a7e71675d5145392c201306000915222f3c4855626f7b8895a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a295887b6f6255483c2f22150900000000000000030e182127333f49535b666c737d858d92989da0a7a6a8a9aaaaaaaaa9a7aaa29f9c96918b837b716c625a50483e332a1e140a0000000000000000000000000000040e19232d374049525c636c707b828990949a9ea1a8a6a8a9aaaaaaaaa9a7aca49f9d99928e8680786e695f574e453b31281e13080000000000000b1724313e4a5764717e858b90939a9b9ea1a8a5a6a8a9a9aaaaaaaaaaa9a8a7a6aaa29f9c9a93908a847d756e6860594f473e352c21180c0200000000000000000006111c262f3a444c565e676d747d838a9095999d9fa3aba6a8a9aaaaaaaaaaa9a8a7aba39f9c9a938f89827c726c655c554b43392f261b11060000000000121f2b3845525e6b7885919eabacacacacaca396897d7063564a3d3023170a00000000030e18212b3844505b66707d89939eaab4acacacacacacacacacacaca094877a6d6154473a2e21140700000000000000000000000000000004101d2935404b556673808c99aab4acacacacacacacacaca99c908376675d5145392c1f13060006131f2c3845515d6776838f9ca9acacacacacacacacacb5ab9a8d807467564c4135291d110500000000000000000000000000000000121f2b3845525e6b7885919eabacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca194877a6e6154473b2e2114080013202c3946535f6c7986929facacacacacacaca5988b7f7265584c3f3225191825313e4b5864717e8b97a4acacacacacacaca09386796d6053463a2d20131d2a3744505d6a7783909daaacacacacacaca89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a29a8d8073675a4d4034271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a86929fa4abadb3b1aca8a1978e8275685e524639414c5665727f8b959fa6acaeb4aeaca69e948a7e7164554b403a47535f6a76839098a2a9acb2b3adaba39e9285796d6053473a2d201407000915222f3c4855626f7b88959e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e95887b6f6255483c2f2215090000000000000009151f2a333c44505b656c78808892979fa2aaacb1b3b5b6b7b7b7b6b5b4b4aeaca8a19e9590867e716c625a50453c30261c1106000000000000000000000000020c16202b353f49525c636e737e858f949c9fa6abadb2b3b5b6b6b7b7b6b6b4b6afacaba39f98928c837b6e6a5f574d433a2f24190c0200000000000e1b2834414e5b6774818e979c9fa4acabadb2b1b3b4b5b6b7b7b7b7b7b6b5b4b3b4aeacaca49f9c96918a827a6f6b61594f473e332a1e140a0000000000000000000b17222d38424c565e686e79818990959d9fa7a9acafb5b3b5b6b7b7b7b7b7b6b5b3b5aeacaca49f9c948f867f776d675d554b41382d22170b0300000000121f2b3845525e6b7885919eabb8b9b9b9b0a396897d7063564a3d3023170a0000000009151f2935414c56606c7883909da5afbcb9b9b9b9b9b9b9b9b9b9ada094877a6d6154473a2e21140700000000000000000000000000000006131f2c3845515d677683909ca9b6b9b9b9b9b9b9b9b9b9ac9f92867a6d6053473a2d201408000714202d3a4753606d7986929facb9b9b9b9b9b9b9b9b9b7aa9d908377685e5246392d20130700000000000000000000000000000000121f2b3845525e6b7885919eabb8b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9ada194877a6e6154473b2e2114080013202c3946535f6c7986929facb9b9b9b9b9b2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1b9b9b9b9b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6b9b9b9b9b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9afafafafafafafafafafafafafafa69a8d8073675a4d4034271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a2aeb5b9bebcb8b2a99f93877a6e6154473b46525d687784909da7b0b9babfbab8b0a69c908376675c51453c4855626f7b88949faab3b8bdbeb9b4ada1978b7e7165584b3e3225180b000915222f3c4855626f7b889191919191919191919191919191919191919191919191919191919191919191919191887b6f6255483c2f221509000000000000020e1a26313c45505a606c77818d939aa1a9aeb4b8bcc0c1c3c3c4c4c3c2c1bfbab8b2ada7a09892877e716c61574e42382e23170b01000000000000000000000008131e28323d47515b636e73808a92979fa6abb0b7b9bdc0c2c2c3c4c4c3c2c1c0bbb9b4aeaaa39f9590847c6e695f564c4135291e140a00000000000e1b2834414e5b6774818e9aa9acafb6b8b9bdbec0c1c2c3c4c4c4c4c3c3c2c1bfbfbab8b6afaca8a09d948f857d706b61594f453c30261c110600000000000000030f1c28333f4a545d686e7a838e929da0a7abb1b6b9bbc0c0c1bebcbbbabbbbbdc0c0bfbbb9b6afaca69f98928c81796d675d53493f33271f140900000000121f2b3845525e6b7885919eabb8c4c6bcb0a396897d7063564a3d3023170a000000030c1a26313945525d68717e8b95a0acb7c1cfc6c6c6c6c6c6c6c6baada094877a6d6154473a2e2114070000000000000000000000000000000714202d3a4753606d7986929facb9c5c6c6c6c6c6c6c7baaea399897d7063564a3d2f24190d010a1723303d4a5663707d8998a3aebac7c6c6c6c6c6c6c6b9ac9f93867a6d6154473a2e21140800000000000000000000000000000000121f2b3845525e6b7885919eabb8c4c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6baada194877a6e6154473b2e2114080013202c3946535f6c7986929facb9c5c6c6beb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1bec6c6c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3c6c6c1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5bcbcbcbcbcbcbcb9b9b9b9b9b3a69a8d8073675a4d4034271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424f5c6875828f9baab4bfc7c9c8c4bbafa49a8a7d7164574a3e4754616d7a8795a0acb9c2c7cbc7c1b9ac9f9286796d6053473f4b5865727e8b98a6b0bcc5c8c9c6beb3a99b8e8174685b4e4135281b0e000815222f3b4855626e7b858585858585858585858585858585858585858585858585858585858585858585858585857b6e6255483b2f22150800000000000006121e2b37424d57616c74808d939fa4acb3babfc6c7c4c3bebbbababdc1c6c7c7c4bdb9b1aaa29993877e716a5f544a3f34281e130800000000000000000000010d1924303a444f59636d73808c929fa2a9b0b7bcc2c5c5c4bfc0bbb9bbc0bfc4c5c8c6bfbab4aea79f9691857b6e685d52453e30261c1106000000000e1b2834414e5b6774818e9aa7b4bbc0c4c5c5c4c2c0bebdbcbbbbbcbcbec0c3c6c7c6c5c0bbb9b2aca69e9791877d706b61574d42382e23170b0100000000000006121f2b3844505b666d7a8390959da5acb1b8bcc2c5bfbab8b4b1afaeadaeafb0b3b7b8bcc3c0bbb9b0aaa39f938e82796d655b50443c31261a0e03000000121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d3023170a0000000a151e2b37424d57606d7a85929ea7b1bcc9d3d2d2d2d2d2d2d2c7baada094877a6d6154473a2e2114070000000000000000000000000000000a1723303d4a5663707d8999a3aebac7d3d6d3d2d3d6cbbfb4ab998d807366554c4135291d1104111d2935414b556673808d99aab4bfcbd6d3d2d3d6d4c8bbafa49a8a7d7064574a3d3025190d01000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d2d2d4cdc7c4c3bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbaada194877a6e6154473b2e2114080013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1becad2c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c9cac1bbb7b5adadadadadada69a8d8073675a4d4034271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6c3d0d5d4ccc0b6ac988c7f7265594c3f4855626f7b8895a7b1bccbd3d6d3c7bbaea399877b6e615448404d5a6673808d99a6b3c0ced4d5cfc2b6a99c8f8276695c504336291d10000814212e3a47535f696e787878787878787878787878787878787878787878787878787878787878787878787878786e695f53473a2e2114080000000000050f1a232e3a47535f69717e8b929da5afb6bec5cac2bcb7b6b1aeadaeb0b4b9bbc0c7c9c3bcb4aba49992867c6e665c50443a2f24190d0000000000000000000004111d2935414c56606b727f8c929ca4adb3bbc2c7c4bdb9b7b3b5afacafb5b2b7b8bdc3cbc6bfbab1a8a19791837a6d60594f42382e23170b000000000e1b2834414e5b6774818e9aa7b4c1c4c0bdb9b7b5b3b1b0afaeaeafb0b1b3b6b9bbc0c7cac8c3bdb8b0a9a19992877d70695f544a3f34281d1307000000000005111e2a36414c56606c78828f959fa7afb8bcc3c6bfbab4aeaca8a5a2a1a1a1a2a4a6aaacb1b8bcc3c2bcb4aea59e948f82776c60574d42372b1f1409000000121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d3023170a000006111c26303847535f6973808d97a1adb9c3cddbe5dfdfdfdfdfd3c7baada094877a6d6154473a2e211407000000000000000000000000000004111d2935414b556673808d99abb4bfcbd0cac6c5c6cad0c3b6a99d908376675d5145392c20130613202c3945515d677683909da9b6c3d0cac6c5c6cad0ccc0b6ac9a8d807467564c41362a1e1105000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1ded4cbc2bcb8b6afafafafafafafafafafafafafafafafafafafada194877a6e6154473b2e2114080013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2ccc1b8b0aaa8a0a0a0a0a0a0a09a8d8073675a4d4034271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0dcdcd2bfb2a6998c7f7366594c404956626f7c8995aab4bfcbd6dcd6cabeb3a995887b6e625548404d5a6773808d9aa6b3c0d1dcdcd0c3b6a99d9083766a5d5043372a1d100006121e2b37424d575f626b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b625f574d42372b1e120600000000000b16212d3944505a626e7b86929fa4aebbc0c7c6bfbbb0aba9a4a1a0a1a3a8acafb5bdc4cdc5bdb5aba2989083786d60564c4135291d12070000000000000000030d17212c3945525d686f7d87929fa4aebabec5c7c0bbb2adaba6aba49fa4aba5aaacb2bbc0c7cbc2bab2a9a0958e81746b61544a3f34281c10030000000e1b2834414e5b6774818e9aa7b4b9b7b4b2acaaa8a6a4a3a2a2a2a2a3a4a7a9acafb5babec5cdc8c1bbb3aba39992857b6e665c50443a2f24180d01000000000713202d3946525e68727f8c949fa7b1b9c0c8c4bcb4aeaaa29f9b98969594949597999da0a7acb1b9c1c6bfbaafa69e948c7f72695f53463b30251a0e020000121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d3023170a00000c17232e38424f59616e7b86929fa9b3becbd5dfebe7e8eaeee0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000613202c3945515d677683909da9b6c3cec5bebab8babec5c5b9ac9f92867a6d6054473a2d21140814212d3a4754606d7a86929facb9c5c5bebab8babec5cec4b7aa9d918477685e5246392d201407000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d8cdc2b9b1aba9a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a194877a6e6154473b2e2114080013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c7bbb0a69e9c93939393939393938d8073675a4d4034271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3743505d6a7683909da9b6c3cecfd1cabeb3a9988b7f7265584c3f4855626e7b8898a3aebac7cfcfcfc6b9ada197877a6e615447404c5966737f8c99abb5bfcbd2cfcdc2b5a99c8f8276695c4f4336291c1000020e1a26313c454d53555e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e55534d453c31261a0e020000000004101c27333c4955616c76828f98a2aeb6c0ccc6bdb5aea69f9c97959494969b9fa4abb3bbc4cec7bdb4aaa0958b7f72685d5245392e23180c000000000000000009141f2b37424d57606d7a849199a3afb6bfcac7beb6afa8a19e999599939995999ea0a8afb5bdc7ccc4bbb1a89e938a7d70665c5044382b1f15090000000e1b2834414e5b6774818e9aa7b2acaaa7a8a09e9b9998969595959596989a9c9fa4abadb3bbc1cacdc4bdb4aba2979083786d60554b4035291d1104000000030f1c28333f4a54616d7a85929fa6b0b9c2cbc4bbb3aaa39f98928e8b89888788888a8d91959da0a7afb7c1cbc1b8b0a69f92867b6e61574d42362a1e12050000121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d3023170a0003101c28343f4a54606b75828f99a3aebbc5cfdddfdedadbdee2e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000714212d3a4754606d7a86929facb9c5c5bcb3adabadb3bcc5bbafa3998a7d7063574a3d3025190d1724303d4a5763707d8a99a3afbbc5bcb3adabadb3bcc5c5b8aca095877a6e6154473b2e211409000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d4c7bcb1a79f9d96969696969696969696969696969696969696969694877a6e6154473b2e2114080013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c3b7aa9e948f8686868686868686868073675a4d4034271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2835414e5b6874818e9ba8b2bcc1c2c2bfbaada297897c706356493d4653606d7986929facb8bec2c2c2beb5ab9e9285796c6053463e4a5764717d8a99a3aebbc0c2c2c1bbb1a79a8d8073675a4d4034271a0d00000915202a333c424748525252525252525252525252525252525252525252525252525252525252525252525252524847423c332a20150900000000000714202c38444f5964707d8a949faab4bfc8cbbfb5aba39f94908b8887878a8e9399a1a9b3bcc5d0c5bcb1a79f92857a6d60544b4034281c1004000000000000020e1a26313a47535f6974818d96a1abb5c0c8ccc0b6aca49f96918c88878687888c91969fa4abb5bdc7cdc3baafa59d9184786d6053463c31261a0e0200000e1b2834414e5b6774818e9aa7a8a09e9a9796918f8d8b8a89888889898b8d9093999fa2a9b0b8c1c9cfc6bdb3a9a0958b7f72675d5145392c20150a00000006121f2b3844505b6673808c98a2aeb8c2cbc6bdb3a9a198928c86817e7c7b7a7b7c7d80848990959ea5afb8c2cac1baaea3998e8275695e52463a2d2014060000121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d3023170a030e18222c3844505c66707d89949eabb5bfcdd6d5d2d1cecfd2d6ddd3c7baada094877a6d6154473a2e21140700000000000000000000000000000a1724303d4a5763707d8a99a3afbbc7beb3a9a29fa2a9b3bec0b5ab9a8d807467564c41362a1d111d2935414c566773808d9aabb5c0beb3a9a29fa2a9b3bec8bcb1a7978a7e7164574a3e30251a0e020000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d1c4b8ab9f959089898989898989898989898989898989898989898989877a6e6154473b2e2114080013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f82797a7a7a7a7a7a7a79786d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a96a1aab1b4b5b5b4aea69f9285796d6053473a45515c6676828f9ca4adb3b5b5b5b2ada3998e8175655b50443a4754616d7a86929fa7afb5b5b5b4b0a99f95897d7063564a3d3023170a0000030e18212a31373a3b454545454545454545454545454545454545454545454545454545454545454545454545453b3a37312a21180e0300000000000916232f3c4855606b7783909da6b0bcc6cfc6bbaea399928b837e7b7a7b7d81879197a1a9b3becacec3baada2978c7f72665c5145382c1f130700000000000005121e2a36424d57616e7b87929fa8b2bdc7cbc3bbafa49a938d84807c7a797a7c7f848c9399a4abb5c0ccccc1b8aca0958a7e7164574d42372b1e120600000e1b2834414e5b6774818e9a9e9996918d8a878482807e7d7c7b7b7c7d7e8083878c92979ea6afb7c1cccfc5bcb1a79f9285796d6053473c32261b0f0300000613202d394653606c7884919eaab4becacbbfb4aba19791867f7a75726f6e6e6e6f7173777c838e939ea6b0bdc7cbbfb4ab9f92867b6e6154483b2d22170b0000121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d3023170a0a15202935414c56606d7883919da6b0bdc6d1cfc9c6c4c1c2c6cbd2d3c7baada094877a6d6154473a2e2114070000000000000000000000000004111d2935414c566773808d9aabb5c0c6baada2979297a2adbac3b7aa9d908377685e5246392d2013202d3946525e687783909daab7c3baada2979297a2adbac6c0b4a79a8d817467574d42362a1e11050000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d0c3b6a99d90837d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d796d6053463a2d2013070013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f82756d6d6d6d6d6d6d6d6d665c5044382c1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79849198a0a7a8a9a8aba39f948c7f73675c514538404b5463707d89929fa2a9a8a9a8a9a19e92877c6f6253493f3946525e6874818e959fa4aba8a9a8a69f979083776b6054483c2f221609000000060f1820262b2e2f383838383838383838383838383838383838383838383838383838383838383838383838382f2e2b2620180f06000000000005111d2a36414c5663707d8995a0acb8c2cec6bdafa59f92877e76716e6d6e70757c859197a2adbac3cecabeb3a99e9185796d6053463a2f24180c0000000000000714212d3a46535f6975818e99a3afbac4cfc3b9aea49f93888079736f6d686d6f72797f879399a4afbbc5cfc8bdb1a89d908376695f53473a2e21140600000e1b2834414e5b6774818e96918d8884817d7a77757371706f6f6f6f707174767b7f858f949ea5afbac4cecec3baada2978c7f7265584e43372b1f120600000916232f3c4956626f7c8997a1adbcc5d0c7baaea39991857c726d6765636261616264666b6f79818e949fabb5c0ccc6bbafa3998c7f726653493f33271b0f0300121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d3023170a0c1a26313946525d68727f8b95a0acb8c1cfcdc4beb9b8b4b6bac1c9d2c7baada094877a6d6154473a2e211407000000000000000000000000000713202c3945525d687783909daab6c3c5b8ab9f9285929fabb4bfb9ac9f93867a6d6154473a2e2114212e3a4754616d7a86939facb9beb4aa9f9285929fabb8c5c4b7aa9d918477695e52463a2d2014070000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275707070707070707070707070707070707070707070706d665c5145382c1f13060013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f82756960606060606060605c544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c666f7c869095999b9c9c9b99928d82786d60554b4034394854606b73808b92979a9b9c9b9a97918a7f726a5f53413836414c56606d7a838e93999b9c9c9b99948f857b6e61594f44382c20140700000000060e151a1e21222b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b22211e1a150e060000000000000713202d3946525e6875828f9ca7b1bccacbbfb5ab9d938a7e716c64626161636a6f7c85929fa7b1bcc8d0c5b9ada1978a7d7064554b4035291d100400000000030f1b27333f4953616e7b87939fabb5c0ccc8bcb1a79c928b7f746d6762605d6062666d727e87939fa9b3bec9cec3b8ab9f95887b6e6255483b2d22170b00000e1b2834414e5b6774818e8a84807c7774706d686866656362626262636567696e737a828f939ea8b2bdc9d5cabeb3a99d9184776a5f53473b2e21150800000c1926323f4c5965727f8c98a9b2beced2c5b9ac9f92867c6f6a605d555655545555575960666d78829099a4afbbc7cbc0b5ab9c8f8376655b5044372b1f120500121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d3023170b151e2b37434e58616d7a85929ea7b1bccacfc4bbb2adaba7a9afb7c1cbc7baada094877a6d6154473a2e211407000000000000000000000000000714212d3a4754606d7a86939facb9c6c2b5a89b8f828f99a3aebabbafa49a8a7d7164574a3e30251924313e4a5764717d8a9aa4afbbbaaea2988e828e9ba8b5c1c5b8aca096877b6e6154473b2e2114090000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f827569636363636363636363636363636363636363636363605c544b4034281c10040013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c53535353535353504a42382e23170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a54606a6f7c83898c8e8f8f8e8b8680796d665c5143392f38444f59646e737f858a8d8f8f8f8d8a847e726d62584e432f303a45525d686d7a81878b8e8f8f8e8c88827b6e695f53473d33271c1004000000000003090e1214151f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1514120e0903000000000000000714212e3a4754616d7a86929facb9c3cdc7bbaea3998e81746c625a55545458606a717e8b95a0acb8c7d1c9beb3a99b8e8275675d5145392c1f13060000000005121f2b3744505b6573808c9aa4afbdc7d1c4b8aca0958c80736d605d55545254545c606c74808d97a1adb9c6d2c7bcb1a7988c7f726553493f33271b0f03000e1b2834414e5b677481837d79736f6a6764615e565a5857565555565658575e61686e78818f96a0acb9c5d0cfc5b8aca096887c6f6255483c2f22150700000e1b2835414e5b6874818e9ba7b4c1cfc9bdb2a8998d80736a5f58514b49484748494a4f545c666f7c87939facb9c6d1c5b8ac9f9285786c605346392d20130600121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d302317121c27303947535f6a74808d97a2adb9c3cec9beb2a9a19e9b9da5afbac6c7baada094877a6d6154473a2e211407000000000000000000000000000a1724313d4a5764707d8a99a4afbbc7beb2a5988b7f86929facb9c0b6ac9a8d817467564d42362a1e2a36424d566774818d9aacb6c0b8ab9f92857f8b98a5b2bec8bdb2a8978a7e7164574b3e31251a0e0200000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c565656565656565656565656565656565656565653514b42392e23180c000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f474747474746443f3830261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424e58606a6f777c7f818282817e7b746d675c544a403127333d47525c646d72797e80828282807d79716c625b51463c322935414c565d686d757b7f818282817f7c766e695f574d42352b21160b0000000000000000020608081212121212121212121212121212121212121212121212121212121212121212121212121208080602000000000000000004101c2834404b5565727f8b99a3afbbc7d2c5b9ac9f92867b6e615a504847484e57606c7883909dabb5c0cbcfc4b8ac9f92867a6d6053473a2d201406000000000613202d394653606c7884919eacb6c0cfc8bcb1a79d9083786d605b514b4745474a515a606d7a85929eabb8c5d1cdc2b6a99c8f8276655b5044372b1f1205000814212e3b4754616e7b76706d66625f585754524c4d4b4a494848494a4b4d52565e666d7984919ea9b3becad4c8bdb2a8998c7f7266594c3f2f24180d0100101d293643505c6976838f9ca9b6c2cfc5b9ada196887b6e62584e45413c3b3b3b3c3e424b545f6a7683909ca9b6c3cfc6baaea298877b6e6154483b2e21150800121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d30231718232e39424f59626e7c87929fa9b3becbd0c7b9ada197918e939da9b6c2c7baada094877a6d6154473a2e21140700000000000000000000000005111d2a36414c566774808d9aabb5c0cabeb3a996897d84919daab7c4b7aa9d918477695e52463a2d202d3a46525e697784919daab7c3b6a99d90837d8996a9b3becac1b4a79a8e817467574d42362a1e120500000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f494949494949494949494949494949494949494645403930271d1207000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f423a3a3a3a3a38342e261e150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303d464e585f626b6f7375767574726e69605c554b42392e1f2b35404a525b62676d717475767574716d67615a51493f342a242f3a434c565d60696e7274757675726f6a615e574d453b31231a0f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6776828f9cabb5c0cbccc0b5ab9b8e8275695e52483f3a3d44505b65717e8b99a3afbbc7d3c7baaea298897d7063564a3d2e23170b00000000091623303c4956636f7c8996a1acbec7d2c4b8ab9f95897c6f665c5045403a393a4045515d6774808d9aabb5bfcbd2c5b8ab9f9285796c605346392d201306000714202d3a46525e696e6964605c54534e4a474641403e3d3c3c3c3c3d3e42464c545c67717e8a97a2adbac6d3cec2b5a89c8f827569554b4035291d110400111d2a3744505d6a7783909daab6c3d0c4b7ab9e918478695f53463c352f2f2e2e2f3039424e586673808c99a6b3bfcccabfb4aa95887c6f6255493c2f22160900121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d3023171c2834404a54616b76828f99a3afbbc5cfc7beb1a79e9185818e9ba7b4c1c7baada094877a6d6154473a2e2114070000000000000000000000000713202d3946525e687784909daab7c3c6baada297877b828f9ba8b5c2b8aca096877b6e6154473b2e212e3b4754616e7b8796a0acb8c1b4a79b8e817b8797a2adbac6c4b7aa9e918477695e53463a2d21140700000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f423d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e271e150b00000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f42362d2d2d2d2c28231c150c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2b343d464e53596063666869696865615e57514b433930271c232e38404951555d6064676869686764605c5550483f372d221e28313a444c52575f61656869696866626058534d453b332a1f110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d1c7bbafa4998a7d7164574d42362e333f4953606d7a86929facb9c5d2cabfb4aa998d807366544a3f34281c1003000004101c2834404a5466737f8c99a8b2bdd0d0c3b6a99d9083766a60544a3f352f2c2e35414b55626f7c8999a3aebbc7d3c6baada297887b6e6155483b2e2215080005111e2a36424d575e615e5753504a47433d3a39363032302f2f2f2f3030363b424b55606d7985929fabb8c5d2d1c5b8ab9e928578675d5145392c20130600111d2a3744505d6a7783909daab6c3d0c3b6a99d9083766a574d423429242221222227303f4b5865727e8b98a5b1becbd0bcafa296897c6f6356493c3023160900121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d302318222c3844515c66707d8a949fabb5c0cdccc0b6ac9f958b7e818d9aa7b4c0c7baada094877a6d6154473a2e2114070000000000000000000000000714212e3a4754616d7a86939facb9c6c5b8ab9f928578808c99a6b3bfbdb2a8978a7e7164574b3e3126313e4b5764717e8a97a8b2bdbfb2a5988c7f7885929fabb8c5c5b9aca096877b6e6154483b2e21150900000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f423630303030303030303030303030303030302d2c28231d150c0300000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236292020201f1c17110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c19222b343c43474f5456595b5c5c5b5854524d45403930271e151c262e373f434b5153575a5c5c5c5a5753514b433e362d251b161f28323a41454d5355585b5c5c5b5955544e46423b332a21180e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8998a2aebac6d2c6b9ac9f93867a6d6054473b30222d3845525d687683909ca9b6c3cfd0c3b6a99d908376665c5044382b1f1206000006121f2c3844515c6676828f9ca9b6c2cec9beb3a9988b7e7165584e42382e2420242f3a4653606d7986929facb9c5d2cabeb3a996897c706356493d3023160a00020e1a25303b454d5254524d46443f3837322e2d2a2525242322222323252a303944505c6675828e9ba8b5c1ced2c6b9ada197867a6d6053473a2d20140700101d293643505c6976838f9ca9b6c2cfc3b6a99c90837669574d42362a1d1514172029323f4b5865727e8b98a5b1becbcabeb3a995887c6f6255483c2f22150900121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d3023202a36414c56606d7884919da6b0bdc7d1c8bbafa49a908379818e9ba8b4c1c7baada094877a6d6154473a2e2114070000000000000000000000000b1724313e4a5764717d8a9aa4afbbc8c3b6a99c9083767e8a97aab4bfc1b4a79b8e817468574d42362a36424d576874818e9ba7b4c1beb3a9968a7d7683909ca9b6c3c9bdb2a8978b7e7164584b3e31261a0e02000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f42362923232323232323232323232323232323201f1c18120b030000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c141312100c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071019222a32373d4348494c4e4f4f4e4b4746423b342e271e150c141c252d31394045474b4d4f4f4f4d4a46454039302c241b130d1620282f353b4246484c4e4f4f4e4c4947433c36312921180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99aab4bfcad0c3b7aa9d908477685d524539291f2935414c566673808c99a6b3bfd1d2c5b8ac9f9286796d6053463a2d20130700000713202d3a4653606d7985929facb8c5d2c6b9ada197887b6e6155483d30261c131f2c3845515c667784909daab7c3d0d0beb1a4978b7e7164584b3e3125180b000009141f29333b42464746423b38342e2b2621201d19181716151516171a1e28343f4a5466737f8c99a6b2bfccd5c9beb3a995887b6f6255483c2f221509000f1c2935424f5c6875828f9ba8b5c2d1c4b7aa9e918477695e5246392f241b182029323b44505a6773808d9aa6b3c0cdc6baada297877b6e6154473b2e21140800121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d302326323946525e68727f8c96a0acb8c2cfcabfb4aa9f93877c75828f9ba8b5c2c7baada094877a6d6154473a2e211407000000000000000000000005111e2a36414c566774818d9aacb6c0ccc0b4a79a8d81747b8898a3aebac4b7ab9e918478695f53463a2d3a46535f697884919eabb7c4b9ada297877b74818d9aa7b4c0cec1b4a79b8e817468574d42362a1e1205000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c1616161616161616161616161616161313100c0700000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f07060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101820262b32383b3c40424342413f3b3a363028231d150c030a131b1f282f35393a3e41424342413e3a38342e271e1a1209040d161e242931363a3b3f414243423f3c3b37322a251f170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b556875828e9ba8b5c1d0cec1b4a79b8e817468564c4135291924303d4a5764707d8a97abb4bfcbd3c7baaea398887b6e6255483b2f22150800000915222f3c4855626f7b8898a2aebac6d1c5b8ab9e928578695f53463a2b1e14101c2834404b546976828f9ca9b5c2cfcbbfb2a5988c7f7265594c3f3226190c0000020d17202930363a3b3a36302c28231c1b1413110d080a09090909090c17232e3f4b5865727e8b98a5b1becbdacfbcafa396897c706356493d3023160a000d1a2733404d5a6673808d99abb5c0cbc5b9aca096877b6e61554b40352d262429333b444d56616c7784919eaab7c4d1c5b8ab9f9285786c605346392d20130600121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d30232b37434e58616d7a85929fa8b2bdcad3c6baaea2988e817476838f9ca9b6c2c7baada094877a6d6154473a2e21140700000000000000000000000714202d3946525e687784919daab7c4cbc0b5ab988b7e727986929facb9c5b9aca196887b6e6155483b2e3b4855616e7b8896a1acb9c5b8ab9e928578717e8b98abb5c0cbc4b7ab9e918478695f53463a2d211407000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f423629222222222222222222222222222221201e19130d0500000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b21272c2f303335363635322e2d2a251f18120b030001090d161d24292c2d313435363534312d2c28231d150c080000040c13191f262a2d2e3235363635332f2e2b27201a140d050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677784919eaab7c4d1ccbfb2a5998c7f7266594c3f302419222e3b4855616e7b8899a3aebac7d3cbbfb4aa978a7e7164574b3e3124180b00000a1724313d4a5764707d8a97aab4bfcad0c3b6a99d9083766a574d42362a190c0c18232e424f5b6875828e9ba8b5c1ceccbfb2a6998c7f7366594c403326190d000000050e171f252a2d2e2d2a251f1c17171413100c07080706050607060b1825313e4b5864717e8b97a4b1becad6c9bdb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a99a3afbbc7c9bdb2a8988c7f72675d51453f382f2f353d454d565e69717e8a96a0acb9c5cabfb4aa9c8f8275665b5044382b1f120600121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d3027303947535f6a74818e97a2adbac3cec9bdb2a89f92867b6e7683909da9b6c3c7baada094877a6d6154473a2e21140700000000000000000000000814212e3b4754616e7a8795a0acb8c5c7bbafa399897c6f7783909daab6c3bdb2a8988b7e7165584b3e313e4b5865717e8b98a8b2bdc2b6a99c8f83766f7c8999a3afbbc7c5b9ada196887b6e6155483b2e221509000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f42362f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2d2a251e170e05000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1f222326282929282521201e1a140c070000000000040c12181d202024272929292724201f1c18120b030000000001080d141a1e212225282929282622221f1b150e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939facb9c6d2cabdb0a4978a7d7164574a3e312417202d3a4653606d7986929facb9c5d2d0bfb2a6998c7f7366594c403326190d00000c1926323f4c5965727f8c98a5b2bfd0cfc2b5a99c8f8276695c4f4331261a0c071b2835424e5b6875818e9ba8b4c1ceccbfb3a6998c807366594d4033261a0d00000000050d141a1e2021201e1a1e202123201f1d181715141312131314171c22323f4c5965727f8c98a5b2bfcbd6cabdb0a3978a7d7064574a3d3124170a000714212e3a4754616d7a86929facb9c3cdc4b8ab9e9185796d605b5049413a3a41454f575e686e7b85919ea8b2bdc9c6baaea2988b7f7265544a3f33281c0f0300121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d302e3943505a626f7c87939fa9b3becccfc7b9aca0968c7f72697784919daab7c4c7baada094877a6d6154473a2e21140700000000000000000000000b1824313e4b5764717e8a97a8b1bdc8c5b9ac9f9286796d74818e9aa7b4c1c1b4a89b8e817568584e4337434e586875818e9ba8b4c1c0b3a69a8d80736d7986929facb9c5c9bdb2a8988b7e7165584b3e31261a0e020000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f423c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a3936302920170d020000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f131516191b1c1c1b181414110e09020000000000000001070d101314181a1c1c1c1a171313100c07000000000000000003090e121415191b1c1c1b191615130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8899a4afbbc7d4c8bbafa295887c6f6255493c2f22161f2b3844505c667784919eaab7c4d1cdc1b4a79a8e8174675b4e4134281b0e01000e1b2734414e5a6774818d9aa7b4c0cdcec2b5a89b8f827568544b4034281c13101c28343f4a546975828f9ca8b5c2cfccbfb2a5998c7f7266594c3f3326190c000000000002090e111414191f252a2d2e302d2c2924242221201f1f202123282d37424d576773808d9aa6b3c0cdd6c9bdb0a3968a7d7063574a3d3024170a000713202d3946525e6875828f9ca7b1bcc8c6b9ada1978e81746d605b534c44434b515960696e7a839097a1adbac4c9beb3a99f92857a6d6054473a2d22170b0000121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d3034404b55616c76828f99a4afbcc5d0c7bdb0a69e9184796d6b7884919eabb7c4c7baada094877a6d6154473a2e2114070000000000000000000005121e2a36424d576774818e9aa7b4c1cec3b7aa9d90847767727e8b98aab4bfc4b8ab9e9185786a5f53473a47535f6a7885919eabb8c4beb3aa978a7e71677784909daab7c3cfc1b4a89b8e817568574e42372b1e12060000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f49494949494949494949494949494949494746413a32291e13080000000013202c3946535f6c7986929facb9c5d2cbbfb2a5988c7f7265594c3f3226191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030709090d0f100f0e0c080705020000000000000000000000010406070b0e0f100f0e0b070604000000000000000000000000020507080c0e0f100f0c090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996abb5c0ccd6cabeb4aa94877a6e6154473b2e21141c28343f4a54697683909ca9b6c3cfcfc2b5a99c8f8276695c4f4336291c0700000f1c2835424f5b6875828e9ba8b5c1cecfc3b6a99c908376665c5145382e241e1a1f2c3844505c667683909da9b6c3d0cbbfb2a5988c7f7265594c3f3226190c000000000000030b12181e242930363a3b3d3a39352f302f2d2d2b2c2d2e2e34383f47535f697783909daab7c3d0d7ccc0b5ab96897c6f6356493c302316090005111e2a36414c5664707d8a95a0abb8c0c9beb3a99d938c7f736c655d565050555d606b707b8390959fa9b3bec9c1b9ada1978d8074685d5245392c1c11060000121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d303845515c67717d8a949fabb5c0cecbc0b5ab9f948a7d70676b7885929eabb8c5c7baada094877a6d6154473a2e211407000000000000000000000714202d3a46525e697784919eaab7c4cec1b4a79b8e8174686f7c8898a2aebac6b9ada197887b6e6255483b4855626e7b8897a1adb9c6baaea298887b6e6774818e9aa7b4c1d0c4b8ab9e9185786a5f53473a2e2114060000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c55555555555555555555555555555555555554524c443a3025190d0100000013202c3946535f6c7986929facb9c5d2cbbfb2a5988c7f7265594c3f3226191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bed2d3c6baaea29886796d6053463a2d201317232e424f5b6875828e9ba8b5c1ced0c4b7aa9d9184776a5e51442f24180d01000f1c2936424f5c6975828f9ca8b5c2cfd2c5b8ab9f9285796d60544a3f352f2b262a303a4653606d7985929facb8c5d2cabdb1a4978a7e7164574b3e3124180b0000000000060d151d242930353b4246484a4745403f3d3b3a3937383a3a3c3f444a505b616e7b8895a0acb8c5d1d4c7bbafa499887b6e6155483b2e22150800010d1925303a4653606c7883909da4aeb8c2c4bbafa59b918c7f776d68605b5a61676d747d8590959fa7b1bbc4c1b7aea49e91857a6d60564c4135291d0a000000121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d36414d56606d7984919ea6b0bdc7d2c7bbafa3998f82766c616c7985929facb8c5c7baada094877a6d6154473a2e211407000000000000000000000815212e3b4854616e7b8796a0acb9c5cabfb4aa988b7e72656d7985929facb8c5beb2a9988b7e726553493f4a5465727f8b98a9b3bec5b8ab9f9285796c65727e8b98aab4bfcac6b9ada197887b6e6255483b2d22170b0000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f82756962626262626262626262626262626262626262615e564c41362a1e110500000013202c3946535f6c7986929facb9c5d2ccbfb2a6998c7f7366594c403326191825313e4b5864717e8b97a4b1becad3c6b9aca09386796d6053463a2d20131d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040707090b0c0e0f10101111111111100f0e0c0a0806050300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040613131313131313131313131313130909070300000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd2c5b8ab9f928578665c5044382c1f121b2734414e5a6774818d9aa7b4c0cdd1c4b8ab9e9185786b554b4035291d100400101d2a3643505d697683909ca9b6c3cfd3c6baada2978a7d70665c5045413a37313639424d57626f7c8998a2aebac7d3c9beb3a996897c706356493d3023160a000000000610181f272f353a41464d52545653514b4c4a48474644454647494a50545b606d75828f9ca7b1bcc8d4d2c6b9ac9f9386796d6053463a2d201307000008131f2b3844505b666f7d89929da6b0b8c1c1b7ada39b918c817a716c65636c717980889297a0a7b1b9c3c0b7afa59d928a7e71685d52433a2f24190d000000121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d3946525e68727f8c96a0acb8c2d0cabeb3a99f92877c6f625c677986939facb9c6c7baada094877a6d6154473a2e211407000000000000000000000b1825313e4b5864717e8b97a8b2bdc9c7baaea298887c6f626676828f9ca9b5c2c1b5a89b8e8275655b5044505b6675828f9ba8b5c2c2b5a99c8f827665626f7c8898a2aebac6c9beb2a9988b7e726553493f33271b0f0300000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f82756f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d685e5246392d20130700000013202c3946535f6c7986929facb9c5d2cdc0b3a69a8d8073675a4d4034271a1825313e4b5864717e8b97a4b1becad3c6baada093877a6d6054473a2d21141d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080d1113141617191b1c1c1d1e1e1e1e1d1d1c1b19171513120f0b06050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d111320202020202020202020202020201615130f0a040000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd1c4b7ab9e9184786b544a3f34281c101a2733404d5a6673808d99a6b3c0ccd2c5b9ac9f928679675d5145392c20130600111d2a3744505d6a7783909daab6c3d0d6cabeb3a99d9083786d605b524c47424241464b545e6974818d9aaab4bfcad2c6b9ada197877b6e6154473b2e211408000000040e18222a313940454c52575e6163605d5558575554535051535456545c60666c727f8b949eaab9c3ced9d0c3b7aa9d908477665c5145382c1f13060000030f1c28333f4a54606b73808d949fa6b0bbc0bfb5ada39c938f857e78706f767e848d939aa1a9b1b9c3beb9aea59e938d80746c61564c4131281e1308000000121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d434e58616e7b86929fa8b2bdcad2c6b9ada1978d80746a5f606d7a869aa4afbbc8c7baada094877a6d6154473a2e21140700000000000000000005121e2a36424d576874818e9ba7b4c1cec5b8ac9f9285796d6066727f8c99a9b3bec5b8ab9e9285786c60534653606c7985929eabb8c5bfb4aa998c807366606d7985929facb8c5cfc1b5a89b8e8275655b5044372b1f120500000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc3b6a99c90827c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7a6d6154473a2e21140700000013202c3946535f6c7986929facb9c5d2cec1b4a79b8e8174685b4e412f23181825313e4b5864717e8b97a4b1becad4c7baaea194877b6e6154483b2e21151d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206090e121415191d20212224262829292a2a2b2b2b2a2a2827262422201f1b1714120e0904000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13181d202d2d2d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f0700000000000000000000000000000000000000000000000e1b2835414e5b6874818e9ba7b4c1ced0c4b7aa9d9184776a5e51442e23170c192633404c5966737f8c99a6b2bfccd3c7baaea399867a6d6053473a2d20140700111e2a3744515d6a7784909daab7c3d0dbd0c5b8aca0958d80736d605d56534d4f4c52555d666e7b86929facb8c5d0d1c5b8ab9e928578685e5246392d2014070000000a15202a343c434b51565d61696e706d676765636260605b5c60616265666d70787f8b919ba6b0bbcbd5d6cabeb3aa9a8e817467544b4034281c10040000000b17222d38424f59606d78828f949ea6afb5bdbfb5ada59e97928b837d7c838a91969fa4acb3bbc1bbb3ada49c938e81786d605a50443a301f160c01000000121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a3d4754606a74818e98a2aebac4cec8bcb1a79e92857a6d6058606d7a8793a0b6c0ccc7baada094877a6d6154473a2e2114070000000000000000000714212d3a46535f697884919eabb7c4cfc3b6a99c908376665c626f7c8897a2adbac6b9ada197887c6f62554955626f7c8897a2adb9c6baaea398897d70635c6676828f9ca9b5c2d1c5b8ab9e9285796c605346392d20130600000000000000000000121f2b3845525e6b7885919eabb8c4d1d0c4b7ab9f94908888888888888888888888888888888888888888887f7266594c3f3326190c00000013202c3946535f6c7986929facb9c5d2cfc2b5a99c8f827669554b4034291c1825313e4b5864717e8b97a4b1becad5c8bbafa295887c6f6255493c2f22161d2a3744505d6a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090f12141a1e212224292c2d2f313334353636373838373736353432312e2d2b2722211e1a14100c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d24292c3939393939393939393939393939302f2c2721191007000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced0c3b6aa9d9083776a5d5044372a1d061926323f4c5965727f8c98a5b2bfcbd7cbbfb4ab94877a6e6154473b2e21140800111d2a3744505d6a7783909daab6c3d0ddd4c8bcb1a79c928c7f756d68625f575c565e61676d78828f98a2aebac6d3cbc0b5ab9b8f827568564d41362a1e11050000030f1b26313c464e555d60686d737b7d7a777472706e6d6c65666d6d6f7174797d838c919ba3adb8c1ccddd3c6baaea2988a7d7064574a3d2e23180c0000000006111c262f3d44505c666d7a828f939fa3abb2babeb7afa9a19e95908a8990959ea1a8afb6bebdb9b0a9a29e928d81786d665c50483e32281e0d0400000000121f2b3845525e6b7885919eabb8c4c9bcb0a396897d7063564a43505a626f7c87939faab4bfcccec6b8aca0958b7f72685d54616e7a8794a1adbad2c7baada094877a6d6154473a2e2114070000000000000000000815222e3b4855616e7b8896a1acb9c5cdc0b3a69a8d80736754606c7985929fabb8c5beb3a9988c7f7265544a5465727f8c98a9b3bec5b8ac9f9286796d605466737f8c99abb5c0cbc6b9ada197887b6f6255483c2d22170b00000000000000000000121f2b3845525e6b7885919eabb8c4d1d3c7bbb0a69f9c95959595959595959595959595959595959595958c7f7266594c3f3326190c00000013202c3946535f6c7986929facb9c5d2d1c4b7aa9e918477675c5145382c1f1825323f4b5865727e8b98a5b1becbd6cabdb0a3978a7d7064574a3d2e23171b27333f49536a7784919daab7c4d0cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10151a1f21262b2d2e2f35393a3c3e3f4142434344444444444342413f3d3b3937332d2d2a251f1c18120c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f353946464646464646464646464646463c3b38322b23190f040000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8b5c2cfd0c3b6a99d9083766a5d5043372a1d101825323f4b5865727e8b98a5b1becbdcd1baaea194877b6e6154483b2e21150800101d2a3643505d697683909ca9b6c3cfdcd4cdc3b9aea49c918c817a736e69696969686d7179818f949faab4bfcad3c7bbafa3998b7e7265584b3f3025190e02000006121f2b37434e585f676d727a8086898683817f7d7b7a797979797a7c7e81858990959ca3adb5becad3d6cabfb4aa9f9285796d6053473a2d20140700000000000a141d28343f4a545d686d79818c9299a0a8aeb4bcbbb3ada7a09d97969d9fa7adb2bbbfbab2ada69e97928a80776d665c544a3f362c20160c0000000000121f2b3845525e6b7885919eabb8c4c9bcafa396897c706356494b55616c7683909aa4afbcc5d0c6bcafa59d9083786d605654616e7b8794a1aebac7c7baada094877a6d6154473a2e2114070000000000000000000b1825323e4b5865717e8b98a8b2bdc9c8bdb2a8978a7d7064575b6675828f9ba8b5c2c2b5a89c8f8275665c505c6675828f9ca8b5c2c2b6a99c8f8376675c5663707c8999a3afbbc7c9beb3a9988b7f7265544a3f33281c0f03000000000000000000121f2b3845525e6b7885919eabb8c4d1d8cdc2b8b0aba9a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2998c7f7266594c3f3326190c00000013202c3946535f6c7986929facb9c5d2d2c5b9ac9f9286796d6053473a2d201426323f4c5965727f8c98a5b2bfcbd8ccbfb2a6998c7f7366544a3f34281c1f2b3744505b657884919eabb7c4d1cec1b5a89b8e8275685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810161c20262b2e31373a3b3e414547494a4c4e4f4f505151515150504f4e4c4a4846443f3b3a36312c29231d17110a030000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a404553535353535353535353535353534948433d352b21160a000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcfc3b6a99c908376695d5043362a1d101825323e4b5865717e8b98a4b1becbd4c7bbaea194887b6e6155483b2e22150800101d293643505c6976838f9ca9b6c2cfd4cac2bcb7b6ada39c938e857f7b78767576777a7e848f939ea6b0bcc6d0cec5b9ac9f92867a6d6154473a2e2114080000000815212e3a47535f6a6f797f858d929892908e8b8a88878685868687898b8d91979da0a7adb5bec7d0d6cdc4baaea2988d8073675c5145382c1f13060000000000020b17232e38424c565d676d787f8791969fa2aab2babeb9b1acaaa3a2a9abb1b9bdbcb4aea9a19e948f857d736c655c544a42382e241a0e040000000000121f2b3845525e6b7885919eabb8c4c9bcafa396897c70635649515d67717e8a949facb6c0cecbbfb4aa9e93897d70665c5055626e7b8895a1aebbc8c7baada094877a6d6154473a2e211407000000000000000006121e2b37424e576875818e9ba8b4c1cec5b8aca096877a6d61545465727f8b98a9b2bec5b8ab9f9285796d6053606d7985929facb8c5beb4aa998c7f73665553606d7a86929facb9c5cfc2b5a89b8f8275665b5044382b1f1206000000000000000000121f2b3845525e6b7885919eabb8c4d1ded4cac2bbb7b6afafafafafafafafafafafafafafafafafafa5998c7f7266594c3f3326190c00000013202c3946535f6c7986929facb9c5d2d4c7bbafa399897c6f6356493d2f261c2733404d5a6673808d99a6b3c0ccd9cec2b5a89b8f8275665c5044382c21202d394653606c7985929facb8c5d2cec1b5a89b8e8175685b4f4235281c0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21282c31373a3c4246484b4c52545557595b5c5c5d5d5e5e5e5d5d5b5a5957555350494846423b38342f28231c150c070000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a434b515f6060606060606060606060606056544f473d32271b0f030000000000000000000000000000000000000000101d293643505c6976838f9ca9b6c2cfcfc3b6a99c908376695d5043362a1d101825323e4b5865717e8b98a4b1becbd4c8bbaea195887b6e6255483b2f22150800101c2936434f5c6976828f9ca9b5c2cfcdc2b8b0aba9a8aaa59e97928c888483828384868b91969ea5afb8c2ced0c5bcafa59b8f8275685e5246392d2013070000000915222f3c4855626f7c848c92979fa39f9d9a9896959a939292999495989a9ea1a9acb1b9bfc7d0d5cdc4bbb1a79f92867b6e61554b4034291c100400000000000006111c26303a434c555c666d737c848c9298a0a8b2bdc3bcb8b6b0afb6b7bcc2bfb4aaa39f96918a827b706c605b534a423930261c1208000000000000121f2b3845525e6b7885919eabb8c4c9bcafa296897c6f63564d57606d7984919ea6b0bec7d2c7baaea3988e82756b60544a55626e7b8895a1aebbc8c7baada094877a6d6154473a2e21140700000000000000000814212e3a47535f6a7885919eabb8c4d0c4b7aa9d918477685e5255626e7b8897a1adb9c6baaea298897c6f6256636f7c8998a2aebac6baaea298897c6f6256515d677783909daab6c3d0c5b8ab9e9285796c605346392d201306000000000000000000121f2b3845525e6b7885919eabb8c4d1dedcd4cdc7c4c3bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb2a5998c7f7266594c3f3326190c00000013202c3946535f6c7986929facb9c5d2d7cbc0b5ab998c7f7366584e42382e292b37434e586875828f9ba8b5c2cedbd2c5b8ab9f9285796d6053463d332b272e3b4854616e7b8798a2aebac6d3cec1b4a89b8e8175685b4e4235281b0f00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33383c4347484d535558565d60626466676869696a6b6b6a6a696867656461605b5354534d47454039342e261e1910090100000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b555d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f43382c1f13070000000000000000000000000000000000000000101d293643505c6976838f9ca9b6c2cfcfc2b6a99c8f8376695c504336291d101825313e4b5864717e8b97a4b1becad4c8bbaea195887b6e6255483b2f221508000f1b2835424e5b6875818e9ba8b4c1cec7bcb0a69f9c9b9ea5a9a29f999691908f8f9193999ea1a8afb7c1cad2c7beb3aa9e93897c6f62564c41362a1e11050000000a1623303d495663707c89969fa2a9aeacaaa7a5a3aca49f9f9fa3aba2a4a7abadb3b8bcc3cbd1d4ccc3bbb3a99f958c7f73695e5243392f23180c00000000000000000a141e28313a434b545c606a6f797f869196a0acb9c5c8c4c3bdbcc3c4c7c7baaea398928c847e756e69615a5049413930271e140a00000000000000121f2b3845525e6b7885919eabb8c4c8bcafa295897c6f6256525e6973808c96a1adb9c2d0c9bdb2a89f92867b6e61594f4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e21140700000000000000000815222f3b4855626e7b8897a1adb9c6cdc1b4a79a8e817467564c535f6a7885919eabb8c4beb4aa998c7f72665466737f8c99aab4bfc5b8ab9f9285796d60534b556774808d9aa7b3c0cec6b9ada297887c6f6255493c2e23170b000000000000000000121f2b3845525e6b7885919eabb8c4d1dee2d9d2ccc8c6c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5bfb2a5998c7f7266594c3f3326190c00000013202c3946535f6c7986929facb9c5d2dcd1c3b6aa9d9083776a60544a403935353a47535f6a7884919eabb7c4d1ded3c6baada297897d7063594f453d373336414b5563707d8a96aab4bfcad6cdc1b4a79a8e8174675b4e4134281b0e00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212c353e44484e5355575f616568686d6f717274757676777777777776757472706e6c6565615e5753514b443f38302a221b130b0200000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776797979797979797979797979796f6b6054483b2f2215090000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfcfc3b6a99c908376695d5043362a1d101825323e4b5865717e8b98a4b1becbd4c7bbaea194887b6e6155483b2e221508000e1a2734414d5a6774808d9aa7b3c0cdc4b7ab9f94908e939ea9adaba8a19e9c9c9c9d9fa4abadb2bac1c9d0c7c0b6aca2988f82756a6054443a3025190d010000000915222f3c4855626f7b8895a8adb3bab9b6b4b2b0b6afacacacaeb4afb1b4b8b9bec4c8cdd3cdc8c1bab2a9a1979083796d60574d4231271d12070000000000000000020c161f283139424a505860676d727a84919eaab7c4d1d1d0cac9d0d1d2c5b9ac9f92868079716c615e5650443f382f271e150c0200000000000000121f2b3845525e6b7885919eabb8c4c8bbaea295887b6f625559616e7b86929fa8b2bdcbd0c7b9ada1968c8073695e53474855626f7b8895a2aebbc8c7baada094877a6d6154473a2e21140700000000000000030f1b27333f495365727e8b98a9b2bec9c9beb3a9978b7e7164584b4e586875818e9ba8b4c1c2b5a99c8f8276665c6676828f9ca9b6c2c2b5a89c8f8275665c504a5764717d8a97a8b2bdc9cabeb3a9988c7f7265544a3f34281c10030000000000000000121f2b3845525e6b7885919eabb8c4d1ded9d0c7c0bbb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b2a5998c7f7266594c3f3326190c00000013202c3946535f6c7986929facb9c5d2dfd1c4b8aca095897c6f665b514a454140454d57626f7b8896a1acb9c5d2ded6cabeb3a99c8f82756b60574e46443f4246515d6774818d9aa7b4c0d0dbcdc0b3a79a8d8074675a4d4134271a0e00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e474f55585f6266696e7174777a7c7d7f8182828384848484838382817f7d7b7975726e6964605c55504a423c342d251d140b02000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d79868686868686868686868686867d6f6356493c3023160900000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8b5c2cfd0c3b6a99d9083766a5d5043372a1d101825323f4b5865727e8b98a5b1becbd4c7baaea194877b6e6154483b2e211508000c1926333f4c5966727f8c99a5b2bfccc3b6a99c9082828e97a1aab4b2adaba9a8a9aaacafb5b9bdc4cccbc5beb6afa49a92857b6e61584e4332291e1308000000000815212e3b4854616e7b8794aab4bec5c5c3c1bebdc0bbb9b8b9babfbcbec0c4c6c9cfd0cac6c3bcb8afa8a09791857b6e665c51453b301f150b01000000000000000000060f1b242e38404a525b636c707b828f96a0acb9c5d2cdc7c4c3c5c6cac7baaea3988e817b736d676058504840372e251b11080000000000000000121f2b3845525e6b7885919eabb8c4c7bbaea194887b6e6153606b75818e98a2aebac4cfc7beb0a69e9184796d60574d424855626f7b8895a2aebbc8c7baada094877a6d6154473a2e2114070000000000000005121f2b3744505b6575828e9ba8b5c1cfc6b9ada197887b6e6155484b5865717e8b98a8b2bdc5b8ab9f9285796c606d7985929facb8c5beb3a9988c7f7265544a4754616e7a8796a0acb9c5cfc2b5a89c8f8275665c5044382b1f12060000000000000000121f2b3845525e6b7885919eabb8c4d1ddd2c7beb6afacacacacacacacacacacacacacacacacacacaca5998c7f7266594c3f3326190c00000013202c3946535f6c7986929facb9c5d2dfd4c8bcb1a79c9082786c605c54524c4b51565e6973808d9aa8b2bdc9d5e1dbcfc5b7aa9e94897d706960585350494d535a606d7a85929eabb8c5d1d8ccbfb2a5998c7f7266594c3f3326190c00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f5961636a6e73787b7e818487888a8c8e8f8f909091919190908e8d8c8a8885827f7b76716d67605c544e463f372f261d140a000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a869393939393939393939393897c6f6356493c3023160900000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2ced0c3b6aa9d9083776a5d5044372a1d061925323f4c5865727f8b98a5b2becbd7cbbfb4ab94877a6e6154473b2e211408000b1825323e4b5865717e8b98a4b1bed0c2b6a99c8f837a859198a3abb3b9b7b6b5b6b7b9bbc0c7c9c8c6bfbab3aca49f93887e70695e52463d3220170d02000000000714202d3a4753606d7a8698a2aebac7d2d0cdcec9c5c4bcbfc1c3c4c5c7cbc7c6c5c3c2bfbab8b1aba59e9691857c6f695e544b4033291f0d03000000000000000000030e18212d36404a525c646d727e858f949fa8b2bdc9c8c2bbb7b6b8b9bec5bfb4aa9e938e8680796f6a625a524940372d231a0d0400000000000000121f2b3845525e6b7885919eabb8c4c7baada194877a6e615b656f7c89939eaab4bfccccc0b6ac9f948a7e71675d51453c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e211407000000000000000613202d394653606c7985929eabb8c5d1c4b8ab9e918578695f53474854616e7b8796a0acb9c5baada297887b6f626f7c8898a2aebac6b9ada197887c6f62554846525e687784919eaab7c4d1c5b8ab9f9285796d6053463a2d2013060000000000000000121f2b3845525e6b7885919eabb8c4d1d8ccc0b6aca49f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f998c7f7266594c3f3326190c00000013202c3946535f6c7986929facb9c5d2dfd9cdc3b7ab9f948d80736d66605d56555d60686e7b86929facb8c4cedae5dfd3c7bbb0a69e92857b6f6a63605b53575f616c73808c97a1adb9c6d2d7cbbfb5ab978b7e7164584b3e3125180b00101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4855616b70777b8084888b8e91969597999a9b9c9c9d9e9e9d9d9c9b9a989797928f8b87837e79726d665f58514940382f261c12090000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939f9f9f9f9f9f9f9f9f96897c6f6356493c3023160900000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1ced0c4b7aa9d9184776a5e51442d22170b1926333f4c5966727f8c99a5b2bfccd3c7baaea399867a6d6053473a2d201407000a1723303d4a5663707d8996aab4bfcac4b7aa9d9184777d869299a1a9afb6b9bec0c1c2c2c2c1bfbdb8b4aea9a19a938c7f726c61574d42342b200e05000000000006131f2c3845515d677985929facb8c5d2d6ccc4bdb9b7afb2b4b6b8b8babfbbb9b8b7b5b4aeaca7a09d938e847b6f6a5f574d42392e21170d0000000000000000000009151f2a333e48525c646e747f8892989fa6b0bac4c3bcb8b0aba9abadb3babfbcafa59e99928d847c716c635b52493f352c1f160c01000000000000121f2b3845525e6b7885919eabb8c4cabfb4aa93877a6d60606c7883909da5afbcc6d0c8bbafa49a9083766c61554b403c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e211407000000000000000915222f3c4855626f7b8897a1adb9c6cec2b5a89b8f827568574d4246535e697784919eaab7c4beb3a9988b7e7165727f8b98aab4bfc5b8ab9e9285786c605346414c566874818e9ba7b4c1cfc6baaea298897c6f6256493c2e23170c0000000000000000121f2b3845525e6b7885919eabb8c4d1d4c8bbafa49a9392929292929292929292929292929292929292928c7f7266594c3f3326190c00000013202c3946535f6c7986929facb9c5d2dfd6cec7bbb0a69c928d8078716d686969676d717a839098a2aebac7d6e0ded5cec8c1b9ada19791847c746f6c656969696e747e87939fa9b3becad6d3c7bbaea399887c6f6255493c2f22160900101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d83888d9196989b9ea0a8a4a5a7a8a9a9aaaaaaaaaaa9a8a7a5a9a19e9c9895908b857f786f6a625b524a40382e241b0f0600000000000000000000000000000002020202020202020202020202020202020714202d3a4753606d7a8693a0acacacacacacaca296897c6f6356493c3023160900000000000000000000000000000000000000000e1b2734414e5a6774818d9aa7b4c0cdd1c4b7ab9e9184786b544a3f33281c0f1a2633404d596673808c99a6b3bfccd2c5b9ac9f928679675d5145392c201306000815212e3b4854616e7b8798a2aebac6c5b8ab9e928578707e8792979fa4acadb3b3b5b5b5b5b4b3b2acaba39f9792887f726d635a50453b3022190f00000000000004101d2935404b556b7884919eabb7c4d1cec4bab2acaba3a5a8a9abacaeb4afacabaaa8aaa29f9b959089817a6e695f584e453b30271d0f05000000000000000000020e1a26313c45505a636e74808c939aa2aab0b8c2bfbab1aca69f9c9ea1a9aeb4bcb7afaba39f9591877e736d635b51473e31281e1308000000000000121f2b3845525e6b7885919eabb8c4c6baaea29886796c6067717e8b959fabb7c1cecabeb3aa9f93877c6f625a5043393c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e211407000000000000030f1c28333f4a5465727f8b98a9b3bec9cabfb4aa988c7f7265594c3f424d576774818e9aacb6c0c0b4a79a8d81746875818e9ba8b4c1c1b5a89b8e8275655b50443e4b5865717e8b98a9b3becacabeb3aa998c7f7266544a3f34281c100300000000000000121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f93888686868686868686868686868686868686868686877f7266594c3f3326190c00000013202c3946535f6c7986929facb9c5d2d6ccc4bdb9b7aea49c928d837e7a777675777a7e849095a0aab4bfcad6dbd2ccc3bdb8b7b3a9a1969187817c79777576777b80889399a4afbbc5cfdad2c5b9ac9f9286796d6053473a2d20140700101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818d95999ea1a8a7aaacb2b0b2b4b5b5b6b7b7b7b7b6b6b5b4b2b3adaba8a79f9d97918b837c726d645c524a40362d21180e030000000000000000000004080a0a0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f14202d3a4753606d7a8693a0adb9b9b9b9b9afa296897c6f6356493c3023160909040000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd2c5b8ab9f928578665b5044382b1f121a2734414d5a6774808d9aa7b3c0cdd1c4b8ab9e9185786b554b4035291d1104000613202d394653606c7985929facb8c5c6b9ada197877a6d707d858e939a9ea1a9a7a8a9a9a8a7a6a8a09d99928d857d726d635b51483e33291f1007000000000000000c18242f44515d6a7784909daab7c3d0c9bdb2a8a19e96999b9d9e9fa3aaa49f9f9d9b9998928e89837d746d685f574e463c33291e150b0000000000000000000006121e2b37424d57626c73808d929fa4acb3bcc2bcb4aea7a09d949092979fa2aab0b8bdb4aea8a099928b7f736d62594f433a2f24190d010000000000121f2b3845525e6b7885919eabb8c4c5b8ac9f92857966606d7984919ea7b1bcc9d3c6baaea2988e81746a6054483e313c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e21140700000000000006121f2b3844505b6675828f9ba8b5c2cfc6baaea298897c6f6256493c3e4a5764717e8a9aa4afbbc3b6aa9d908377687784919eaab7c4bdb2a8988b7e716553493f3b4855626e7b8897a1adb9c6d0c2b5a99c8f8276665c5044382c1f120600000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f82797979797979797979797979797979797979797979726d63574a3e3125180c00000013202c3946535f6c7986929facb9c5d2ccc4bab2acabacaea49c95908b8684838283858a9196a0a7b1bcc6d0dbd2c9c1bab2acaaacaea8a199938e898583828384888d939aa4abb5c0cdd7d7cbc0b5ab9c908376675d5145382c1f130600101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818d9aa7abacb2b4b7b9bdbdbfc1c2c2c3c3c4c4c4c3c3c1c0bfbeb9b8b5b1aba9a19e9590877f746e645c52483f332a1f14090000000000000000050b101416171c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c202d3a4753606d7a8693a0adb9c6c6c6bcafa296897c6f6356493c30231618150f0902000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd2c6b9ac9f9386796c605346392d20131b2835424e5b6875818e9ba8b4c1ced0c3b7aa9d9084776a5d51442f24180d010005121f2b3744505b657783909daab6c3c9beb3a996897c6f6b6f7a81878e9297989a9b9c9c9b9b999796918c86817a706b635b51493f362c20170d0000000000000000071d293643505c6976838f9ca9b6c2cfc5b9aca19691898c8e9091929893999392908f8c8985827d77706b605d564d453c342a21170c03000000000000000000000814212d3a47535f69717e8b929ca4afb6bec4bab2aaa29f95908983858c92989ea6adb5bfbab1aba39f928c7f726b61564c4135291e13080000000000121f2b3845525e6b7885919eabb8c4c4b8ab9e9185786b6973808d97a1adb9c3cdc8bdb2a89f92857a6e61584e43362f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e2114070000000000000613202d394653606c7985929fabb8c5d2c5b8ac9f9285796d6053463a3a4754616d7a87939facb9c5b9ac9f9286796d7a86939facb9c6b9aca196887b6e6155483b3a47535f6a7885929eabb8c5d1c5b8ac9f9285796d6053463a2d20130700000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f82756c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c66635b51463a2e22160900000013202c3946535f6c7986929facb9c5cfc4bab2a8a19ea1a8aea7a09d9892918f8f9092989ea1a9b1b9c3ced8d6ccc1b7afa8a09d9fa2aaaba49f9a9792908f8f91969a9fa4acb5bdc7d2ddd4c7bbafa3998c7f7266554b4035291d100400101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818d9aa7b4b9bdc1c4c4c1bfbdbfbab8b8b8b8b9bbbfbdbfc3c4c8c6c5c2bcb8b3ada7a099928b80746e645a50453c31261a0e040000000000000810171c20232429292929292929292929292929292929292929292d3a4753606d7a8693a0adb9c6d2c9bcafa296897c6f6356493c30282725201b140c030000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdd1d4c8bbafa49a877a6d6154473a2e21141c2936434f5c6976828f9ca9b5c2cfcfc2b5a99c8f8276695c4f4336291c070000030f1b27333f49536874818e9ba7b4c1cfbeb1a5988b7e7265686d757c8185898b8d8e8f8f8f8e8c8a8784807b746d68615951493f372e241a0e0500000000000000020f1c2835424f5b6875828e9ba8b5c1cec4b7ab9e91847d7f81838585868686868584827f7d7975706b636059524c433c332a22180f050000000000000000000007131f2c38434f59616e7b86929fa4aebbc0c4bab2a8a198928c837d767a7f868f949ca3adb5bfbdb5afa49f93877d70685d52453a2f24190d0100000000121f2b3845525e6b7885919eabb8c4c4b7aa9d9184776a6e7b86929fa9b2becbcfc6b8aca0968c7f72685e52463c322f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e2114070000000000000916222f3c4955626f7c8897a2adbac6cfc2b6a99c8f8376665c5044383946525e687784909daab7c3bbaea399897c707d899aa4afbbc4b7ab9e918478695f53463a37434e586975828f9ca8b5c2d0c6baaea298897c6f6356493c2e23180c00000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f595751493f352a1e120600000013202c3946535f6c7986929facb9c5c9bdb2a8a19691969fa6b0acaaa39f9d9c9c9d9fa2aaadb2bbc3cbd5d7cdc4baafa59d96919298a2aeafaca9a19e9d9c9c9da0a8acafb6bec7d0d9d2cabfb4aa9f92877b6e6154473b2f24180c0000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818d9aa7b4c0c3bdb9b7b4b2b0b4aeacabababacaeb5b0b3b7b8bcc3c8ccc8c4beb9b1aba39f928d80736c62574d42372b20160a000000000008121a22282d30313535353535353535353535353535353535353535353a4753606d7a8693a0adb9c6d3c9bcafa296897c6f6356493c353534312c251e150c020000000000000000000000000000091623303c4956636f7c8996abb5bfcbd7ccc0b6ac95887b6f6255483c2f22151e2a36414c566a7784919daab7c4d0cdc0b4a79a8d8174675a4e4134271b0e0100000b17222d3e4b5865717e8b98a9b3bec9c1b4a79b8e8174655e616a6f74797c7e808282828281807e7b77736e69615d564f473f372e251c12080000000000000000010e1b2734414e5a6774818d9aa7b4c0cdc5b8ab9f9285787275767879797a797978777573706d67636059544f45413a312a2118100600000000000000000000000915222f3b4854606b76828f98a2aeb6c0c7bdb2a8a19691867f78706b6d737b828c919ca3adb8c1c0bbafa49991857a6d60564c4135291d110400000000121f2b3845525e6b7885919eabb8c4c3b6aa9d9083776b75828f98a3aebbc4cfc6bdb0a69e9184796d60564c41342b2f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e211407000000000003101c28343f4a5465727f8c98a9b3becacbc0b5ab998c807366544a3f3436414c566774808d9aabb5c0bfb5ab988b7e727f8c99acb6c0c1b4a79b8e817468574d4237313f4c5966727f8c99aab4bfcbcabfb4aa998c7f7366554b4034281c1004000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c5353535353535353535353535353535353534c4a463f372d23180d0100000013202c3946535f6c7986929facb9c5c5b9ada19689848f949fa9b2b4aeacaaa9a8aaacaeb4b9bdc4cdd6d1cbc3bbb2a89d938e8486929fa5afb9b3adabaaa8a9aaacb2b9bbc0c7d0d4d0c7c0baaea2988e8175695e52463a2d1d12070000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818d9aa7b4b9b6b2acaba8a5a3aaa29f9e9e9f9fa3aba3a6aaacb1b9bbc0c7d0c9c3bdb5afa49d928b7e71695f53463d32271b0f0100000005101a242c33393c3d424242424242424242424242424242424242424242424753606d7a8693a0adb9c6d3c9bcafa296897c6f635649424242413d3730271e140900000000000000000000000000000815212e3b4854616e7b8799a3aebbc7d3d2bdb0a3968a7d7063574a3d302417202d3946525e687885929fabb8c5d2cbbfb2a5988c7f7265594c3f3226190c0000000615222f3b4855626e7b8897a1adb9c6c4b8ab9e9185786c60585f62666c6f7274757676757473716e6966615e57524c443e352d251c130a000000000000000000000d1a2633404d596673808c99a6b3bfccc6baaea298867a6d686a6b666d6d6d666c6a686663605c55544f48443d352f281f180f06000000000000000000000004111d2935414c56636f7c89949eaab4bfcbc0b5aba19691847c726d666060696e777f8c919ca6b0bbc7c0b5aba1978d8074685d5245392c20130600000000121f2b3845525e6b7885919eabb8c4c2b6a99c8f8376707d89939eaab4bfcdcbbfb5ab9e948a7d70665c51443b30222f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e211407000000000006121f2c3844505c6675828f9ca8b5c2cfc7bbafa399897d7063564a3d2e303d4a5763707d8a99a3afbbc1b4a79a8e8175828e9ba8b5c1bdb1a8978a7e7164574b3e31303c4956636f7c8998a3aebac7d0c2b6a99c8f8276675c5145382c1f1306000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f46464646464646464646464646464646463f3e3a352d251c11070000000013202c3946535f6c7986929facb9c5c4b7ab9e918478828f97a1a9b1bab9b7b6b5b6b8babfc6c9cfd0cac7c0bbb2a9a1968e81777e8a939da5aeb8b9b8b6b5b6b7b8bdc3c8ccd2cdc8c4beb6afa49f92867b6e61574d42362a1e0b010000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818d9aa7afaca9a8a19e9b989694989292919292999597999da0a7acafb6bec5cecfc7c0bbaea49f92867b6e61584e43372b1d12070000000b17222c363e44494a4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f53606d7a8693a0adb9c6d3c9bcafa296897c6f63564f4f4f4f4d48413930251b0f04000000000000000000000000000713202d3a4653606d7986929facb9c5d2cbbeb2a5988b7f7265584c3f2f2418212e3b4754616e7a8798a2aebac6d3cabeb3a9978a7d7064574a3d3124170a0000000814212e3a47535f697885929eabb8c5c6b9ada197887c6f625653545b6062656768696968686664615e5754524d46413a322c231c130a01000000000000000000000c1926323f4c5965727f8c98a5b2bfcbcabeb3aa94887b6e615d5e5c6060605c545d5c595653514b48443d383329241e160d060000000000000000000000000613202c3945525d6875828f9ba6b0bcc5c7bbafa39991847b6f6a605c54575e656c737f8c949eaab7c3c7bdb3a99f92867a6d6054473a2d22170b00000000121f2b3845525e6b7885919eabb8c4c2b5a89b8f82757883909da5afbcc6d1c7bbaea3998f82766b61544b403229222f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e21140700000000000713202d3a4653606d7985929fabb8c5d2c5b9ac9f92867a6d6053473a2d2d3a4754606d7a86929facb9c3b6a99d90837784919eaab7c4b8aca095877b6e6154473b2e2d3a4653606d7986929facb8c5d2c5b8ac9f9286796d6053463a2d201307000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f423939393939393939393939393939393933312e2a231c130a000000000013202c3946535f6c7986929facb9babfb4ab9a8e81747b859197a0a7aeb4babec2c3c5c6c7c5c5c3c2bebab5afa8a09791847a6d74818e939ca4acb1b7bbc1c2c4c5c7c7c5c4c3c1bcb8b2aca49f928b7f72695f53453b30251a0e000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818d9aaba49f9c9896918e8c8a8886858585858686888a8c90959b9fa4acb4bcc5cfd1cbc0baaea2988f82756a605447392f23180c000004101c28333e485055575c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c606d7a8693a0adb9c6d3c9bcafa296897c6f635c5c5c5c5b59534b41372c2015090000000000000000000000000006121f2b3844505c667784909daab7c3d0cdc0b4a79a8d817467554b4035291d23303d495663707c8996aab3becad2c6b9ada197877b6e6154483b2e21150800000006121e2b37424d576874818e9ba9b3bec9beb3a99a8d8174685d524a505356585a5b5c5c5c5b595754534d4746423b353028201a110a0100000000000000000000000b1825313e4b5864717e8b97a4b1becad0bcafa295897c6f62564a50535353514b514f4c4a4745403938332c27211913100b040000000000000000000000000714212d3a4754606d7a86929facb9c2cec5b9ac9f92877c6f695f58504a4d535b606d75828f9ca7b1bcc8c4baaea2988b7f7265544a3f33281c0f03000000121f2b3845525e6b7885919eabb8c4c1b4a79a8e81747e8b95a0acb7c1cfc9beb3a99f92877b6e62594f42392e20222f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e21140700000000000916232f3c4956626f7c8998a2aebac6d0c3b6aa9d908377675d5145392c2c3945515d677683909da9b6c3b8ac9f92857a86939facb9c4b7aa9d918477695e52463a2d2c3845515c667683909ca9b6c3d2c7baaea298897c6f6356493c2f24180c000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f42362c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2625221e180d0802000000000013202c3946535f6c7986929facaeaeaeaea3998a7d706f7c8590959fa3abadb3b5b7b8babbb9b8b7b5b3adaba39f9691857c6e686d78818d929da0a7abb0b4b6b8b9bbbbb9b8b6b4b1aba8a09a938c80746d62574d4233291f1409000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818d9a9d9993908b8784817f7d7b7a7978787879797b7d8083888e939aa2aab4bdc6d1d6cabfb4aa9e93897c6f62554b4034291c1004000814202d3944505a6164686868686868686868686868686868686868686868686868686d7a8693a0adb9c6d3c9bcafa296897c6f686868686868655d53483d3125180c0000000000000000000000000003101c28343f4a546874818e9ba7b4c1d0d0c3b6a99d908376675d5145382c1f2834404a5466727f8c99a5b2bfd0d1c5b8ab9e928578695e53463a2d211407000000020e1a26313d4a5763707d8a97a2adbac7c4b8ac9f92867a6d60584e4446494b4d4f4f4f4f4e4d4a4846423b3a363029241e160e0d060000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9cabdb0a3978a7d7064574a4446474645404442403d3a38342f2c2723232322201b160f0700000000000000000000000b1724313e4a5764717d8a98a3aebac7cec1b4a79b8e81746a60574e443f4149505b626f7c8895a0acb8c5cabfb4aa9c8f8276665b5044382b1f1206000000121f2b3845525e6b7885919eabb8c4c0b3a69a8d807a85929ea7b1bcc9d2c6b9ada1978d80736a5f53473e30271d222f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e2114070000000004101c2834404b5466727f8c99aab4becacdc0b3a79a8d807467554b4035292935414c556673808d99aab4bfbaaea2988a7e8a9aa4afbbc0b5ab9a8d817467564d42362a2834404b546673808d99acb6c0cccabfb4aa998c7f7366554b4035291d10040000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f42362b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b21201d19130c050000000013202c3946535f6c7986929fa1a1a1a1a19f92867a6d6a6f7b838d92999fa2a9a9abacaeafacabaaa8a9a29f99928d847c6e6a5f666d78808990959c9fa6a7a9abacafafacaba9a7a79f9d96918880746e645b51453b3120170d02000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818d95908b86837f7b787572706e6d676b6b6c676d6e7073777b81889298a2abb5bfcbd7d0c6bcafa59b8e8174675c5145382c1f1306000a1623303c4955616c707575757575757575757575757575757575757575757575757575798693a0adb9c6d3c9bcafa296897d757575757575756f65594d4134271b0e00000000000000000000000000000b17232e3f4c5965727f8c98aab4becad2c5b9ac9f92867a6d6053473a2f242c3844515c6675828f9ba8b5c2cecfc2b5a99c8f827669574d42362a1e1205000000000913202d3a4653606d7985929facb6c0c6baaea2988d80736a60564d443c3f414243434241403e3b3a36312d2a25232524221e18110901000000000000000000000916232f3c4956626f7c8995a2afbcd2cbbeb1a5988b7e7265584b3f3a3a3a38342e3533303030303030303030302f2c2721191107000000000000000000010d1a2734404d5a6773808d9aaab4bfcbcabfb4aa96897c7063584e453c34383f47535f6a7783909daab7c3d0c5b8ab9f9285796c605346392d201306000000121f2b3845525e6b7885919eabb8c4bfb2a6998c7f808d97a1adb9c3cdc8bcb1a79e92857a6d60574e42352c1e15222f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e2114070000000006131f2c3845515c6676828f9ca9b5c2d0c9bdb2a8978a7d7164574a3e2f24242f3d495663707d8998a3aebabfb4aa9b8e828e9bacb6c0bbafa4998a7d7064574a3d3025232e3d4a5763707d8a9aa4afbbc8d0c2b6a99c8f8376675d5145382c1f13060000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f423838383838383838383838383838383838382e2d2a251e170e0500000013202c3946535f6c798692949494949494948f8276675f696e7980868d92979a9c9e9fa2a39f9f9d9b9997928d87807a6e6a5f575c666d737d838a9094989b9d9e9fa3a39f9e9d9a9895908b847d736e645c52493f33291f0e0500000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818d89837e7a76726e6968656361605d555e555c60626466696e757d869299a3aebbc7d1d7cec1b8ac9f9286796d6053473a2d201407000a1724313d4a5764707d8282828282828282828282828282828282828282828282828282828f9ca8b5c2cfdbcfc3b6a99c90828282828282828175685b4f4235281c0f00000000000000000000000000000616232f3c4956626f7c8998a2aebac6d3c7baaea399897d7063554b413529313a4653606d7985929fabb8c5d2c9bdb2a8988c7f7265594c3f31251a0e020000000006121f2c3844515c6674818d9aa4afbbc8bfb4aa9f92877c6f685e564e45403a363036353533312e2d2a252a2d2e3032312e29231b1309000000000000000000000815222e3b4855616e7b8894abb5c0ccccbfb3a6998c807366594d403d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b38322b23190f040000000000000000030f1c2936424f5c6975828f9ca8b5c2d1c6baaea298867a6d6053473d33282d37434e586774818e9aa7b4c1cdc6baaea298887b6e6155483b2e221508000000121f2b3845525e6b7885919eabb8c4c2b5a89b8f8287929fa9b3becbcec6b8aca0958b7e71685d52453c31231a15222f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e211407000000000713202d3a4653606d7985929facb8c5d2c5b9aca096877a6e6154473b2e21202d3a4753606d7986929facb8c5b8ab9e9285929eabb8c5b9ac9f93867a6d6154473a2e21212d3a4754606d7a86939facb9c6d2c5b9ac9f9286796d6053473a2d2014070000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f454545454545454545454545454545454545453a3936302920170c02000013202c3946535f6c79868787878787878787877f7265575f676d737b8085898d8f919298999292908f8c8985817b746d685f574e545c606b70787e83878b8e90929299999291908e8b88837e79706b635c524a41372d21180d0000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a677480827c77716d6865615e5759575553514b524b51535557575f626b707c87929fabb5c0cbd7d3c6baaea298897d706356493d3023160a000c1926333f4c5966727f8c8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f949eaab7c3d0dcd0c4b7ab9f94908f8f8f8f8f8f86796c5f5346392c201300000000000000000000000000000713202d3a4653606d7985929fabb8c5d1cbbfb4ab9a8e8174675d51453c3539434e5863707d8a98a2aebac6d2c5b9ada196887c6f6255483c2f221509000000000004101c2834404a54626e7b87939facb9c1c6bbafa39991847a6e685f58514b46423d3b393630363535363036393b3d3f3e3a342d251b11060000000000000000000714212e3a4754616d7a8799a4afbbc7cdc1b4a79a8e8174675b4e4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4948443d352b21160b000000000000000004101d2a3743505d6a7683909da9b6c3d0c5b8ac9f928579675d5145382d292c31404d5a6673808d99a6b3c0cccabeb3aa95887c6f6255493c2f221609000000121f2b3845525e6b7885919eabb8c4c3b6aa9e938f9299a3aebbc5cfc6bcafa59d9083786c60564c41332a201115222f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e21140700000000091623303c4956636f7c8998a2aebac6d1c4b7aa9e918477685e5246392d201f2c3845515c6776838f9ca9b6c2b9ada1979297a1adb9c3b6aa9d908377685d5246392d20202c3945525d687784909daab7c3d0c7baaea398897d706356493d2f24180d0100000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c52525252525252525252525252525252525252524746413a32291e130800000815212e3b4854616e7b7b7b7b7b7b7b7b7b7b796d6053555d60696e73797d80828485868686858482807c79746e6a605d564e454a505960666d71767b7e818385868686868583817e7b77716d666059524a41382f251b0f060000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7975706b65615e5654534d4c4a4847454045404546484a4d5359606a73808d99a3afbbc7d3d6cabfb4aa998c807366594d4033261a0d000c1926333f4c5966727f8c999b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9c9ea6b0bbc7d3dfd3c7bbb0a69f9c9b9b9b9b9b9286796c5f5346392c2013000000000000000000000000000006121f2c3844505c6675828f9cabb5bfcbd1c5b8ab9f92857a6d60584e4641444b55606a75828f9caab3becad1c4b8ab9e9184786c605346392d2013060000000000000c18232e3947535f6975828f9ca5afbcc6c0b5aba19690837a6f6a605d55524d4a4746414342424242434146474a4c4a463f372d23180d0100000000000000000613202d394653606c7986939facb9c6cec2b5a89b8f8275685c5656565656565656565656565656565656565656544f473d32271b10030000000000000004111e2b3744515e6a7784919daab7c4d0c6baaea29886796d6053463e3935383b434e586774818e9aa7b4c1cdd0bcafa396897c706356493d3023160a000000121f2b3845525e6b7885919eabb8c4c6bbafa59e9b9fa3abb5bfcdcabfb4aa9e93897d6f665b50433a2f21180e15222f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e21140700000004101c2934404b5566737f8c99aab4bfcacec1b4a79b8e817468564d41362a1e1c2934404b5566737f8c99aab3bebeb3a9a19ea1a9b3bebfb5ab9a8d807367564c4135291d1d2935414c566774818e9aa7b4c1cfcbbfb4aa998c807366554b4035291d100400000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e54524c443a3025190d01000714212d3a46535e696e6e6e6e6e6e6e6e6e6e6d675d514b51575f61676d707376787979797978777573706d67625f58524c433c3f444f545c6064696e7174767879797979787674726e6965605c544f4740372f261d1309000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c676d6763605954524c4846423f3d3b3a39352f34383a3b3d42474f58606d7a86929facb9c5d2dbd0c1b5a89b8e8275685b4f4235281c0f000c1926333f4c5966727f8c99a5a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8aab0b8c1ccd7e3d8cdc2b8b0aba9a8a8a8a89f9286796c5f5346392c2013000000000000000000000000000003101c28343f4a5465717e8b99a3aebbc7d3c6baada2978c7f736a5f57524c51555d676f7c89949eaabcc5d0c7bcb1a79a8d8073655b5044372b1f120500000000000007121c2b37424d57636f7c89939eaab4bfc7bdb2a8a09590847c736d67615e575654524c504f4f4f4f504d525456585651493f34291e1206000000000000000006121f2b3844505b667885929eabb8c5d0c3b6a99d9083766a63636363636363636363636363636363636363636360594f44382c2013070000000000000004111e2a3744515d6a7784909daab7c3d0cabfb4aa95897c6f62595047464145464d555f6a7783909daab6c3d0cbbfb5ab96897c6f6356493c30231609000000121f2b3845525e6b7885919eabb8c4ccc1b8afaaa8acaeb5bdc6d1c7baaea2988e81756b60544a3f31281e0f0915222f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e21140700000006131f2c3845515c6776838f9ca9b6c2d0c9beb3a9988b7e7165584b3e30251918232f3c4956626f7c8998a2aebac5bbb3adabadb3bbc5bbaea399897d7063564a3d3024191924303e4b5864717e8b97a9b2bdc9d1c3b6a99c908376675d5145392c20130600000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f82756b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b615e564c41362a1d11050005121e2a36424d575e61616161616161616161605d554b40454d53555c606367696b666d6d676c6a686663605c55534e45413a31343d424a5053575e6165686a6b676d6d666b6a6765615f5753514a423d352e251d140b01000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b555c605c55544f4746413b3a3631302e2d2c2924282c2d2f31373d45525d6876838f9ca9b6c2cfdcd0c3b6a99d9083766a5d5043372a1d10000c1926333f4c5966727f8c99a5b2b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b7bbc1cad3dee9ded4cac2bbb7b6b5b5b5ac9f9286796c5f5346392c20130000000000000000000000000000000c17232e3a4754616d7a86929facb9c3cdcabeb3a99f92867c6f69615d565c60676d7983909da6b0bbced1c4b8ab9f95887c6f6253493f33271b0f03000000000000000e1a26313c4854606b75818e98a2aebac1c4bab1a7a09691868079736e696663615e565c5c5b5b5c5d565e616365625b51463a2e2215090000000000000000030f1c28333f4a546b7784919eaab7c4d1c4b7ab9e918478707070707070707070707070707070707070707070706b6054483b2f2216090000000000000003101d293643505c6976838f9ca9b6c2d0d0c1b4a79a8e81746b615a54524c5153575f676f7c8895a0abb8c4d1c7bbaea399887b6e6255483b2f221508000000121f2b3845525e6b7885919eabb8c4d1cac1bbb6b5b9bbbfc6cfc9bdb2a89f92867b6e61594f42382d1f160c0915222f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e2114070000000714202d3a4753606d7986929facb9c5d2c6b9ada197887b6e6255483b2f221513202d3a4653606d7985929fabb8c5c5beb9b8b9bec5c5b9ac9f92867a6d6053473a2d201415222e3b4855616e7b8896a1adb9c5d2c5b9ac9f92867a6d6053473a2d20140800000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8278787878787878787878787878787878787878787878786d685e5246392d20130700020e1a25313b454d535454545454545454545453514b43393b42464b5153565a5c545c60605c555d5c595653514b47433c352f282830383f44464d5254585b5d555c60605c545d5b5855534d46444039302b231c130b0200000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39434b5153514b48443d3936302d2a25242220201d181c1f2022262b35414c566673808d99a6b3c0ccd9d0c4b7aa9d9184776a5e5144372b1e11000c1926333f4c5966727f8c99a5b2bfc2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c3c7ccd3dce5efe6dcd4cdc7c4c3c2c2b9ac9f9286796c5f5346392c20130000000000000000000000000000000613202d3946525d6875828f9ba7b1bcc8d0c5baaea29891847b726d6869666d7179828f95a0acb8c1ccc8bcb1a79d9083766a5f5341382d22170b00000000000000000915202c38434f59616e7b86929fa5afb9c3c3b9b1a8a198928d847f7b7673706e686a6969686869696a686e70726d62564a3e3124180b0000000000000000000b17222d43505d6a7683909da9b6c3d0c5b9ac9f92867d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d706356493d3023160a00000000000000010e1b2734414e5a6774818d9aaab4bfcbd2c6b9ac9f93877d716c64615e565c6063696e7983909da7b1bcc8d2c5b9ac9f9286796d6053463a2d201307000000121f2b3845525e6b7885919eabb8c4d1d3ccc6c3c2c5c7cbd1d0c7b9aca1968c7f73695e52473d2f261c0d040915222f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e2114070000000a1623303d495663707c8998a3aebac7d1c5b8ab9e9285796c605346392d2013121f2c3844505c6675828f9ca8b5c2cfcac6c5c6cacfc3b6a99c908376675d5145392c201314212d3a46535f697884919eabb8c4d1c7bbaea399897d7063564a3d2f24190d01000000121f2b3845525e6b7885919eabb8c4d1d2c5b9ac9f928685858585858585858585858585858585858585858585857a6d6154473a2e211407000009141f29333b42464848484848484848484847454039313136394045464a4d4f4a505353514b514f4d4946454039373129241e1e262e34383b4246484b4e504b515353504a504e4b4846423b38342e271e19110a010000000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303940454645403938322d2a25211e1a17151413100d101313151a242f3f4c5865727f8b98a5b2becbd8d1c4b7ab9e9184786b5e5145382b1e12000c1926333f4c5966727f8c99a5b2bfcccecdc5bebab8b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b9bdc4ccd6e0ebe0d6ccc4bdb9b8b7b7b7ac9f9286796c5f5346392c201300000000000000000000000000000005111d2935414c5663707d89959fabb8c1cdcabfb4aaa19691867f7a777677797d848f949ea7b1bccaccc4b8aca0958a7d7064584e432f261b11060000000000000000030f1b27323d46525e69727f8b939ea7b1bac3c3bab2aaa39f97918c8783807d7a797776757575757677787a7d7f7265584c3f3225190c000000000000000000061c2936424f5c6975828f9ca8b5c2cfc7baaea399928989898989898989898989898989898989898989898985786c5f5245392c1f1206000000000000000b1724313e4a5764717e8a98a3aebac6d0c7bbafa49992867e76706d686b676d6f747b839095a0acb9c3cdcbbfb4ab9c908376665c5044382c1f1206000000121f2b3845525e6b7885919eabb8c4d1ded7d2cfced2d3d7d2c7bdb0a69e9184796d60574d42352b1d140a000915222f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e211407000004101d2935404b556673808c99aab4bfcbcec2b5a89b8f8275655b5044372b1f12101c28343f4a5465727f8c98a9b3bec9d5d2d1d2d6cabfb4aa998c807366554b4035291d10121e2a36424d576875828e9ba8b5c1d0cbbfb5ab998d807366554c4135291d1104000000121f2b3845525e6b7885919eabb8c4d1d3c7baaea3989291919191919191919191919191919191919191919191877a6e6154473b2e2114080000030d17212931363a3b3b3b3b3b3b3b3b3b3b3a38352f27262a2e34383a3d40433f44464645404442403d3a38342e2b26201913141c23282b30363a3b3e414340454646443f43413f3b3a36312c28231c150c0800000000000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272e34383a38342e2c27201d191415161616161616161718191a1c22313e4b5864717e8b97a4b1becad7d0c4b7aa9d9184776a5e5144372b1e11000c1926333f4c5966727f8c99a5b2bfcfd0c5bbb3adabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacb2bac4ced9e5dacfc4bab2adabaaaaaaaa9f9286796c5f5346392c2013000000000000000000000000000000010d1924303a4854606b7783909da5afbbc5cfc6bcb2a8a198928c86848383858a91969ea6b0b9c3cfc4baafa59d9083786c6053463c3120140a000000000000000000000a16212a36424d57626d75818e95a0a8b2bac2c4bcb4aea9a19e9993908c898785848382828282838485878987796c5f5346392c20130600000000000000020e1b2835414e5b6874818e9ba7b4c1cecbbfb4aba39f9696969696969696969696969696969696969696969285786c5f5245392c1f1206000000000000000714212d3a4754606d7a86929faab4bfcaccc0b5aba298928a827d7a787778797c818690959fa7b1bccbcec6baaea3998c7f7266544a3f34281c1003000000121f2b3845525e6b7885919eabb8c4d1dee3dfdcdbdfe0d7ccc0b5ab9f948a7e71675d51453b3023190b02000915222f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e21140700000613202c3945515d677683909ca9b6c3d1cabfb4aa988c7f726553493f33271b0f0c17232e3c4855626f7c8897a1adb9c6d2dfdedfd3c6baaea298897c6f6356493c2f24180d0e1a26313f4c5865727f8b98aab4bfcad1c3b6a99d908376675d5145392c201306000000121f2b3845525e6b7885919eabb8c4d1d7cbbfb4aaa39f9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e94877a6e6154473b2e211408000000050f171f252a2d2e2e2e2e2e2e2e2e2e2e2d2c29241d1a1d23282c2d30342e34383a3a38342e3533302d2c28231d1a150d080a11171c1f252a2d2e32352e34383a3a38342e34322e2d2a261f1c18120b030000000000000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d23282c2d2c28231d1b161a1e212222222222222323242426262b2d343f4a5465727f8c98a5b2bfcbd8cfc3b6a99c908376695d5043362a1d10000c1926333f4c5966727f8c99a9b2bec9cabeb3a9a29f9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea0a8b2bdc9d5e1d5c9bdb2a8a19e9e9e9e9e9e9286796c5f5346392c20130000000000000000000000000000000008131e2c38444f5963707d89939ea9b3bdc7cec4bab2aaa29f999391909092989ea0a8b0b8c2cbc6bcb2a89e93897d70655b5044372b1f120200000000000000000000040e1a25303b45515b606d79839196a0a8b0bbc0c6bfbab2adaba49f9c99969892908f8f8e8e8f909092979286796c5f5346392c20130600000000000000010d1a2734404d5a6773808d9aa6b3c0cdd1c6bdb4aeaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39f9285786c5f5245392c1f1206000000000000000613202c3945525d6874818e98a2aebac1ccc7bdb4aaa29f948f8a8785848586898d92989fa7b1b9c3cec6bcb2a89f92867a6d6154473a2e23170c00000000121f2b3845525e6b7885919eabb8c4d1dee2e2e2e2e7ded4c7bbafa4999082766c61554b4033291f110700000915222f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e21140700000714202d3a4753606d7a86929facb9c5d2c7baaea298897c6f6256493c2d22170b0613202d394653606c7885929eabb8c5d1dee2dfd2c5b8ac9f9285796d6053463a2d2013070916222f3c4955626f7c8898a2aebac6d2c5b9ac9f92867a6d6054473a2d211408000000121f2b3845525e6b7885919eabb8c4d1dcd1c6bcb4aeacababababababababababababababababababababa194877a6e6154473b2e21140800000000050d141a1e2121212121212121212121201f1d18120e12181c1f20232723282c2d2d2c2823292623201f1c18120f09030000060b10141a1e2021252823282c2d2d2c2823282522211e1a14100c0700000000000000000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f201f1c1812171f262a2d2e2f2f2f2f2f2f303031323137383f44505c6674818d9aa7b4c0cddacec1b5a89b8e8275685b4f4235281c0f000c1926323f4c5965727f8c97a1adb9c0c6baada2979291919191919191919191919191919196a0acb9c5d2ded2c5b9ada1969191919191919186796c5f5346392c20130000000000000000000000000000000002101c27323d4854606b75828f97a1abb5bdc7ccc4bcb4aeaba49f9d9c9d9fa2aaacb2bac2cac6bdb4aaa1968e81756b6053493f33271b0f03000000000000000000000009141f29333f45515d676e7a8491969fa6afb5bdc3c4beb9b5afaca9a6aaa29f9d9c9c9b9b9c9c9d9e9f9286796c5f5346392c20130600000000000000000d192633404c5966737f8c99a6b2bfccd8cfc6bfbab9b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ab9f9285786c5f5245392c1f12060000000000000004111d2935414c56616e7b86929fa5afbbc0c7c6bcb4aea69f9c979792919192999a9fa2aab1b9c2cbc4bcb4aaa0968d8073685e5246392d1c110600000000121f2b3845525e6b7885919eabb8c4d1d6d6d6d6d6d6d6cabeb3a99f93877c6f625a5043392f21170d0000000915222f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e21140700000a1723303d4a5663707d8999a3aebbc7d2c5b8ac9f9285796d6053463a2d20130605121f2b3744505b6575828e9ba8b5c1cedad6d6cfc2b5a99c8f8276665c5145382c1f13060713202d3a4653606d7985929facb8c5d2c7bbafa3998a7d7063574a3d3024190d010000121f2b3845525e6b7885919eabb8c4d1d6d8cfc6bfbab9b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8ada194877a6e6154473b2e211408000000000003090e1214151515151515151515151413100c0701070c101313171a171c1f20201f1c181c1a161313100c070000000000000003090e121415181b181c1f20201f1c171b181514120e0904000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c10131313100c17212931363a3b3c3c3c3c3c3c3c3d3e3f4143474a5058606d7985919eabb8c4d1d4c8bdb2a8988c7f7265594c3f3226190c000714212e3a4754616d7a84919ea5afbac4b8ab9f9285848484848484848484848484848484919eaab7c4d1ddd1c4b8ab9e918484848484848484776a5e5144372b1e1100000000000000000000000000000000000b16212c38444f59616e7b859299a3abb5bdc4cbc5bfbab5afacaaa9aaacaeb4b8bdc3cbc3bcb4aba39891847a6d61594f41382d22170b000000000000000000000000020d17202935414b555e686e7b848f949fa4abb1b8bdc3c7c0bbb9b6b3b4aeacaaa9a8a8a8a8a9aaab9f9286796c5f5346392c20130600000000000000000c1825323f4b5865727e8b98a5b1becbd6d8d1cbc7c5bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb8ab9f9285786c5f5245392c1f120600000000000000010d19242f3a46535e69727f8b939ea5afb6bec4c6bfbab0aba9a9a19e9e9e9fa3abacaeb4bcc2c7c1bab2aaa29891847a6d60564c41362a1e0a0000000000121f2b3845525e6b7885919eabb8c4c9c9c9c9c9c9c9c9c6baada2978e81746a5f53483e31271d0f050000000915222f3c4855626f7b8895a2aebbc8c7baada094877a6d6154473a2e2114070004111d2935414c556673808d99abb5bfcbc9c3b6a99c908376665c5145382c1f1306030f1b27333f495365727e8b98a8b2bdc9c9c9c9cabeb3a9998c7f7266544b4034281c100406121f2b3844505c6676828f9ca9b5c2d1cbc0b5ab9a8d807367564c4135291d11040000121f2b3845525e6b7885919eabb8c4c9c9c9c9d1cbc7c5c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4baada194877a6e6154473b2e211408000000000000000205070808080808080808080807060400000000000406070a060c1012131313100c070d0a0706040000000000000000000000020507080b070c1013131312100c060c080705020000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070609141f29333b424648494949494949494a4b4c4d4e53545b606a717e8b97a1adb9c6d2cdc5b8aca096887b6e6255483b2f221508000713202d3946525d68707d8a939da8b2beb7aa9e91847977777777777777777777777777798693a0adb9c6d3c9bcafa296897d7777777777777771675b4f43362a1d10000000000000000000000000000000000005101c27333d46525e69707d879299a3abb2bbbfc6cac7c0bbb9b7b6b6b8babfc6c8c6bfbab2aaa29992867c6f685d52473d2f261b110600000000000000000000000000050e18242f3a434d565e696e7a828d93999fa7acb2b9bbc0c5c6c3bfbfbab8b7b6b5b5b5b5b6b7ac9f9286796c5f5346392c20130600000000000000000b1724313e4a5764717d8a97a4b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c5b8ab9f9285786c5f5245392c1f1206000000000000000008131e2a36424d57626d75818e939fa4acb2b9bec4c2bbb7b5b3adabaaabacaeb5b8babfc6c2bbb7afa8a19892867c6f675d51443a3025190d0000000000121f2b3845525e6b7885919eabb8bcbcbcbcbcbcbcbcbcbdb1a89f92857a6d61584e43362c1f150b000000000915222f3c4855626f7b8895a2aebbbcbcbaada094877a6d6154473a2e211407000613202c3945515d677683909da9b6bcbcbcc0b5ab998d807366544b4034281c1004000b17222d3b4855616e7b8896a1acb9bcbcbcbcbcbaada297887c6f6255493c2e23180c0003101c28343f4a546673808c99abb5c0bcbcbcb6aa9d908377685d5245392c2013070000121f2b3845525e6b7885919eabb8bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbaada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000003060707060400000000000000000000000000000000000000000000000000040607070603000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313b454d5355555555555556565757595a585f62666c727c86929fa9b3bec9cec5bbb1a79d9184776a5f53473a2e2114080005111d2935414c56616b74818e96a1acb6b9aca0968d80746b6b6b6b6b6b6b6b6b6b6b6d7a8693a0adb9c6d3c9bcafa296897c6f6b6b6b6b6b6a675f554a3f33271b0e0000000000000000000000000000000000000b16212a36424d57606b717e879299a1a8aeb5b9bec3c5c6c6c4c3c3c5c6c5c3beb9b4aea8a09892877d706a60564c41352b1d140a00000000000000000000000000000007131d28313b444d575e686d78808790959da0a8acafb5b8b9bebfc1c2c4c3c2c2c1c1c2c3b9ac9f9286796c5f5346392c20130600000000000000000a1623303d495663707c8996a3afbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb8ab9f9285786c5f5245392c1f12060000000000000000010e1a25313b45515b606d78818d939aa0a8adb3b9babfc1c2beb9b8b7b8b9bbbfc2c0bdb9b7b0aba59d9691867d706a5f554c4132291e13080000000000121f2b3845525e6b7885919eabafafafafafafafafafafafaca0958b7f72685e52463c32241a0d03000000000915222f3c4855626f7b8895a2aeafafafafada094877a6d6154473a2e211407000714212d3a4754606d7a86929facafafafafafafa4998a7d7063574a3d2e23180c00000614212d3a46535f697884919eabafafafafafafafab9f9285796c605346392d20130700000b17232e3d4a5663707d8999a3afafafafafafac9f93867a6d6054473a2d2114070000121f2b3845525e6b7885919eabafafafafafafafafafafafafafafafafafafafafafafafafafafafafafada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c0f07060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575f616262626262626363646567696a6e72787f869298a3aebbc4cbc3bcb3a9a0958a7e7164584e43372b1f120600010d1924303a444f59606d7984919aa4afbbb2a89f93887d6f675d5e5e5e5e5e5e5e606d7a8693a0adb9c6d3c9bcafa296897c6f635e5e5e5e5e5b554d44392e22170b000000000000000000000000000000000000050e1a25303b454f59626c717e8791969fa3abadb3b6b8babebcbcbcbfbab8b6b3adaaa39f9691867e706b61584e443a3023190b02000000000000000000000000000000010c161f29323b454d565e666d737c838b91969c9fa3ababadb3b2b4b5b7b7b8b8b9b9b8b8b7ac9f9286796c5f5346392c20130600000000000000000915222f3c4855626f7b8895a2aeafafafafafafafafafafafafafafafafafafafafafafafafafafafab9f9285786c5f5245392c1f120600000000000000000009141f29333f44505c666d78808891969ea1a9acaeb4b5b7b8b9bbc0bfbab8b7b6b4b2adaba69f9c938e847c706b60584e433a2f20170d020000000000121f2b3845525e6b7885919ea3a3a3a3a3a3a3a3a3a3a3a3a69d9184786d60564c41342a20120800000000000915222f3c4855626f7b8895a2a3a3a3a3a3a3a094877a6d6154473a2e211407000a1724303d4a5763707d8a99a3a3a3a3a3a3a3a39f93867a6d6054473a2d211407000005121e2b37424d576874818e9ba3a3a3a3a3a3a3a3a39b8f8275665b5044382b1f120600000614202d3a4753606d7a86929fa3a3a3a3a3a3a3a4998a7d7064574a3d3124170a0000121f2b3845525e6b7885919ea3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a194877a6e6154473b2e2114080000000000000003060809090909090909090909090909090909090909090908070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236291c141312100c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f696e6f6f6f6f6f6f6f7071727476787b7f848c9298a3aab4bfc7c0bbb2aaa1979083786c6053463c31261a0f02000008131e28323e45515d67707d88939fa8b2bbafa49a9184796d60594f5151515153606d7a8693a0adb9c6d3c9bcafa296897c6f6356515151514f4a443b32271d11060000000000000000000000000000000000000009141f29333d47505a626c717c848d92999ea2a9a9abadb3afafafb4aeacaaa9a29e98928d847c706c61594f463d32281e11070000000000000000000000000000000000040d172029333b444c545c606a6f787e848a8f92999b9ea1a9a6a7a9aaababacacacacababaa9f9286796c5f5346392c20130600000000000000000815212e3b4854616e7b8794aaa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39f9285786c5f5245392c1f1206000000000000000000030d172128343f4a545c666c737d848c91979c9fa3aba8aaabacafb5b4aeacaba9a7a8a19e9a948f89817a6f6a60594f463c31281e0e05000000000000121f2b3845525e6b788591969696969696969696969696969694897d70665c50443a3022180e0000000000000915222f3c4855626f7b8895969696969696969694877a6d6154473a2e211407000d1a2734404d5a6773808d96969696969696969696908477685d5245392c2013060000020e1a26313e4b5864717e8b96969696969696969696968b7f7265544a3f33281c0f0300000613202c3945515d67778390969696969696969696968d8074675a4d4134271a0e0100121f2b3845525e6b78859196969696969696969696969696969696969696969696969696969696969696969694877a6e6154473b2e2114080000000000040a0f12151516161616161616161616161616161616161616161514120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f4236292020201f1c17110a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b7c7c7c7c7c7c7c7d7e7f808285888c91969fa3aab4bcc0bbb5afa8a09892857b6e655b5044372a20150a000000020c16202935414b55606b74808d96a0abb5b6aca0968d80736b60554b40444753606d7a8693a0adb9c6d3c9bcafa296897c6f635649444444433f39322920160b0000000000000000000000000000000000000000020d17202b353f48505a626a6f7a80868d92979a9d9fa2a9a2a3a2aaa29f9d9a97928d8680796f6a615a50473e342b20160c00000000000000000000000000000000000000050e172129323a424a505860666c71787d82868b8f929797999a9c9d9e9e9f9f9f9f9e9e9d9c9286796c5f5346392c20130600000000000000000714202d3a4753606d7a8698969696969696969696969696969696969696969696969696969696969696969285786c5f5245392c1f120600000000000000000000050f17232e38424a545b606b70797f858a8f9299999b9d9e9fa4a0aaa29f9e9c9a9896918d88827c746d685f584f473d342a1f160c00000000000000121f2b3845525e6b78858989898989898989898989898989898982756b60544a3f32281e10060000000000000915222f3c4855626f7c8889898989898989898989877a6d6154473a2e21140700111d2a3744505d6a7783898989898989898989898989807467564c4135291d11040000000914212e3b4754616e7b878989898989898989898989887c6e6255483b2d22170b00000004111d2935404b5567748089898989898989898989898983776a5d5144372a1e110400121f2b3845525e6b78858989898989898989898989898989898989898989898989898989898989898989898989877a6e6154473b2e21140800000000060e151b1f2122232323232323232323232323232323232323232321211e1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f42362d2d2d2d2c28231c150c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c687582888888888889898a8a8c8d8f9297999ea0a8aeb4bab8b5afaba39f9691867d6f695f53493f3327180e0300000000040e18242f3a434f59606d79849199a4afbbb2a89f93877c6f675c51453d4753606d7a8693a0adb9c6d3c9bcafa296897c6f6356493c383736332e2720170e04000000000000000000000000000000000000000000050e19232d363f48505860686d747b8085898d90929795959695959892908d8985807b736d675f5850473e352c22190e040000000000000000000000000000000000000000050f17202830383f444e545b60656c70767a7e8285878a8c8e8f919192929392929291908f8d87796c5f5346392c201306000000000000000006131f2c3845515d67798689898989898989898989898989898989898989898989898989898989898989898985786c5f5245392c1f1206000000000000000000000006111c263038424a505960676d72797e8286898c8e9092939993939892918f8d8b8884807c766f6a605d564e463d352b22190d0400000000000000091623303c4956636f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7a6d61594f42382e20160c000000000000000714202d3a4753606d797d7c7c7c7c7c7c7c7c7c7c7d786d6053463a2d20130700091623303c4956636f7d7c7c7c7c7c7c7c7c7c7c7c7c7b6e6154473b2f24190d010000000714202d3a46525e696f7c7c7c7c7c7c7c7c7c7c7c7c7d706a5f53473a2e1c1106000000010d18242f3b4754616e7b7c7c7c7c7c7c7c7c7c7c7c7c7d6f6356493c302316090000091623303c4956636f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d796d6053463a2d20130700000006101820262b2e2f30303030303030303030303030303030303030302e2d2a251f170f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f423a3a3a3a3a38342e261e150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9595959595969697989a9c9ea1a9aaacb2b4b4aeacaba39f99928e847c6f6b60574d41382d22170600000000000007131d28313d45515d676f7c87939fa7b1bbafa4999184796d60584e434753606d7a8693a0adb9c6d3c9bcafa296897c6f6356493c302b2a27221d160e05000000000000000000000000000000000000000000000007111b242d363e464e565d60696e73797d808385878889898988878583807d79736e69605d554e463e352c231a100700000000000000000000000000000000000000000000050e161e262e343c424a50535b6064686d7175787b7d7f81828484858586868585848382817f7265584b3f3225180c00000000000000000004101d2935404b55636f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d6f6356493c30231609000000000000000000000000000a151e262f383f444f555c60666d71757a7d7f8284858686878786858483817e7b78746f6a626058524c443c342b2319100700000000000000000915222f3b4854606b6f707070707070707070707070707070706d685e52473d30261c0e05000000000000000613202c3945515d676d7070707070707070707070706d665c5144382c1f1206000915222f3b4854606b6f7070707070707070707070706e695e52463a2d1e13080000000005111e2a36424d56606b6f7070707070707070707070706b60584e43372b1f0a00000000000714202d3a46525e696e7070707070707070707070706f6b6054483b2f22150900000915222f3b4854606b6f7070707070707070707070707070707070707070707070707070707070707070707070706d665c5145382c1f13060000040e18222a31373a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a36312921170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c4f474747474746443f3830261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba2a2a2a2a2a3a4a5a7a9abadb3b7afa9a7aaa29f9b99928e87817a6f6a60594f453b2f261b1106000000000000010c161f2935404b55606b73808d95a0abb5b5aba0968d80736a60554b4753606d7a8693a0adb9c6d3c9bcafa296897c6f6356493c3023161b17110b040000000000000000000000000000000000000000000000000009121b242d343d444c52575f61676d707376787a7b7c7c7c7b7a797774706d67615e57514b433c342c231a1108000000000000000000000000000000000000000000000000040c141c23282f383f44495053565e616468696e71737476777878797979797878777574726d62564a3d3124180b000000000000000000000c18242f394854606b6f7070707070707070707070707070707070707070707070707070707070707070706f6b6054483b2f22150900000000000000000000000000030c151d262d333d434b51545c6064676d7073757778797a7a7a7979787674726e6c65625f58544e45413a322a2219110700000000000000000007131f2c38434f59606363636363636363636363636363636363615e564c41352c1e150a000000000000000004101d2935404b555d60636363636363636363636363605c544a4034281c1004000713202c38444f596063636363636363636363636363615e574d42362a1e0c0100000000020e1925303b444f59606363636363636363636363636360594f463c31261a0f000000000005111e2a36424d565e616363636363636363636363636360594f44382c201307000007131f2c38434f596063636363636363636363636363636363636363636363636363636363636363636363636363605c544b4034281c100400000a15202a343c43474849494949494949494949494949494949494949494846423b33291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f8275695c53535353535353504a42382e23170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8afafafafb0b1b2b3b5b8b9baafa59d9a9798928f8b86817b746d675f584f473d332a1d140a0000000000000000040d18242f39434f59606d79839099a3afbbb2a89f92877c6f675c514753606d7a8693a0adb9c6d3c9bcafa296897c6f6356493c302316090b060000000000000000000000000000000000000000000000000000000009121b222b323a41454d53555c6063676a686d6e6f706f6f6e696a6763605c55534d454039312a221a11080000000000000000000000000000000000000000000000000000020a11171d262d33383f44464c525458575e61646667696a6b6b6c6c6c6c6b6b6a696765625b51463a2e2215090000000000000000000007121d2c38434f5960636363636363636363636363636363636363636363636363636363636363636363636360594f43382c1f13070000000000000000000000000000030b141c2228303940454a5153555d606366686a656c6d6d6d6d666b69676562605b53534e47433d352f282018100700000000000000000000030f1b27323d464f54565656565656565656565656565656565654524c443a30231a0c030000000000000000010d18242f39434b515356565656565656565656565653514a42392e23180c0000030f1b27323d474f545656565656565656565656565654524d453b30251a0e00000000000009141f29323d474f5456565656565656565656565656544f473d332a2015090000000000020e1925303b444d525456565656565656565656565656544f473d32271b0f030000030f1b27323d464f545656565656565656565656565656565656565656565656565656565656565656565656565653514b42392e23180c0000030f1b26313c464e5355565656565656565656565656565656565656565654534d453b31251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f82756960606060606060605c544a3f34281c100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8b5bbbcbcbdbdbfc0c2c5c2b5a99d928e8a8885827e7a756e69605d554e463d342b21180b0200000000000000000007121d27313d45515c676f7c87929fa7b1bbafa3999183796d60584e53606d7a8693a0adb9c6d3c9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000091019202830353b42464b5153565a565e616262636262615e565a5653514b46423b352f281f1810080000000000000000000000000000000000000000000000000000000000060b141c22282d33373a4146474b4d535457595b5c5e5e5f5f605f5f5f5e5d5c5a585651493f34291d120600000000000000000000010f1b27323d464f545656565656565656565656565656565656565656565656565656565656565656565656544f473d32271b0f03000000000000000000000000000000020a11171e272e34394044464b515356595b535b60606060605c545c5a585553504947433c373229241e160d070000000000000000000000000a16212b343d434849494949494949494949494949494949494746413a32291e11080000000000000000000007121d2831394045474949494949494949494949494644403930271c12070000000b16212b353d4448494949494949494949494949494746423b33291f1409000000000000020d17202b353d43484949494949494949494949494948443d352b21180e0300000000000009141f29323b4246474949494949494949494949494948443d352b21160b000000000a16212b343d4348494949494949494949494949494949494949494949494949494949494949494949494949494645403930271d1207000006121f2b37434e585f626363636363636363636363636363636363636363615e574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f82756d6d6d6d6d6d6d6d6d665c5044382c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8b5bcbcbdbdbfc0c2c4c6c1b4a79a8e817e7b7875716d68625f57514c433c342b22190f0600000000000000000000010b151f2834404b555f6a73808c95a0aab4b5aba0958d80736a605453606d7a8693a0adb9c6d3c9bcafa296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000000070e161e24293136394045464a4d4c5254555656565554524d4d4a47454039363129241d160d0600000000000000000000000000000000000000000000000000000000000000020a11171b22272b3035393a3e4246484a4c4e4f515152525353525251504f4e4b4a463f372d23180d0100000000000000000000000a16212b343d4348494949494949494949494949494949494949494949494949494949494949494949494948433d352b21160a000000000000000000000000000000000000060c151d23282e34383a4045474a4c4f49505353545453514b504e4b4846443f3837312b272019130c0400000000000000000000000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a3936302920170c0000000000000000000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3a38342e271e150b00000000040f19232b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3b3a36302920170d0200000000000000050e19232b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3b38322b23190f0600000000000000020d17202930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3c3b38322b23190f0400000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e271e150b0000000815212e3a47535f6a6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695e53463a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c2b5a89c8f82797a7a7a7a7a7a7a79786d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8afafb0b0b1b2b3b5b8b9beb9ac9f9287827f7b746e69605d554e45413a312a22191007000000000000000000000000030d18232e39434e58606d78839098a3aebab1a79f92877c6f665c53606d7a8693a0adb9d1dcc9bcafa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000040c13191f262a2e34383a3d404146474849494948474642413d3a38342f2a251f18120c0400000000000000000000000000000000000000000000000000000000000000000000060b11171b1f25292d2e31363a3b3e4041434445454646464645454442413f3d3a342d251b1106000000000000000000000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b38322b23190f0400000000000000000000000000000000000000030b12181c23282c2f35393a3d40423f444647474746454043413f3b3937332d2b26201b160d080100000000000000000000000000000007101921272c2f30303030303030303030303030303030302e2d2a251e170e05000000000000000000000000040d161d24292c2d3030303030303030303030302d2c28231c150c03000000000007111921272c2f303030303030303030303030302e2d2a251f170e0500000000000000000007101921272c2f303030303030303030303030302f2c2721191107000000000000000000050e171f252a2d2e303030303030303030303030302f2c272119110700000000000007101921272c2f303030303030303030303030303030303030303030303030303030303030303030303030302d2c28231d150c030000000915222f3c4855626f7b7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c3b7aa9e948f8686868686868686868073675a4d4034271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba2a2a2a3a3a4a5a7a8abadb3b7aea399928f8b86817b746d675f584f473d352b20160c020000000000000000000000000007121d27303c44505c666f7c86929fa6b0bbafa3999083796d6058606d798693a0b5bfcbd7c9bcafa296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000000000002080d141a1d23282c2d303035393a3b3c3d3c3c3b3a3630302d2c29231d1a140d070100000000000000000000000000000000000000000000000000000000000000000000000000060b0f13191d2021252a2d2e3133343637383839393939383837363432312e29231b1309000000000000000000000000000007101921272c2f30303030303030303030303030303030303030303030303030303030303030303030302f2c272119100700000000000000000000000000000000000000000000070c12181c1f24292c2d30332d3337393a3a3a3a38342e34322f2d2b27221b1b150f0a04000000000000000000000000000000000000070f161b1f22232323232323232323232323232323232321201d19130c050000000000000000000000000000040c12181d2020232323232323232323232323201f1c18120b0300000000000000070f161b20222323232323232323232323232321201e1a140d050000000000000000000000070f161b1f222323232323232323232323232322201b160f070000000000000000000000050d14191e20212323232323232323232323232322201b160f070000000000000000070f161b1f2223232323232323232323232323232323232323232323232323232323232323232323232323201f1c18120b0300000000101d2a3643505d6976838989898989898989898989898989898989898989807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c7bbb0a69e9c93939393939393938d8073675a4d4034271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f96969696969797989a9b9ea1a9abacaba39f9c99928e8780796f6a60594f473d32281e130800000000000000000000000000000b151e28343f4a545f6a727f8c949faab4b5aba0958c80736a5f606c798699a3aebbc7d3c9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f202325292d2e2f2f302f2f2e2d2a2523201f1c18120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000003080d1113141a1e2121242628292b2b2c2c2d2c2c2c2b2a29272524221d18110901000000000000000000000000000000070f161b1f222323232323232323232323232323232323232323232323232323232323232323232323221f1b160f0700000000000000000000000000000000000000000000000000070c1012181d2020232622272b2d2d2d2d2d2c2823272522201f1b17110f0a03000000000000000000000000000000000000000000040a0f131516161616161616161616161616161616161413110d08020000000000000000000000000000000001070d1013141616161616161616161616161312100c0700000000000000000000040b0f1315161616161616161616161616161414110e090200000000000000000000000000040a0f1315161616161616161616161616161613100b040000000000000000000000000002090e1114141616161616161616161616161615130f0b0400000000000000000000040a0f1315161616161616161616161616161616161616161616161616161616161616161616161616161313100c07000000000000101d2a3643505d697683909696969696969696969696969696969696968c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2ccc1b8b0aaa8a0a0a0a0a0a0a09a8d8073675a4d4034271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828989898989898a8a8c8d8f9197989ea1a8aeacaba39f99938d847c6f6b60594f443a3025190d0500000000000000000000000000030c17232e38424e58606c78839098a2aebab1a79f92877c6f665c657986929facb9c5d2c9bcafa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000000000000070c10131317191d2021222323232221201e19171413100c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507090e12141517191b1c1e1e1f1f20201f1f1e1d1c1b181815120d06000000000000000000000000000000000000040a0f1315161616161616161616161616161616161616161616161616161616161616161616161615130f0a040000000000000000000000000000000000000000000000000000000004070d1013141719171b1f20202121201f1c181b181513120f0b060000000000000000000000000000000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a070705010000000000000000000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a0706040000000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a080705020000000000000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0907030000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a090907030000000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0706040000000000000000101d2a3643505d697683909ca2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c9cac1bbb7b5adadadadadada69a8d8073675a4d4034271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7c7c7c7c7c7c7d7d7e7f808285888c91969fa3aab4aeaba49f9691867d6f6b60564c41362a21160b000000000000000000000000000006111c26303c44505b666e7b86929fa6b0bbafa3999083786d606c7985929facb8c5d2c9bcafa296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080d11131415161616151414110e0907060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0d0e10111212131313131212110f0e0c0b090601000000000000000000000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090907030000000000000000000000000000000000000000000000000000000000000000010406070a060b0f12131414141313100c070c080605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9afafafafafafafafafafafafafafa6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5bcbcbcbcbcbcbcb9b9b9b9b9b3a69a8d8073675a4d4034271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a6e6f6f6f6f6f707071727475787b7f848b9298a3abb4b5afa8a09892867d6f685e52463d32271c100300000000000000000000000000000a151e28333f4a545f69727f8b949faab4b5aba0958c7f736a6b7885929eabb8c5d1c9bcafa296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105070708090a09090807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000305060707070706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0c0e0f101111111110100f0e0c0a0907060400000000000000000000000000000000000000000000000000000000000000000000000000000000000001040607090c0e0f10111111111111100f0e0c0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000030606090b0d0f1011111111100f0d0b080806020000000000000000000000000000000000000000000000000000000003090d1012131313131313131313131313130c0b09060100000000000000000000000000101d2a3643505d697683909ca9b6b9b9b9b9b9bcbcbcbcbcbcbcb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9afafafafafafafafafafafafafafa69a8d8073675a4d4034271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e585f626363636363636464656768696e72787f869299a3aebabbb2aaa29891857a6d61594f44382c1f14090000000000000000000000000000030c17222d38424d57606c77828f98a2aebab1a79f92877c6f657884919eabb7c4d1c9bcafa296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105090b0b13131313131313131313131313131313131313131313131313131313131313131313131313131313131313130d0c0a070200000000000000000000000000000000000000000000000000000000000105090b0c131313131313131313131313130908060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406090e12141517191b1c1d1e1e1e1e1d1c1c1b1917151413100c07070501000000000000000000000000000000000000000000000000000000000000000000000206070d11131416191a1c1d1e1e1e1e1e1d1d1c1a19171514120e090704010000000000000000000000000000000000000000000000000000000000000000000003060b0f121315181a1c1d1d1e1e1d1d1b1a181514120e090603000000000000000000000000000000000000000000000000070e14191d1f20202020202020202020202020191816120d07000000000000000000000000101d2a3643505d697683909ca9adadadadadadb8babfc6cec9bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39a8d8073675a4d4034271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f1a26313c464e53555656565656565757595a575f62666c727d87929faab3bebcb4aaa1978f82756b6054483c31261a0e02000000000000000000000000000006111c262f3c44505b656e7b86929fa6b0bbaea3999083786c7784919daab7c4d0c9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000030608090c0e0f1011111111111110100f0d0c0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c1115171820202020202020202020202020202020202020202020202020202020202020202020202020202020202020201a1917130e07000000000000000000000000000000000000000000000000000000060c11151818202020202020202020202020201515120f0a0300000000000000000003090d1012131313131313131313131313130c0b0906010000000000000000000000030613131313131313131313131313130b0b090501000000000000000000000000000000000000000000000000000000000000000000000000000001070d1013141a1e2121242627292a2a2b2b2a2a292927262422201f1d181413110d080401000000000000000000000000000000000000000000000000000000000003090e1214181d2020232527292a2a2b2b2b2b2a292827262421211e1a1413110d0802000000000000000000000000000000000000000000000000000000000000060b1012171c1f20222427292a2a2b2b2a2a28272422211e1a13120f0b060000000000000000000000000000000000000000000811191f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2525221e1811090100000000000000000000101d2a3643505d697683909ca0a0a0a0a0a0a0acaeb4bcc6d0bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9696969696969696969696969696969696968d8073675a4d4034271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b202a333c43474849494949494a4a4b4c4d4d53545b606b727f8c98a2aebac5bcb2a99e93897d7063574d42372b1e12050000000000000000000000000000000a141d27333f49535e69717e8b949ea9b3b5ab9f948b7e717683909da9b6c3d0c9bcafa296897c6f6356493c302316090000000000000000000000000000000000040a0f131516191b1c1d1d1e1e1e1e1e1d1d1c1a19171514120e0907050200000000000000000000000000000000000000000000000000000000000000000000000000000000000911181d2124252d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2626231f19120a010000000000000000000000000000000000000000000000000911181d2224252d2d2d2d2d2d2d2d2d2d2d2d2d22211f1b150e0600000000000000070e14191d1f20202020202020202020202020191816120d070000000000000000060c10122020202020202020202020202020181715110c060000000000000000000000000000000000000000000000000000000000000000000000040a0f12181d2020252a2d2e3133343637373838373736353432312f2d2c292421201d1913110d080100000000000000000000000000000000000000000000000000060b0f151a1e2124292c2d303234353637373838373736353432302e2d2a2521201d1913100b050000000000000000000000000000000000000000000000000000070c11171c1f22282b2d2f3134353637383737363533312e2d2b26201f1c17110c0700000000000000000000000000000000000007111a232a3135383939393939393939393939393932312e29231b130900000000000000000000101d2a3643505d6976839093939393939393939fa2aab4bfcabfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c69768289898989898989898989898989898989898989898073675a4d4034271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f31373a3b3c3c3c3c3c3d3d3e3f4142474a5059606d7985929fabb8c5c4bbb0a69c8f8276695f53463a2d211407000000000000000000000000000000020b17222d38414d57626c75828f97a2adb9b0a69e92857a76838f9ca9b6c2cfc9bcafa296897c6f6356493c3023160900000000000000000000000000000000070e151b1f2122262729292a2b2b2b2b2a2a292827252421201e1a1414110e0804000000000000000000000000000000000000000000000000000000000000000000000000000009121b22292e3132393939393939393939393939393939393939393939393939393939393939393939393939393939393939393933322f2a241c130a000000000000000000000000000000000000000000000009121b23292e3132393939393939393939393939392f2e2b262018100600000000000811191f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2525221e1811090100000000030a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524211d1811090000000000000000000000000000000000000000000000000000000000000000030a0f151b1d24292c2d31363a3b3e3f41424344444444434342413f3d3c3a38352f2e2d2925201d19130c0400000000000000000000000000000000000000000000020a11171b1f262b2e2f35393a3c3f4142434444444444444342413f3d3b3a36312d2c29241e1c16100b0500000000000000000000000000000000000000000000030b12181c23282b2d3338393c3e404243444444444342403e3b3a37312d2b28221c18120b03000000000000000000000000000000030e19232c353c4145464646464646464646464646463f3e3a342d251b1107000000000000000000101d2a3643505d6976838686868686868686869298a2aebac6bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18222a31373a3c3b3a36313030303030303131323137383f45515c6775818e9ba8b4c1cdc1b7ab9f94887b6e6155483b2e2215080000000000000000000000000000000006111b262f3b45505a616e7b85929ea5afb9ada1978d8075828f9ba8b5c2cec9bcafa296897c6f6356493c3023160900000000000000000000000000000007101820262b2e2f323435363737383838373736353432302e2d2a2521201e1914100c07010000000000000000000000000000000000000000000000000000000000000000000006111b242d343a3d3e4646464646464646464646464646464646464646464646464646464646464646464646464646464646464646403f3b352e261c120700000000000000000000000000000000000000000006111b242d343a3d3f464646464646464646464646463c3a37312a22180e0300000007111a232a3135383939393939393939393939393932312e29231b1309000000030c151c23282c393939393939393939393939393932312e29221b1209000000000000000000000000000000000000000000000000000000000001070c151b20262b2f35393a3e4246484a4c4e4f5051515151504f4f4e4c4a484745403d3a3935302c29241e160d0a0200000000000000000000000000000000000001070b141b22272b31373a3b404547494c4d4f50515151515150504f4d4c4a4846423e3a3935302c27211c160f080000000000000000000000000000000000000001070c151c23282e34383a3f4446484b4d4f5050515150504e4d4b4847423d3938332d28231d150c07010000000000000000000000000009141f2a353e474d51535353535353535353535353534c4a463f372d23180d0100000000000000000713202d3a4653606d797a7a7a7a7a7a7a7a7986929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a6f70707070707070707070707070707070707070706e695f53463a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343c4347484846423b342e28232323242426262b2d34404b5566737f8c99a6b2bfccc7bbb0a6988b7e7265584b3f3225180c00000000000000000000000000000000000a141d29333f46525e68717e8a939ea9b3b3a99f92867b818e9ba8b4c1cec9bcafa296897c6f6356493c302316090000000000000000000000000000040e18222a32373b3c3f414243444444444444434342403f3d3b3a36302e2d2a251f1c18120d080100000000000000000000000000000000000000000000000000000000000000010c18222d363f454a4b53535353535353535353535353535353535353535353535353535353535353535353535353535353535353534d4b4740382e24190e0200000000000000000000000000000000000000010c18232d373f454a4b535353535353535353535353534847433c342a20150a0000030e19232c353c4145464646464646464646464646463f3e3a342d251b110700000a151e262e343846464646464646464646464646463e3d3a342d241b1106000000000000000000000000000000000000000000000000000000030b121820262b3237394045474b4d535457595a5c5d5d5e5e5d5d5c5c5a59575553514b4a4746413a39352f281f1c140a0100000000000000000000000000000000030b12181d262d33373c4247484b515356585a5c5d5d5e5e5e5e5d5c5b5a595754534d4a4745413a38332c27211a11080000000000000000000000000000000000040c13181e272e34383f44464a505355575a5c5d5d5e5e5d5d5b5a5755534d4a46443f38342e271e18120b030000000000000000000000000d1925313c4750585e5f606060606060606060606060585651493f34291e1206000000000000000006131f2c3845515c666d6d6d6d6d6d6d6d6d7985929facb8c5bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e585f626363636363636363636363636363636363636363615f574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c464e535554534d454039342e2a2521201d1a1c232f3e4b5865717e8b98a4b1becbccc1b5a89b8e8275685b4f4235281c0f0200000000000000000000000000000000020b17212a36414d56616c75818e97a1adb9aea3988d80808d9aa7b3c0cdc9bcafa296897c6f6356493c3023160900000000000000000000000000000a15202a343c4347494c4e4f5050515151515150504f4d4c4a4846423f3b3936302c29231d19130c0400000000000000000000000000000000000000000000000000000000000005111d29343f4850565860606060606060606060606060606060606060606060606060606060606060606060606060606060606060605957524a40352a1f13070000000000000000000000000000000000000005111d29343f495156586060606060606060606060606055534e463c31261b0f030009141f2a353e474d51535353535353535353535353534c4a463f372d23180d0106111c2630383f4453535353535353535353535353534b4a453f362d22180c0100000000000000000000000000000000000000000000000000060d151d242931373c43474b515357575e61646667696a6a6b6b6a6a696867656462605d555754524c4745413a312e261c1208000000000000000000000000000000050d151d24292f383f44464d5355555d6063656768696a6a6b6b6a6a6968676563615e575754524c48443d38332b231a0f05000000000000000000000000000000050d161d2429303940444a5053545b6062646768696a6b6a6a69686664615f575653504a4540393029231d150d050000000000000000000000101d2935414d58626a6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e221609000000000000000004101c2834404b545c60606060606060606c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c464e5355565656565656565656565656565656565656565655534d453b31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18242f39434e585f62615e57514b443f3836302d2c29252a2d313e4b5865717e8b98a4b1becbd0c3b7aa9d9084776a5d5144372a1e11040000000000000000000000000000000000050f1925303b44505a616d7a85929ea5afb4aa9f9287828f9ca8b5c2cfc9bcafa296897c6f6356493c3023160900000000000000000000000000030f1b26323c464e5355595a5c5c5d5e5e5e5e5d5d5c5b5a585754524d4b4746413b38342f29241e160d0802000000000000000000000000000000000000000000000000000000000915212e3a45505a62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c66635c52473b2f23170a000000000000000000000000000000000000000915222e3a45515b62656c6c6c6c6c6c6c6c6c6c6c6c6c625f584e43372b1f1206000d1925313c4750585e5f606060606060606060606060585651493f34291e12060c17232e38424a505f60606060606060606060606060585650483f34291d1105000000000000000000000000000000000000000000000000080f181f272f353c43474e53555d606468696e7172747576777777777676757472706f6d676764615e5654524c4340382e24190e0200000000000000000000000000060f171f272f353d41495053575f6266676d6f7274757677777777777776757472706e696864605d56544f48443d352b21160b0000000000000000000000000000060e171f282f353d424a51545c6063666c6f7173757677777777767573716e696763605b54514b433e342f271f170e0500000000000000000000121f2b3845515e6a7479797979797979797979797979726d62564a3e3125180b0000000000000000000c18232e39424b51535353535353535f6c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c43474849494949494949494949494949494949494949494846423b332a1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2935404b555f6a6f6e69605c55504a46413d3a39353036393b434e5866737f8c99a6b2bfccd1c4b8ab9e9185786b5e5245382b1f120500000000000000000000000000000000000008141f29323e46525e68707d8a939ea8b2aea399928f949eaab7c3d0c9bcafa296897c6f6356493c302316090000000000000000000000000006131f2b37434e585f62656768696a6a6b6b6b6a6a6968676563615e575854524d47454039352f282019140d050000000000000000000000000000000000000000000000000000000b1724313d4a56626c717979797979797979797979797979797979797979797979797979797979797979797979797979797979797979736e63574b3f3226190c000000000000000000000000000000000000000b1824313d4a56626d7279797979797979797979797979766a5f53473a2e21150800101d2935414d58626a6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e221609101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625a50453a2e2115090000000000000000000000000000000000000000000000081119212a313940454e53585f62676d7175787b7d7f81828384848484838282817f7d7b7a7673706d6865605d56524a40362b1f13070000000000000000000000000610182129313940454f535b6064696e73767a7c7f8082838484848484838382807f7d7b7874716d68636059544f473d33271c1004000000000000000000000000060f182029313a41454f545c60666d7074797b7e808283838484838381807e7b7874706c66605c554f454039312920170e0500000000000000000013202c3946535f6c79868686868686868686868686867f7265584c3f3225190c00000000000000000007121d2730394045464747474747525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222a31373a3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312a21180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313945515d676f7c7b726d67605c54524c49474541444146474d555f6a76838f9ca9b6c2cfd2c5b9ac9f9286796c5f5346392c201306000000000000000000000000000000000000020d17202a36414c56616c75818e96a1adb4aba39f9c9ea6b0bbc7d3c9bcafa296897c6f6356493c30231609000000000000000000000000000815212e3b47535f6a6f727475767777777777777676757372706e696865615e5653514b45413a322a251f170e0700000000000000000000000000000000000000000000000000000b1825323e4b5865717e8686868686868686868686868686868686868686868686868686868686868686868686868686868686868686807366594d4033261a0d000000000000000000000000000000000000000c1825323f4b5865727f868686868686868686868686867c6f6255483c2f22150900121f2b3845515e6a7479797979797979797979797979726d62564a3e3125180b121f2c3844505c667679797979797979797979797979716c62564a3d3124170b0000000000000000000000000000000000000000000008111a232b333c434b51585f626a6f757a7e8285878a8c8d8f9090919190908f8f8d8c8a888683807d7a76716d68645c52473b2f23170b0000000000000000000000060f18222a333b434b515960656c70767b7f8386898b8d8f909091919191908f8e8d8c8a8784817d7a75706b6360594f44382c2014070000000000000000000000040e18212a323b434b515960666d71787d8185888a8d8f9090919190908e8d8a8885817d78726d676159514b433a322920170d04000000000000000013202c3946535f6c798692939393939393939393938b7f7265584c3f3225190c000000000000000000000b151e272e34383a3a3a3a3a46525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f30303030303030303030303030303030303030302e2d2a261f180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18242f39434f59606d7984857f79716d66615e565654524c514c5254575f676f7c87929facb9c5d2d2c5b9ac9f9286796c5f5346392c20130600000000000000000000000000000000000000050e1925303a44505a606d7a84919ea5afb4aeaca8aab0b8c1ccd7c9bcafa296897c6f6356493c30231609000000000000000000000000000916222f3c4955626f7c7f818283838484848484838382807f7d7b7875726e6865605c55524c443e36302920191008000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b9393939393939393939393939393939393939393939393939393939393939393939393939393939393938c807366594d4033261a0d000000000000000000000000000000000000000c1825323f4b5865727e8b9393939393939393939393887b6f6255483c2f2215090013202c3946535f6c79868686868686868686868686867f7265584c3f3225190c13202d3a4653606d78868686868686868686868686867e7165584b3e3225180b00000000000000000000000000000000000000000007111a232b353d454d555d606a6f767c81868a8e919797999a9c9d9d9e9e9d9d9c9b9a98979992908d8a86827e7a736e64584c3f3326190d00000000000000000000040d18212a343c454d555d606b70787d83888c909399989a9b9c9d9d9e9e9d9d9c9b9a989696918e8a86827d77706b6054483c2f22160900000000000000000000020c16202a333b444c555d606b70797e84898e9297979a9b9c9d9e9d9d9c9b999797928e89847f79706b605c554c443b33291f160c010000000000000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f988b7f7265584c3f3225190c00000000000000000000030c151d23282c2d2d2d2d3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1f2122232323232323232323232323232323232323232322211e1a140e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2935404b55606b74808d928c847e79726e686663605d565d565e6163696e79839099a3afbbc7d4d1c5b8ab9e9285786b5f5245382c1f1205000000000000000000000000000000000000000008131e28323e45525d68707d89929da8b2bab9b5b7bbc1cad3d5c9bcafa296897c6f6356493c30231609000000000000000000000000010e1b2834414e5b6774818c8d8f8f909191919190908f8e8d8b8a8785827e7b76716d67605d565046413b322b221a12080000000000000000000000000000000000000000000000000b1825323e4b5865717e8b989f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f998c807366594d4033261a0d000000000000000000000000000000000000000c1825323f4b5865727e8b989f9f9f9f9f9f9f9f9f95887b6f6255483c2f2215090013202c3946535f6c798692939393939393939393938b7f7265584c3f3225190c13202d3a4653606d798693939393939393939393938b7e7165584b3e3225180b0000000000000000000000000000000000000000050f19232b353d474f575f676d737c82888e92989b9ea1a9a5a7a8a9aaaaaaaaa9a9a8a7a5aba39f9d9a99938f8b868073675a4d4034271a0d010000000000000000010c161f29333c464e575e676d747d838a8f94999d9fa4aba7a8a9aaaaaaaaaaaaa9a8a7a5a8a19e9b99928f89837d7063564a3d3023170a000000000000000000000a141e28323b454d565e676d747d848b91969a9ea1a9a6a8a9aaaaaaaaa9a8a6a9a19e9a96918b847d746d675e564d453b31281d13070000000000000013202c3946535f6c7986929facacacacacacaca5988b7f7265584c3f3225190c0000000000000000000000030b12181c1f2020202c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f12151516161616161616161616161616161616161616161514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28313945515d676f7d87939f96918b847f7a7672706d686b6a6b686d70747b8290959fabb5c0cbd7d0c3b6a99d9083766a5d5043372a1d10040000000000000000000000000000000000000000020c16202935414c56606b74818e96a0acb6c0c2c3c7ccd3dcd5c9bcafa296897c6f6356493c30231609000000000000000000000000010e1b2834414e5b6774818e9a9b9c9d9d9e9e9e9d9d9c9b9a989696918f8b86837e79736d68615a524d443d342c241a110800000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca6998c807366594d4033261a0d000000000000000000000000000000000000000c1825323f4b5865727e8b98a5acacacacacacaca295887b6f6255483c2f2215090013202c3946535f6c7986929f9f9f9f9f9f9f9f9f988b7f7265584c3f3225190c13202d3a4653606d7986939f9f9f9f9f9f9f9f9f988b7e7165584b3e3225180b00000000000000000000000000000000000000030c17212b353d474f5960696e7980878f949b9fa2aaabadb2b2b4b5b6b7b7b7b7b6b5b5b4b2b5afaca9aba49f9c98908376695d5043362a1d1003000000000000000008131e28313b454e585f696e79808990959c9fa6a9acafb5b3b5b6b7b7b7b7b7b6b6b5b3b2b2adababa39f9b958d8073665a4d4033271a0d00000000000000000006111c26303a444d575f686e79818991969ea0a8abadb3b3b5b6b6b7b7b6b6b4b3b3adaba8a09e96918a81796d685e574d433a2f24180e0500000000000013202c3946535f6c7986929facb9b9b9b9b9b2a5988b7f7265584c3f3225190c00000000000000000000000000070c101313141f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f39434f59606d79849199a4a19e96918c86837f7c7a78777777787a7d818690949fa7b1bdc7d1d5c9bdb2a89a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000050e19242f3a444f59606d7984919aa4afbbc3cfd3d7dee5d5c9bcafa296897c6f6356493c30231609000000000000000000000000010e1b2834414e5b6774818e9aa7a9aaaaaaaaaaaaa9a9a8a6a5a9a19e9b9993908b857f7a716c615e564f463e362c231a1107000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b3a6998c807366594d4033261a0d000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1b9b9b9b9b9aea295887b6f6255483c2f2215090013202c3946535f6c7986929facacacacacacaca5988b7f7265584c3f3225190c13202d3a4653606d798693a0acacacacacacaca4988b7e7165584b3e3225180b000000000000000000000000000000000000000b151e29333d474f59606b707b838d92999ea6acaeb4b8b9bebfc0c2c3c3c4c4c3c3c2c2c0bfc0bbb9b6b5afacaa9c908376695d5043362a1d100300000000000000030c19242f3a434d575f6a6f7b838d929d9fa7abb0b6b9bbc0c0c2bfbcbbbababbbcbdbec0bfbdb9b8b5afaca7998d8073665a4d4033271a0d0000000000000000000b17232e38424c565f696e7a838e939ea1a8acb2b8b9bec0c2c3c3c4c4c3c3c1c0beb9b8b2aca8a09e938e837a6e695e554b40352920170d02000000000013202c3946535f6c7986929facb9c5c6c6beb2a5988b7f7265584c3f3225190c000000000000000000000000000000040607131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55606b74808d96a0abaca8a19e99928f8c89878584848485878a8e92989fa6b0b9c2cfd7cdc5b9ada1968a7d7063574a3d3024170a000000000000000000000000000000000000000000000008131e28323d45515d67707d88939fa8b2bdc7d1dce8e2d5c9bcafa296897c6f6356493c30231609000000000000000000000000010e1b2834414e5b6774818e9aa7b4b6b7b7b7b7b7b6b6b5b3b2b2adababa49f9c97928c857e766e68605950483e362c23190e050000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bec6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1bec6c6c6bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9b9b9b9b9b2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9b9b9b9b9b1a4988b7e7165584b3e3225180b00000000000000000000000000000000000007121c27303b454f59606b707d8590959fa3abb0b8babfc4c6c9ccc7c6c3c1c0bfbfbfc0c1c3c5c6c7c5c3c0bbb6a99c908376695d5043362a1d1003000000000000000b151e2935414c555f696f7c8490959da4abb1b7bbc2c6bfbab8b5b2b0afaeaeaeafb0b1b3b5b7b9bdc0bbb3a6998d8073665a4d4033271a0d000000000000000003101c28343f4a545e686e7b8490959da5acb2b9bdc3c6c4c2c0bbb9b8b8babebfc4c5c6c3bdb9b2aca59d9590837b6e675d51453f32291f1409000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d67707d88939fa8b2b9b2acaba39f9c999697929190919297969b9fa3aab0b8c2cbd7cec5bbb1a79e9184796d6053463a2d2013070000000000000000000000000000000000000000000000010c16202935404b55606b74808d96a0abb5c0cbd7e1ead5c9bcafa296897c6f6356493c30231609000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1c3c2c2c3c3c3c2c1c0bebdb9b8b5afaca9a19e97928b827a6f6b615a50483e352b20170c0200000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bed0d9d2d2d2d2d2d3ccc7c3c2bebebebebebebebebebebebebebebebebebebebebebebeb3a6998c807366594d4033261a0d000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd2c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5c6c6beb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6c6c6beb1a4988b7e7165584b3e3225180b0000000000000000000000000000000000000c18232e39424d57606b707d869297a0a7afb5bdc2c7caccc7c7c0bbb9b7b5b3b2b2b3b3b4b6b8b9bebfc2c5c3b6a99c908376695d5043362a1d100300000000000007121c27303945515d676e7b859196a0a7aeb8bcc3c5bfbab4aeaca9a5a3a2a1a1a2a2a3a4a6a8abacb2b4b8b3a6998d8073665a4d4033271a0d00000000000000040f19222b3844505c666d7a849196a0a7afb9bdc4c8c2bbb7b6b6afacababaeb3b2b7b8bcc3c8c4bdb9afa7a0959083796d605a50443b3025190e030000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f59606d7984919aa4afbac4bdb9b5afaca9a5a9a29f9e9d9e9ea2a9a7acaeb4bcc2cad2ccc3bcb3a9a0958b7f72665c5044382c1f1206000000000000000000000000000000000000000000000000040d18242f3a434f59606d79849199a3afbbc3cfd8d6d5c9bcafa296897c6f6356493c30231609000000000000000000000000010e1b2834414e5b6774818e9aa7b4b7b6b6b5b6b6b7b9bbbfbfc2c5c4c0bbb9b3ada9a19e948f857d716c615a50473d32291e140a00000000000000000000000000000000000000000b1825323e4b5865717e8b98abb5bdc7d0d9e2ebded3cac2bbb7b5b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2a6998c807366594d4033261a0d000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d2cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000000000000004101c2834404a545e696f7d869298a2a9b1bbc0c7cfcdc8c2bbb7b5afacaaa8a6a6a5a6a7a8a9abadb3b2b5b8bab6a99c908376695d5043362a1d10030000000000000c18232e3942505a606d79849197a1a9b1b9c0c8c3bcb4aeaaa29f9c9996959494959696979a9c9ea1a8a7abada6998d8073665a4d4033271a0d000000000000000a16212b37424d57606d78828f96a0a8b1b9c0c9c4beb9b0aba9aca49f9e9fa2aaa6aaacb1babfc6c9c0b9b1a8a0958f82756c62564d42362a1f14090000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b74808d96a0acb6bcc2c7c7c0bbb9b6b2b3adabaaaaaaabadb3b4b8babfc6ceccc7c0bbb2a9a2979083786d60544a3f34281c10030000000000000000000000000000000000000000000000000007131d28313d45515d676f7c87929fa7b1bdc6d1c9c9c9bcafa296897c6f6356493c30231609000000000000000000000000010e1b2834414e5b6774818e9aa7abaaaaa9a9a9aaaaacaeb5b2b5b9babfc6c5beb9b3ada69f9791877e716c61594f443b30261c1106000000000000000000000000000000000000000b1825323e4b5865717e8b99a4abb5bdc7d0d9e2d8ccc2b8b0aaa9a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5998c807366594d4033261a0d000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b00000000000000000000000000000000030e18212c3844515c666e7b859298a2aab3bbc3cbd1cbc2bcb8b0ababa49f9d9b999999999a9b9c9ea1a9a5a8abaeb3a99c908376695d5043362a1d1003000000000004101c2834404a54616c75818e96a0a9b2bbc3cbc3b9b1aaa29f98928f8c8988878788898a8b8d8f9196979b9ea2a9998d8073665a4d4033271a0d000000000000030f1b27323a46535f6973808c949fa8b2bac3cbc4bbb3ada69f9c989a9392929895999da0a7aeb4bcc6cbc3bab1a79e938b7e71695e52463b31251a0e0000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8692999fa6abb1b8babfc5c6c5c2bfbebab8b7b7b7b8b9bec1c5c7cbc8c7c0bbb5afa8a09792857b6e665c5042382e23170c0000000000000000000000000000000000000000000000000000010c161f2935404b55606a73808d95a0abb5bfbcbcbcbcbcafa296897c6f6356493c30231609000000000000000000000000010e1b2834414e5b6774818e9aa29f9e9d9c9c9c9d9e9fa3aba6a9acaeb4b8bcc3c5beb9b0a9a19992877e706b60564d42382e23170b020000000000000000000000000000000000000a1623303d495663707d879399a4abb5bec7d0d9d3c7bbb0a69f9c98989898989898989898989898989898989898989898989898988c807366594d4033261a0d000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000000000000915202a36424d57606d78839097a1aab4bcc5cdd7c8c0b9b1aba69f9c9993908e8d8c8c8c8d8e90929796989c9fa2aaa99c908376695d5043362a1d1003000000000006121f2c3844515c66707d8a939ea8b2bbc4cdc3b9b1a7a098928d86827f7d7c7b7b7b7c7d7e808284878a8e92979b998d8073665a4d4033271a0d00000000000007131f2c38434e58616e7b86929fa6b0bac4ccc5bbb3a9a19e948f8b8786858586888c91959fa3aab4bec7ccc3b9b0a69f92857b6e61574d42362a1c110600000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d787f868f949d9fa7acaeb4b8b9bec0c2c4c5c5c4c3c4c5c6c7c5c4c2c0bcb8b6afaba49f9691857c6f695f544a3f30261c1106000000000000000000000000000000000000000000000000000000040d18242f39434e58606d79839099a3aeafafafafafafafa296897c6f6356493c30231609000000000000000000000000010e1b2834414e5b6774818e96979291908f8f909091929996999c9fa3aaacb1b9bdc4c2bbb2aba39992877d70695e544a3f34281e13080000000000000000000000000000000000000916222f3b4854606b717e879399a4acb6bec7d0d0c3b7aa9f948f8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b807366594d4033261a0d000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000000000020e1a26313a46535e69727f8c959fa9b3bcc6ced1c7bfb6aea79f9d948f8a868482807f7f808081838587898c8f9298999d9c908376695d5043362a1d100300000000000713202d3a4653606d7984919ea5afbac3cdc5bbb1a7a0959186807a7672706f6e6e6f6f70717375787a7d81858a8e928d8073665a4d4033271a0d0000000000000915222e3b4854606a75828f98a3aeb8c2ccc7bdb3a9a197918a837e7b7978787a7b7f848c9298a3acb6c0cccbc1baaea2988d8174695e5346382e23170c00000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c666d737c828990959b9fa2aaabadb3b3b6b7b8babfbbbbbbbfbab9b7b5b3b1acaca49f99938d847c6f6a60574d42382e1e150a000000000000000000000000000000000000000000000000000000000007121d27313d45515c666f7c87929fa7a3a3a3a3a3a3a3a296897c6f6356493c30231609000000000000000000000000010e1b2834414e5b6774818b898785848383828383848687898c8f92989da0a7adb2bac2c4bdb5aba39992857b6e665c50443a3025190d0200000000000000000000000000000000000713202c38444f59616c717e87939aa4acb6bec7d2c2b5a99c8f827f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7c6f6256493c2f231609000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b00000000000000000000000000000006121e2b37424d57616e7b86929fa7b1bbc5ced2c8bfb5ada49c959089827e7a777573737273747576787a7c7f8285888c9095908376695d5043362a1d10030000000007131f2c38444f5965727e8b96a0acb7c1cccabeb3a9a09590837b736d686663626161626363646769686d7174797d82868c8073665a4d4033271a0d000000000005111e2a36414c56626f7c89949eaab4bfcaccc0b5aba19791857d76726e6d66676d6f73787f86929aa4afbbc4cfcabeb3aa9f92867b6e61544a3f34281c1003000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a545c606a6f767d83898e92989b9ea2a9a7a9aaacaeb4aeaeaeb4aeacaba9a7a7a09d9a938f87807a6f6a60584e453c30261c0c030000000000000000000000000000000000000000000000000000000000010b151f2834404b545f6a737f8c9596969696969696969696897c6f6356493c30231609000000000000000000000000000b1824313e4b5764717e7f7c7a7877777676767777797b7d7f82868b90959ea1a8b0b8c0c6bdb4aba1979082786d60564c41362a1f1408000000000000000000000000000000000004101c27323d47505a626c717e88939aa4acb6c0ccc4b7aa9e91847b72727272727272727272727272727272727272727272727272726f6a6054473b2e221508000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b0000000000000000000000000000000814212e3a47535f6975818e98a2aeb9c2cdd5cbc0b6ada39b928d837c76716d686866666666676869686d6f7275797c7f83878b8376695d5043362a1d1003000000000915222f3b4854606b7783909da8b2bdc9d2c6b9ada1979083796e69615e5656555454555657585a565e6164666d70757a807f7265594c3f3226190c00000000000713202d3946525e6875818e9ba6b0bcc6d1c7bbafa49992857b706c6561605c5d6062666d727e88939fa9b3bec9d0c5bbaea3998d8073665c5044382c1f1206000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424a51585f626b70767c81868a8f9297989a9c9e9fa3aaa1a1a1aba39f9e9c9a9795908c87827c746d675f584e463d332a1e150a00000000000000000000000000000000000000000000000000000000000000030d18232e39424e58606d78838989898989898989898989897c6f6356493c30231609000000000000000000000000000a1724303d4955616c7172706d686b6a6969696a666c6e7073767a7e838b91969fa6afb7c0c6bdb3a99f948b7f72685e52463b3025190e0100000000000000000000000000000000000b16212b353e48505a626c717e88939aa4afbbbec5b9aca09691847c6f6a65656565656565656565656565656565656565656565656260584e43372b1f1306000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000000004111d2935414c56626e7b87939faab4bfcbd4cdc3b9aea49b918c80786f6a64605d565a5959595a5b565e616365666d6f72777b7f8073675a4d4034271a0d0100000000091623303c4956636f7c8995a0acbac3cec9bdb2a89e92857b6e675f57524c4a49484848494a4b4d4c5254545c6063686e73726d62574a3e3125180b00000000000714212e3a4754616d7a86929facb9c1cfd2c6b9ac9f93877d6f69615a5453515153545c606c737f8c97a1adb9c6d2cbbfb5ab9e9185796d6053463a2d201307000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303940444e535960636a6f757a7e8285888b8d8f91929894949594949992918f8d8a8784807b756f6a605d554e463d342b21180c03000000000000000000000000000000000000000000000000000000000000000007121d27303c44505c666e7a7c7c7c7c7c7c7c7c7c7c7c7d7a6d6054473a2d211407000000000000000000000000000815212d3945505a61646563615d565d5c5c5d545b60616366686d72787e848f949da5afb8c1c5bbb0a69f92857a6d61564d41362a1d12070000000000000000000000000000000000050f19232d363e48505a626c717f88939fa3adb5bfbdb2a8a09691857c6f6b6159585858585858585858585858585858585858585856544e463d32271b0f03000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b00000000000000000000000000000613202c3945525d6874818e99a4afbcc6d0d4c8bcb1a79d928c7f736d66605854524c4d4c4c4d4d4e4c525456545c606266696e72736e64584c3f3326190d0000000005121e2a36424d576774808d9aa7b1bcccd2c5b9aca1968b7e71695e554d46413d3c3b3b3c3c3d3e404146474a5053565e616665625b51463a2e2216090000000004101c2834404b5465727f8b99a3aebac7d4c8bcb1a79b8e81756b60575048464445474a505a606d7985919eabb8c3ced1c6b9ada197897c706356493d2e23180c000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272e343c43474f54586062676d7175797c7e8083848587878888888787868482807e7b77736e69625f58514c433c342b22190f06000000000000000000000000000000000000000000000000000000000000000000000b151e28343f4a545e686e7070707070707070707070706d685d5245392c2013060000000000000000000000000005111d28343e48505557585654524c50504f504a50535456565d60666c717a828e939da5afbac4c2baada2978d8174685e5246392f24180c00000000000000000000000000000000000007111b242d363f48505a626d727f8b919ba3adb5bfbab2a9a19792867d706b615a504c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4947433d342b20160a00000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b00000000000000000000000000000714212d3a4754606d7a86929fabb5c0ced8d1c4b8aca0958d80746d605c544e47454140403f404142414647494a505355575e616567645c52473b3023170b000000000714212d3a46535e697784919eaab7c3ced1c4b7ab9e9184796d60574d433c3630373737373737373036393a3f44464c525459595751493f35292119110700000006131f2c3845515c6675828f9cabb4bfcbd1c4b8aca095887b6e62594f453e3a38383a3f45515d67727f8c98a7b1bcc8d4c9beb3a99a8d807367554b4034281c10040013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c232831373d44484e54555d6064666c6f71747677797a7a7b7b7b7b7a79787674716e6966615e57534e45413a312a221910070000000000000000000000000000000000000000000000000000000000000000000000030c17232e38424c565e61636363636363636363636363605d564c4135291d110400000000000000000000000000000c17222c363e45494b4c49474641444343433f4446484a4c52545b60686d78818e939ea8b2bdc9beb3a99f92867b6e61554b4035291d100400000000000000000000000000000000000009121b242d363f48505a626d727f8b919ba3adb5bfbbb2a9a19892867d716c625a5149403f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3c3b37322b22190f0400000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b0000000000000000000000000004111d2935414c5665717e8b98a3aebdc7d2d3c7bbb0a69d9083786d605b504a423d39352f333333343036393a3c3f4446494d5354585a58524a40362b1f1307000000000815212e3b4854616e7b8796a0acb9c5d6cabeb3a9998c7f72665c50454343434343434343434343434343434343434146474d4c4a463f3b38322b23190f0400000713202d3a4653606d7985929facb8c5d1d0c3b7aa9d9083776a5f53473d332d2c2c2e35404b55616e7b8795a0acb8c5d1cfc3b6aa9d908377675c5145382c1f13060013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820262b33383d43474b5154545b60626567696b686d6e6e6e6e6e6d676b696764615e5754534d47433c352f281f1810070000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b444c525456565656565656565656565654524c433a2f24190d01000000000000000000000000000006101a242c34393d3e3f3d3a39353036362d3338393b3d41454a50565e666d78818f96a1acb9c2c5baaea3998d8073675d5145382c1f13070000000000000000000000000000000000000009121b242d363f48515b626d727f8b919ba3adb5bfbbb3aaa29892877e716c625b52443f382f3232323232323232323232322f2e2b27201910070000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000000613202c3945525d6876838f9caab4bfd0d9d0c3b7aa9e94897c6f665c51443f38302c292426262627252a2d2e2e34383a3c4246484c4d4c4740382e24190e03000000000b1724313e4a5764717d8a97a8b2bdc9d3c6baada297887c6f62544a50505050505050505050505050505050505050505050505050504948443d352b21160b0000091623303c4956636f7c8998a2aebac6d3ccc0b3a6998d807366584e43342b201f1f242f3946535e697784919daab7c4d0d2c5b9ac9f9286796d6053463a2d2013070013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c151a21272c32373a4145474a505355585a5c565d606161626161605d555c5a5754534d4846423b373229241e160d060000000000000000000000000000000000000000000000000000000000000000000000000000000a151e29323b4146474949494949494949494949494745413a31281e13080000000000000000000000000000000009121a22282d303132302e2d29282c2d2f323334353035383f444c545c666d7984919ea6b0bbc7bfb4ab9e9285796d6053473a2f24180c000000000000000000000000000000000000000009121b242d363f49515b626d727f8b919ba3adb5bfbcb3aaa29992877f726d635c504a423930272525252525252525252523221f1b160f07000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000000714212d3a4754606d7a86929facb9c5d1d5c9bdb2a89c8f82756a60544a40342e26201d1919191a1a191d202123282b2d31363a3b3f403f3b362e261c120800000000000d1a2633404d596673808c99a6b3bfced2c5b8ab9f9285796c605d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d56544f473d32271b0f03000c1825323f4b5865727e8b98aab4bfcad6cabfb4aa96897d7063564a3d31231912131d2a36424d576774818d9aa7b4c0cdd3c7bbaea399887c6f6255493c2f2216090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f161c20272b2f35393a3f4446494b4d504c5254545555555454514c4f4d4b4846423b3a36312b262019130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000030c1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3a39352f281f160c0100000000000000000000000000000000000910171d2124242523282b2e34383a3c3f4041424241403f3d424a545d67707d89949fabb7c4c6b9ada2978a7e7164554b4035291d1004000000000000000000000000000000000000000009121b242d373f49515b626d727f8c919ca3adb5bfbcb4aba399938b7f736e605b544a423930271f15191919191919191615130f0a0400000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000000a1724313d4a5764707d8a99a3afbbc7d4d2c5b9aca096897d7063584e42392e231c15110d080c0d080d111314171c1f20252a2d2e323433302b241c140a0100000000000f1b2835424e5b6875818e9ba8b4c1ced0c3b6aa9d908377656a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6360594f44382c201307000e1a2734414d5a6774808d9aa7b3c0d0d3c6baaea298877b6e6154483b2e2115080e1a25313f4c5865727f8b98a5b2becbd7cbbfb5ab978a7e7164574b3e3124180b0013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10161b1d24292c2d3338393c3e4143414547474848484847454143413e3b3a36312d2a251f1b150d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e3030303030303030303030302d2c29241e160d0400000000000000000000000000000000000000060c1113191e262e34383a404546494b4d4e4e4e4e4d4b4947454b55606b76828f9ca8b2bdc9beb3a99b8e8275675d5145392c1f130600000000000000000000000000000000000000000009121b252d373f49515b626d727f8c919ca3adb6bfbdb5aba49f918c80746c665c544b433931271f150d0c0c0c0c0c09080603000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000030f1b27333f49536774808d9aabb5c0cbd7d1c4b7aa9e9184786c6053463d30271c110a040100000000010507060b1012131a1e2121252726231f19120a02000000000000101d2a3643505d697683909ca9b6c3cfcfc2b5a89c8f82767676767676767676767676767676767676767676767676767676767676766f6b6054483b2f221509000f1c2936424f5c6975828f9ca8b5c2cfd2c5b8ac9f9285796c605346392d201306091724303d4a5763707d8a96a3b0bdc9dcd1bfb2a5988c7f7265594c3f3226190c0013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13181d2022282b2d2f32342f35393a3b3b3b3b3b3a39352f34312e2d2a25211e1a140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e202123232323232323232323232321201d19130c040000000000000000000000000000000000000000060e161e252a30383f44464b515356585a5b5b5b5b5a585653514b4f5963707d8a96a1acb9c5c5b8ac9f9286796d6053473a2d2014070000000000000000000000000000000000000000000009121b252d373f49515b636d727f8c919ca4adb6bfbdb5afa39b928d80786d665c554b433931271f150d0300000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b00000000000000000000000005121f2b3744505b657683909da9b6c3d1d8ccc0b6ac9a8d8074655b5044372b1e150b0000000000000000000000000306090e121415191a1917130e080100000000000000111e2b3844515e6b7784919eaab7c4d1d1c5b8ab9e9285838383838383838383838383838383838383838383838383838383838383837c6f6356493c3023160900111d2a3744505d6a7783909daab6c3d0d0c4b7aa9d918477655b5044372b1f12050915222f3c4855626f7b8895a2aebbc8d5cdc0b3a69a8d8073675a4d4034271a0d0013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d1113171c1f2022252724292c2d2e2e2f2e2e2d2c2924272421211e1a14120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e1114141616161616161616161616161413110d08010000000000000000000000000000000000000000060f18202830363e424a5053545c6062656667686867676563605d555353606c7884919eabb7c4c6baaea2988a7d7064574a3d2f24180c000000000000000000000000000000000000000000000009131b252d373f49515b636d737f8c919ca4aeb6bfc0bbada49c928e81786d675d554b433931271f150c03000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b0000000000000000000000000613202d394653606c7985929facb8c5d2d4c8bbafa49a897d706353493f3327190c03000000000000000000000000000000020507080c0d0d0b0703000000000000000000121f2b3845525e6b7885919eabb8c4d1d2c6b9ada197929090909090909090909090909090909090909090909090909090909090908a7e7064574a3d3124170a00111e2b3844515e6b7784919eaab7c4d1d0c3b6aa9d9083776a53493f33271b0f030815212e3b4854616e7b8794a1aebac7d4cdc1b4a79a8e8174675b4e4134281b0e0013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060b0f121316181a191d2021212222222121201d191a181514120e09050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a07060401000000000000000000000000000000000000000000060f18212a323a414650545c6064666d6f7273747575747372706d6764605c5b6574808d9aacb6c0cabfb4aa9a8d807367554b4035291d1004000000000000000000000000000000000000000000000109131b252d373f49515b636d737f8c929ca4aeb6c0bfb6aea59d938e82796d675d554b433931271e150a000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b0000000000000000000000000815222e3b4855616e7b8898a2aebac6d3d2c6b9ac9f93867a6d6054473a2d2217070000000000000000000000000000000000000000000100000000000000000000000000121f2c3945525f6c7885929fabb8c5d2d5c9beb3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d978a7d7064574a3d3124170a00121f2b3845525e6b7885919eabb8c4d1cfc2b6a99c8f8376695c50432d22170b000714212e3a4754616d7a8794a0adbac7d3cec1b4a89b8e8175685b4e4235281b0f0013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606090b080d11131414151515151413110d080b080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212a333c444c525a61666d7175797c7e8081818181807e7c7976716d666063707d8a9aa4afbbc8c3b6a99d908376675d5145392c1f130600000000000000000000000000000000000000000000000109131b252d373f49515b636d73808c929ca4aeb6c0c0b7afa59e948f82796d675d554b433930261c11060000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbfb2a5988c7f7265594c3f3226190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b0000000000000000000000000a1724303d4a5763707d8a96aab4bfcad6d0c4b7aa9d918477685d5245392c2013060000000000000000000000000000000000000000000000000000000000000000000000121f2c3945525f6c7885929fabb8c5d2dacfc5bbb3adaba9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a3978a7d7064574a3d3124170a00121f2c3945525f6c7885929fabb8c5d2cfc2b5a89c8f8275695c4f4236291c06000714202d3a4753606d7a8693a0adb9c6d3cec2b5a89b8f8275685c4f4235291c0f0013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060708080808080706040100000000000000000000000000000000000000000000000000000000000000000000000000000000050a0e1011131313131313131313131313130c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a333c454e565e616c71787d8286898b8d8e8e8e8e8d8b8986827e79706b606d7a86939facb9c6c5b9ac9f92867a6d6053473a2d2014070000000000000000000000000000000000000000000000000109131c252e374049515b636e73808c929ca4aeb7c0c0b7afa69e948f82796d675d554b42382e2317120800000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2ccbfb2a5998c7f7266594c3f3326190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b0000000000000000000000000b1825323e4b5865717e8b98a4b1bed0dbcfc2b5a89c8f827569564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000121f2c3845525f6b7885929eabb8c5d1ded7cdc5beb9b8b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b0a3978a7d7064574a3d3124170a00121f2c3845525f6b7885929eabb8c5d1cfc2b6a99c8f8376695c504336291d08000714212d3a4754606d7a8793a0adbac6d3cec1b4a89b8e8175685b4e4235281b0f0013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b11161a1d1d20202020202020202020202020191816120d0700000000000000000000000000000000000000000000000000000000000000000000000008131e28313c454e575f686d767e848a8f929898999a9b9b9a9a9898928f8a847d736c677884919eabb7c4c7bbaea399897c6f6256493c2f23160900000000000000000000000000000000000000000000000000010a131c252e374049525b636e73808d929da5afb7c1c1b8b0a69f948f82796d675c544a3f3428241a0f06000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2ccbfb2a6998c7f7366594c403326190d13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b0000000000000000000000000d192633404c5966737f8c99a6b2bfccd9cdc0b3a69a8d8073675a4d402f24190d010000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b7884919eabb7c4d1ded9cfc7c0bbb9aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeb1b3b7bec3c3c3c3bdb0a3978a7d7064574a3d3124170a00121f2b3845525e6b7884919eabb8c4d1d0c3b6a99d9083766a5d50432f24190d010815212e3b4854616e7b8794a1aebac7d4cdc0b4a79a8d8074675a4e4134271b0e0013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040607090b0d0f0f101011111111100f0e0c0a070604010000000000000000000000000000000000000000000000000000000000000000000000050d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2d2525221e18110901000000000000000000000000000000000000000000000000000000000000000000010d19242f3a434d575f6a6e7a828a91969b9fa3aaa6a7a8a8a7a6aaa39f9c96918980776c75828f9ca8b5c2cbbfb5ab978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000010a131c252e374049525c636e74808d939da5afb8c1c1b8b0a69f948f82796d665c504440362c21180c030000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cdc0b3a69a8d8073675a4d4034271a0813202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b0000000000000000000000000e1b2734414e5a6774818d9aa7b4c0cdd8cbbfb2a5988c7f7265594c3f32261908000000000000000000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7784909daab7c3d0dcd1c7bdb5afaca1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a4a7acb5bec9d0cabdb0a3978a7d7064574a3d3124170a00111e2b3844515e6b7784919eaab7c4d1d0c3b7aa9d9084776a564c4135291d11040815222f3b4855626e7b8895a1aebbc8d4cdc0b3a69a8d8073675a4d4034271a0d0013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070d11131416181a1b1c1d1d1e1e1e1e1d1c1a18161413110d08060300000000000000000000000000000000000000000000000000000000000000030d171f272d3336373939393939393939393939393932312e29231b130900000000000000000000000000000000000000000000000000000000000000000004111d2935414c565f696e7c848f949ea0a8acaeb4b3b4b4b4b4b3b4aeaca8a09e928d817773808d9aa6b3c0d1c0b3a6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000010a131c252e37404a525c606c77808e939ea6b0b8c2c2b8b0a69f948f82786d605c52483e332a1e150b0000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cec1b4a89b8e8175685b4e423024190d13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b0000000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced7cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfd7cbc0b5aba39f959494949494949494949494949494949494989ba3acb7c3cfc9bcb0a396897d7063564a3d3023170a00101d2a3643505d697683909ca9b6c3cfd1c5b8ab9e928578685d5245392c201307091623303c4956636f7c8996a2afbcc9d5ccbfb2a5998c7f7266594c3f3326190c0013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104080d111314181d20202224262829292a2b2b2b2a2a2827252321201d1915130f0a0401000000000000000000000000000000000000000000000000000000000b151f2931393e4244464646464646464646464646463f3e3a342d251b0b0200000000000000000000000000000000000000000000000000000000000000050f19232c3945525d686e7b8591969ea6acb2b8babfc0c1c1c1c1c0bfbab9b2aca49c938d80737f8c99a5b2bfccc2b5a89b8f8275685c4f4235291c0800000000000000000000000000000000000000000000000000000000010a131c252e374044505b656c78818e939ea6b0b9c3c2b8b0a69e948e81746e635a50453c30271d120700000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cfc2b6a99c8f837669564c4135291d1113202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b0000000000000000000000000f1c2935424f5c6875828f9ba8b5c2ced6cabdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000e1b2835414e5b6874818e9ba7b4c1ced4c7bbafa399928888888888888888888888888888888888888b919ba7b3bfccc9bcafa396897c706356493d3023160a000f1b2835424e5b6875818e9ba8b4c1ced2c6b9ada197877a6d6054473a2d2114080b1825323e4b5865717e8b98a4b1becbd7ccc0b5ab978a7e7164574a3e3124170b0013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d1113191d202124292c2d2f3133353636373738373736353432302d2c2924221f1b15100d07010000000000000000000000000000000000000000000000000005111c27313b434a4f50535353535353535353535353534c4a463f372d1d140a000000000000000000000000000000000000000000000000000000000000000b16212c38444f59606d7a849197a1a8b0b9bdc4c7cbc8c5bebab8b7b6b6b7b9b9aea59c928a7e7e8b97a4b1becac3b6aa9d9083776a5d50442f24190d0100000000000000000000000000000000000000000000000000000000010a131c2527333f49535b666d78818f949fa7b1bac4c2b8b0a69e938c80736c61574d42392e23180c03000000000000000000000000000000000000000205070807060c1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2d1c4b8ab9e918478685d5246392d201314212d3a4754606d7a8793a0adbac6d3cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfd6c9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfced2c5b9ac9f92877b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7f8b98a4b1becbcabfb4aa95887c6f6255493c2f221609000d1a2733404d5a6673808d99a6b3c0cfd5c9beb3a995897c6f6256493c2f24190f111d2935414c566773808d9aa6b3c0cdd4c7bbafa499887c6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f13181d2024292c2d2f35393a3c3e4042424343444444444342413f3d3a39352f2e2b27201d18120b060000000000000000000000000000000000000000000000000a16222d39434d555b5d60606060606060606060606060585651493f2f261c1106000000000000000000000000000000000000000000000000000000000004101c27333c4854606b75818e96a0a9b2bac2c9d0c7c0bbb9b4aeabaaa9aaabadb2b7aea49e92857f8c99a5b2bfccc4b7ab9e9184786b564c4135291d11040000000000000000000000000000000000000000000000000000000000010a1317222d38414a545c666d79828f95a0a8b2bbc5c1b8afa59c928a7e71695f544b40342820150a000000000000000000000000000000000003090e1214151413111825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2d2c5b9ada196877a6d6154473a2e231814212e3b4754616e7a8794a1adbac7d4cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000101d293643505c6976838f9ca9b6c2cfd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a8b2bdc9d4c7bbafa399877b6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e717e8b97a4b1becac7baaea298877a6d6154473a2e211407000b1824313e4b5764717e8a97a9b3bec9d5cfbeb2a5988b7f7265564c4135291f1c1d222d3946525d687683909ca9b6c3cfd2c6b9ac9f9386796d6053473a2d2014070013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1d24292c3035393a3e404547494b4d4e4f505051515151504f4d4b494745413c3b37322c29241d17110a02000000000000000000000000000000000000000000010e1a26333e4a555f666a6c6c6c6c6c6c6c6c6c6c6c6c6c65625b5142382d22170b00000000000000000000000000000000000000000000000000000000000713202c38444f5963707d89939ea8b2bbc4cccec5beb6afacaaa29f9d9c9d9ea1a8aaacada197928c919ca8b4c0d2c5b9ac9f928679685d5245392c2013060000000000000000000000000000000000000000000000000000000000000006111b262f38424a545c676d79839096a0a9b3bdc7c1b7aea49f92867b6e665c51453c31261b0f05000000000000000000000000000000050d141a1e202121201d1825323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2d5c9bdb2a8968a7d7063544b4034281f1b222f3c4955626f7c8895a2afbbc8d5cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000101d293643505c6976838f9ca9b6c2cfd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8796a0acb9c5d2cbc0b5ab96897c70636161616161616161616161616166727f8c99a5b2bfccc5b8ac9f928579685e5246392d201307000815222f3b4855626e7b8897a1adb9c6d2cfc2b5a99c8f8276685d52453b312b28292c333f4a54616d7a86929facb9c5d2d0c3b6a99d908376675c5145382c1f13060013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2f35393a4145474a4b51535557595b5c5c5d5e5e5e5d5d5b5a585654524c4947433d39352f28221c140b05000000000000000000000000000000000000000003101d2936424f5b66717779797979797979797979797979726d62544a3f33281c0f03000000000000000000000000000000000000000000000000000000000916222f3c4854606b7783909da5afbac3cdcfc5bcb3aca49f9b98929190909196989ea0a8a9a19e999ca3adb8c4d3c7baaea398877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000a141d262f38424b555d676e7a849197a2abb5c0cbbfbaaea2989083796d60584e43372b21160b0000000000000000000000000000050f171f252a2d2e2d2c292425323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2dacfc0b4a79a8d8174665c51453a312b2729333f4a5464717e8b97a4b1becad7cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000f1c2936424f5c6975828f9ca8b5c2cfd6c9bdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697784919eaab7c4cfd1bfb3a6998c8073665955555555555555555555555c6775828f9ca8b5c2cfc3b6a99d9083766a564c41362a1d1105000613202d394653606c7885919eabb8c4cfd2c5b9ac9f92867a6d60564c433c383335393e44505b66717e8b99a3afbbc7d4c9bdb2a8998c807366554b4034291c10040013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222a31373a4045474c525457555d606264666869696a6a6b6a6a6968676563605d5656544e47454039332d261d170f070000000000000000000000000000000000000004111d2a3744505d6a7783868686868686868686868686867f72665b5044382b1f150a00000000000000000000000000000000000000000000000000000004101c2834404b5563707d89959fabb7c1ccd1c6bdb3a9a29a938e898584838384878b91969fa3ababa5a8adb5bfcad7cbbfb4aa94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000020b141d263039434b555e686e7b859299a3afbbc2cabfb4aaa0958c80736a5f53473d33271c1003000000000000000000000000040d17212930363a3b3a39352f28323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2ded1c5b8ab9e9285796d60564c433b3733353a44505b6674808d9aa7b3c0cdd7cabdb0a4978a7e7164574a3e3124170b0000000000000000000000000f1b2835424e5b6875818e9ba8b4c1ced6cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576774818d9aa8b2bdc9d0c3b6aa9d9083776b605349484848484848484b55606d7985929fabb8c5cbbfb4ab9a8d8174675a4e413025190d010005121f2b3744505b6574818e9ba9b3bec9d3c7baaea3988c8073685e554d46443f4145475058606c7884919dabb5c0cbd2c5b9aca196897c6f6356493c2f23180c000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c43474b5153565d606467676d6f7173757576767777777776757472706d686762605853514b443f382f2921191008000000000000000000000000000000000000000b1824313e4b5764717e8a96939393939393939393939184786c6053463c32261b0f02000000000000000000000000000000000000000000000000000006131f2c3845515c6775818e9ba7b1bcc9d7cbbfb5aba2979288817c79777677787b7e848b9299a2a9b3b4b8bfc7d1dcd1bbaea195887b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000000020b151e27313a434c565f69707d87929fa6b0bdc6c5bcb1a79f92877c6f62594f44382c20150a0000000000000000000000010c161f29333b4246484745413a31323f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2dfd2c6b9ada1978b7e71685e554d46443f40454b55606c7884919eabb8c4d1d7ccc0b5ab96897d7063564a3d3023170a0000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cdd7cbbeb1a4988b7e7165584b3e32251806000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313d4a5663707d8996a1adb9c5d0c4b8aca095897c6f655b504843414040444b515d67717e8b97a2adbac6c7baaea3998a7d7064574a3d312417080000030f1b27333f495364707d8a97a1adb9c5d0cbbfb4aa9f92857a6e675f5753504a4c52545a616a717e8b95a0acbdc7d1cbbfb4aa9e9184796d6053463a2d201307000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c464e53555d6065686d7174777a7c7e8081828383848484848382807e7c7a77736f6a65605d55504a423b332b231a11080000000000000000000000000000000000000713202d3a4653606d7884919ea99f9f9f9f9f9f9fa0968a7d7064584e43372b1e130800000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c3cdd3c7bbaea39992857d756f6d66696a696e72787f879297a2aab4bfcbd7d9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000030c151f28313b444d57606b737f8c949fabb4bfcbc3bbaea3998f82766b6054483c31261a0f030000000000000000000007121d28313b454d525454514b433c333f4b5865727e8b98a5b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2dfd5c9beb3a99e91847a6d675f575350494b51555d67707d8a96a1adb9c5d2d4c7bbafa499887b6f6255483c2f2215090000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd9ccbfb2a6998c7f7366594c402d22170b000000000000000000000000000000000000000000000000000000000000000000000000000913202d394653606c7884919eaab4becac8bcb1a79c8f82776c605b544e4d4d4a51545c606d7984919ea9b3becac5b9ac9f92867a6d6053473a2d2014070000000b17222d3a4653606d7985929eaab4bfcad1c6baaea2989083796e6963605b54565d60646c717d86929fa8b1bdcfd3c7baaea3988c7f72665c5044382b1f1206000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e585f62676d72767a7d818486888a8c8e8f8f9091919190908e8d8b898683807c77726d67605b544d453d352c231a1007000000000000000000000000000000000006121f2b3844505c66727f8b97a2adacacacacacb2a89c8f82766a5f53473a3025190d00000000000000000000000000000000000000000000000000000a1623303d495663707d8998a2aebac6d6cbbfb4aa9f92877c6f6b63605c54575e61666d727d859298a3aebac4cfdad5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000030d161f29323c454f59606c78829099a3aebac6cbbfb5ab9f94897d7063584e43372b1f1206000000000000000000081118242f39434d575e61605d554d453e3e4b5865717e8b98a4b1becbd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2dfdacfc5b9ada1969082796e6962605b53555d60676d7984919ea9b2bdc9d5d2c6b9ac9f93867a6d6053473a2d2014070000000000000000000000000c1926323f4c5965727f8c98a5b2bfd1dccdc1b4a79a8e81746753493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6673808c98a2aebac3cfc3b7ab9f948c7f726d6260585a59545c60666d74818e96a0acbbc5c7bcb1a79b8e8275675d5145392c20130600000006121f2c3844515c6673808d98a2aebac3cfcabeb3aa9f9590827b746f6c666a6a686d71767e859298a3aebac3cec9beb3a99f92867a6d61544a3f34281c1003000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a6f747a7e83868a8e91969597999b9c9c9d9d9e9d9d9c9b9a989993908d89847f79716c665e574f473e352c22190d040000000000000000000000000000000003101c28343f4a54606d7985929eaab4bfb9b9b9b7ab9f94887c6f62564c41362a1d1207000000000000000000000000000000000000000000000000000d192633404c5966737f8c99aab4bfcad3c7baaea3988d80736a605953504a4d52545c606b6f7d86929fa9b3bec9d5d5c9bcafa296897c6f6356493c302316090000000000000000000000000000000000000000000000000005080a0b09090703000000040d17202a333d44505b666e7b86929faab4bfcbc6bdb0a69c8f82766a5f53473a2e2115080000000000000000060f1a232935404b555e696e6d675f574f443f4b5864717e8b97a4b1becad5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2dfd8d1c9bdb2a99f9490827b736f6c656969676d7179829096a0acbbc4cfdad0c4b7aa9d918477675d5145392c2013060000000000000000000000000a1724303d4a5763707d8a96abb5bfcbd7cfc3b6a99c908376655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616d7a85929fa8b2bdc7c7bbb0a69f93887f766f6a68676667666d7179818e939ea8b2bdccc3b8ab9f95897d7063554b4035291d110400000004101c2834404a54616d7a86929fa8b2bdc6d0c5bcb1a79f949086807c79787677787a7e828a9297a2aab4bfcccbc3b9ada1978d8074685e5242382e23170b00000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c81858b9092999a9ea0a8a4a6a8a8a9a9aaaaaaaaa9a8a7aba49f9d9a96918b857e786e6960594f473e342b1f160c01000000000000000000000000000000000b17232e3845515d6773808c98a3aebac7d2c7bbb0a69b8e8174685e5246392e23180c000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2d0d2c5b8ac9f92867a6d60584f46443f42464a5059606b737f8c97a1adb9c6d2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000060c111517181615130f0b040000050e182128333f4a545f6973808d98a3aebac7cfc2b7ab9f94887b6f6255483c3025190e02000000000000040d18212c353d45515d676e7b7a6e69615950494b5764717e8a97a4b1bdcad5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2d8cfc6bfbab9b0a69f949086807c79777675777a7e8490949fa8b2bdcdd6d6cabeb3a99a8e817467554b4035291d10040000000000000000000000000815222f3b4855626e7b8899a3aebbc7d3d2c5b8ab9f9285796c605346392d201308000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3846525e6873808c96a0abb5c0cbc2bbafa49a938c827c787574737475797d848e939ea5afbac3c3b9aea49d9083766b6054433a2f24180d01000000000c18232e3946525e6873808c96a0abb5bfcbcec3b9b0a69f98928d898584838485868a8f949ea2a9b3bcc6ccc3b9afa59e92857a6d60564c4130261c110600000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b78848d92989d9fa3abaaacb2b1b3b4b5b6b6b7b7b7b7b6b5b3b5afacaaa8a09d97918b827b6f6b61594f463d31281e13080000000000000000000000000000000006111c2935404b55616d7a86929fabb5c0cccdc2b9ac9f92867a6d61544b4034281c1004000000000000000000000000000000000000000000000004101c2834404a546a7784909daab7c3d0cec1b5a89b8e8175685d52463d383436383f444f59606d7985919eabb8c4d1d5c8bbaea295887b6f6255483c2f221509000000000000000000000000000000000000000000000911171d2124252322201b160f070000060f17222d38424d57616d7a86929facb8c5d2c7bbb0a6998d807366564d41362a1e11050000000000010c161f2a333d47515b606d7983847b706b605b534b5764717d8a97a4b0bdcad5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2d1c6bcb4aeacabada69f98928d898584828283868a91969fa6b0bac4cedbd3c6baada2978a7d7164574a3e2f24180d010000000000000000000000000713202d3a4653606d7986929facb9c5d2d3c6baada297887b6e6255483b3025190d0100000000000000000000000000000003050609090703000000000000000000000000000006111c2935414c56606d79849199a3afbbc0cbc0b6aca49f948f89848280808182858a91969ea5afb7c1c4bbb1a79d92897d6f63594f4431281d1307000000000007121c2a36414c56606d79849199a3aebbbfcacbc2b8b0aaa39f9a98929190909193999c9fa6adb3bbc5cbc2b9b1a79e938b7e71685d52443a301e140a0000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b7884919ea2aaacafb5b7b9bdbdbfc1c2c2c3c4c4c4c3c3c1c0c0bbb9b7b2aca9a19e9490857d706b61584e433a2f24190d03000000000000000000000000000000000d18242f3946525e6874818e99a4afbbc7d3c7baaea3988c7f73665c5145382c1f160a000000000000000000000000000000000000000000000006121f2c3844515c667885929fabb8c5d2cbbeb1a5988b7e7265564c41342c282a2e343d45515c6774808d9aa7b3c0cdd7cbc0b5ab94887b6e6155483b2e22150800000000000000000000000000000000000000000009121b22292d3031302f2c2721191108020006111c262f3c46525e6875818e9ba8b5c1d0ccc2b7aa9d918477685e5246392d201407000000000007131d28313b454f59636d75818e91857d736c655d555764707d8a97a3b0bdcad5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbfb4aaa39f9ea1a9aaa29f9a9792908f8f9092989ea1a8b0b8c2ccd6d6cabeb3aa9f9285796d6053473a2d2014070000000000000000000000000006121f2c3844505c667784909daab7c3d1d6cabeb3a9988b7e7265564c41362a1d120700000000000000000000000000060b0f12131615130f0a04000000000000000000000000000d1925303a45515d676f7d87929fa4aebabfc6beb6afa69f9c96918e8d8c8d8f92989da0a8afb7c1c3bbb2a9a0958d81746b6054473d321f160c010000000000000d1925303a45515c676f7c87929fa4adbabec5cbc2bcb4aeacaaa29f9e9d9d9e9fa4ababb0b9bec5c9c0b9b1a7a0958e81756c62564c4132281e0c020000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b7884919eabb4b9bbc0c4c5c9cbc7c5c4c1c0bfbebebebfc1c4c5c7c6c3bdb8b3ada69f9792867d706a60554c4135292015090000000000000000000000000000000007121d2a36414c56626e7b87939facb9c2cdcbbfb4aa9e9185796d6053463d32271b0f03000000000000000000000000000000000000000000000713202d3a4653606d798697a2adbac6d3c8bcafa295897c6f6256493c2f231c1c232834404b5564717e8b97a4b1becad4c7bbafa399877a6e6154473b2e211408000000000000000000000000000000000000000008111b242d34393d3e3c3b38322b2319140b06000a141d2a36414c5664717e8a97aab3becad1c5b8aca096877a6e6154473b2e21140800000000010d18242f3a434d57616b727f8c939792877f776d675f5763707d8a96a3b0bdc9d5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2c7baaea398929297a1a9aeaca9a29e9d9c9c9d9fa3aaadb2bac2cad4d5cac2baaea2988d8073675c5145382c1f13060000000000000000000000000003101c28343f4a546774808d9aabb5c0cbd7d0c2b5a99c8f8276685e5246392f24180d0300000000000000000001070c11171b1f2023221f1b160f0700000000000000000000000008131e2935404b55606b727f8b929da4aeb4bcc2c0bbb0aba9a19e9b9a999a9c9fa2aaacb2bac1c0bbb1a9a1979183796d60594f44352b210d040000000000000008131e2934404b55606a717e8b929ca3adb3bcc1c7c6bfbab8b4aeacaba9aaabacafb5b7bbc2c9c4bdb9afa79f959083796d605a50433a2f20160c000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b7884919eabb7c4c7cbc7c5c2c0bbb9b7b5b3b2b1b1b2b2b4b7b9bdc4c6c8c4beb9b0a9a29892867c6f675d51453c31261a0f01000000000000000000000000000000010d1925303a47535f6975828f9ba6b0bcc7d1c6b9ada1978b7e7164594f44382c1f1409000000000000000000000000000000000000000000000714212d3a4754606d7a8793a9b3becad6c7baaea194877b6e6154483b2e21151118232e3d495663707c8996a3afbcc9d2c5b9ac9f9286796d6053463a2d20130700000000000000000000000000000000000000060f1a232d363e45494b4948443d352a251e17110a040b1925303a4754616d7a8798a2aebac6d3c8bdb2a8978a7d7064574a3d3124170a0000000004111d2935404b555f69707d87939fa299938c81796e696063707c8996a3afbcc9d5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2c5b9ac9f9286859297a1abb5b3adabaaa9a8aaacaeb4b9bdc4ccd4cfc9c1b8afa59f92857a6d61554b4034291c100400000000000000000000000000000c17232e3d4a5763707d8a99a3afbbc7d3d2c5b9ac9f92867a6d61554b4035291f150c04000000000002050a0f12181b22272b2d302f2c27211910070000000000000000000000020c18242f39434f59626d74808d929fa3aab1b8bdc2bbb7b2adaba8a7a6a7a8abaeb4b8bdc0bbb5afa7a09691857b6e675d51473d3223190f0000000000000000020c18232f39434e58626c73808c919fa2a9b0b7bbc2c5c7c5bfbab8b7b6b7b8b9bbc0c7c7c4bdb9b2ada59d9590837b6e675d51483e31281e0e05000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b7884919eabb7c4c5c0bbb9b6b5afacaaa8a6a5a5a4a5a6a8aaacb2b6bac1cbc9c2bbb3aaa29891847a6d60584e43372b1d13070000000000000000000000000000000008131e2b37424d57626f7c89949fabb7c3cec9beb3a99d9083776b6054483b31251a0e010000000000000000000000000000000000000000000714212e3a4754616d7a8794a0adbad0dbc6baada093877a6d6054473a2d2114071724303d4a5763707d8a96a3b0bdc9d1c4b7ab9e918478665c5144382c1f1206000000000000000000000000000000000000050e18212b353e4850565856544f473f363027221b14100c13202d3946525e687885929fabb8c5d2cebfb2a5998c7f7266594c3f3326190c000000000613202c3945515d676e7b859299a4aba49f938e837b706b636f7c8996a2afbcc9d5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d1c4b7aa9e91847a859299a3acb4b9b8b7b5b5b6b9babfc6c9cfcec8c4bdb9afa69e938b7e71685e5243392f23180c0000000000000000000000000000000614212d3a4754606d7a86929facb9c5d0d3c7bbaea3998c7f72675d51453c31271e160d0a090909090e12151b1d24292d3337393c3b38322b22190f06000000000000000000000007121d27313d47515b646e74808b92989fa7acb2b8babfbdb9b8b5b3b3b4b5b8babebdb9b6afaba39f9590847c6f695e554b40352b21110700000000000000000007121d27313d46505a636e737f8a92979ea6abb0b7b9bdc0c2c4c5c4c3c3c4c4c3c1bfbab8b2ada8a19e938e837a6e695e554b40362d1f160c00000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b7884919eabb7bbb9b5afaca9aba39f9d9b9a98989898999b9ea0a8aaafbabfc6cdc5bcb4aaa1968e81746a5f53473a2f24180d01000000000000000000000000000000020e1a26313c4854606a7683909ca8b2bdc8cfc4b8aba095897c6f63574d42362a1d13070000000000000000000000000000000000000000000714212d3a4754606d7a8793aab4bfcad6c7baada094877a6d6154473a2e21140b1825313e4b5864717e8b97a4b1becacfc2b6a99c8f837669544a4034281c10040000000000000000000000000000000000030c16202a333d47505a62646360595146413b332d261f1c18161d2a36414c566a7784919daab7c4d0cdc1b4a79a8e8174675b4e4134281b0e0100000915222e3a46515b606d79839097a2abb5afa59e9590857d716c6f7c8895a2afbbc8d5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2c5b8ab9f9285787d87929aa2aab0b7bbc1c2c3c5c7c7c5c4c3c1bcb8b2ada59e948e81756d62564c4131271d12070000000000000000000000000000000613202c3945515d677683909ca9b3becad6cbbfb5ab9e9185796d60574d433930281f1b17161516171a1e21262b2f35383f44464948433d342b21180e0300000000000000000000010b151f2b353f49525c646e737e8690959ea0a8acaeb4b5b6b8b9babbb9b8b7b6b4b2adaca49f99928d837b6f6a5f574d43392f23190f00000000000000000000010b151f2b343f48525c636d727e858f949c9fa6abadb2b4b5b7b8b9bbbab8b8b7b5b4aeaca8a19e96918981796d685e574d43392f241b0d0400000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000040607131f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b7884919eabb5aeacaba39f9c999992918e8d8c8b8b8b8c8e91969b9ea5aeb4bcc6cec6bcb2a89f92877b6e62554b4035291d11040000000000000000000000000000000009151f2c38434e5864707d8a96a0acb8c4cfc8bcb1a79b8f8275695e53463a2f24180d0000000000000000000000000000000000000000000713202d3a4653606d798698a2aebac7d3c7bbaea194887b6e6155483b2e2215101c2834404a5466737f8c99a6b2bfcccdc1b4a79a8e8174675b4e412e23180c0000000000000000000000000000000000000b151e28323c464f59626c716f6b625b524c443f382f2c282323222935414c566a7783909daab6c3d0cec1b5a89b8e8275685b4f4235281c0f0200000b1824313d4a56626d75818e95a0a9b3bdbbafa7a09792877e726e7b8895a1aebbc8d4c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2c6baaea2988679717e8892989fa6abb0b4b6b8b9bbbbb9b8b6b4b1aca8a19e938e82796d605a50443a301f150b0100000000000000000000000000000004111d2935414b5565717e8b97a2adbac7d2d1c6b9ada1978c7f72695f554b423a312c272323222324262a2d323739404549505356544f473d332a2015090000000000000000000000030d19232d37404a525c646c717c838b91969b9fa2aaa8aaabacaeafacacaba9a7a8a19e9a938f8780796e695f584e453b31281d11070000000000000000000000030d19222d364049525b636c707b828990949a9ea1a8a7a9aaabacafaeacabaaa8aaa29f9b96918b847d746d675d564d453b31271d12090000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000070c101313141f2c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b7884919eababa39f9c99928f8c89868482807f7e7e7f7f8184888e939fa3aab4bfcbcec4bbafa3998e8174675d5145392c20130600000000000000000000000000000000030f1b27323d4653606c7884919da9b3bec9cdc3b9ac9f92877b6e61554b4035291b1106000000000000000000000000000000000000000006131f2c3845515c677985929facb8c5d2c8bcafa295897c6f6256493c2e231817212c3844515c6675828f9ca8b5c2cfc9beb3a9988b7e7265584b3f32251807000000000000000000000000000000000007121d27303a444e58606b717e7c726d615e565049413d38342e302f303945525d687884919eabb7c4d1cfc2b5a89c8f8275695c4f4236291c0f0300000c1825323f4b5865727e8b939fa4acb3bcc1b9b1a9a29992887f727b8894a1aebbc7d4c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cabeb3aa94877a6e717e868f949c9fa6a7a9abacafafacaba9a7a7a09d96918a81786d675c51483f32281e0d0300000000000000000000000000000000010d18242f3a4753606d7985929fabb5c0ccd5c9beb3a99f92867b6e675d544b433d3832302f2f303031363a3c43474b51535b606360594f463c31261a0f00000000000000000000000007111b252f38404a525a626a6f787e848a8e9298999b9d9e9fa3a49f9f9e9c9a9896918d87827c746d675e574e463c33291f160c0000000000000000000000000007101b242e374049515a61696e757d83888d9196989a9c9e9f9fa3a29f9e9d9b9998928f8a847f79706b605d554c443b33291f150b000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000030b12181c1f2020202c3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b7884919ea09d99928f8a86837f7c79777573727271727375777c818a9298a3aebac3cecbc0b5ab9f92857a6d6053473a2d20140700000000000000000000000000000000000a161f2b3744505b65717e8b97a1adb9c5d0c7bbafa3998d8073675d5145382d22170b000000000000000000000000000000000000000004101c2834404b556b7784919eaab7c4d1cbbeb1a5988b7e7265554b403428202029333b4653606d7985929fabb8c5d2c6b9ada197887b6e6255483b2f22150800000000000000000000000000000000081218232e39424c565f6a707d87877f756e68605b534f4645403d3c3c3d414953606d7a86929facb9c5d2cec1b5a89b8e8275685b4f4235281c0f0200000714212d3a4754606d7a828c939aa2aab1bac1bbb3aba39a938b7f7a8794a1adbac7d4c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2d0bbaea195887b6e6c717c828a8f94989b9d9e9fa3a39f9e9d9b9895908b847e746d665c554b40362d20160c00000000000000000000000000000000000007131f2c3945515d6774808d99a4afbbc5d0cfc4baaea2989083796d665d554e48433f3d3c3c3c3d3f4246484e54555d60656c6f6b60584e43372b1d120700000000000000000000000009131d262f38404850585f666c71787d8285898c8e909292999a939291908e8b8884807b756f6a605c554d453c342a21170d04000000000000000000000000000009121c252e373f4850575f616b70767c8084888b8d8f91929299989291908e8c8a86827e79726d676059514b433a322920170d03000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000030c151d23282c2d2d2d2d3946525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b7884919b95908b86827e7a76726f6d6768676565656566686a6f757e86929fa8b2bdc8d1c7baaea2988a7d7064574a3d3124170a0000000000000000000000000000000000030f1b27333f4953606d7985919eaab4bfcacbc0b5ab9f92857a6d6053493f33271b0f0300000000000000000000000000000000000000000c18232e434f5c6976828f9ca9b5c2d1cdc1b4a79a8e8174675c51453a302c2d323b45505a64717e8a97a2adbac6d1c5b8ab9e9285786a5f53473a2e21140800000000000000000000000000000007101a242834404b545e686e7c8592928b827a716c65605953514b4a4949494c525b65717d8a99a3afbbc7d4cdc1b4a79a8e8174675b4e4134281b0e0100000613202c3945525d686d7780889298a0a8afbbc0bdb5aca49f918c808d9aa6b3c0cdd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2c8bcafa295897c6f626a6e767d82878b8e90929299999291908e8b88837e79716c605c544b43392f241b0e0500000000000000000000000000000000000004101d2935404b55626e7b87939faab4becad6cabfb4aaa0958f81786d676058544f4c4a4948494a4c4d5355585f62676d72787c6f6a5f5347392e23180c000000000000000000000000010b141d262e363f464e545b60666c70757a7c7f82838586868686858483817e7c78746e6a625f58514b433b332a22180f05000000000000000000000000000000000a131c252e363e454d535961636a6f74787b7e81828485868686858584827f7d7a75716d66605d554f454039312820170e0500000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000b151e272e34383a3a3a3a3a46525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b7884918e88837f7a75716d686663605c555a5958585859585f626c727e8b96a0acb8c5d2cabfb4aa9a8d8074675a4d4134271a060000000000000000000000000000000000000b17222d3845515c67727f8c98a2aebac7d1c7baada2978b7f72655b5044372b1f150a0000000000000000000000000000000000000000071a2734404d5a6773808d9aabb5c0cbd1c5b8ab9e9285796d60564c433b39393d444d57616c7683909ca9b3becac9beb3a99b8e827568584e43372b1f12060000000000000000000000000000040f19222c363e45515c666d7a8491979f948f857e786f6b64605c5457565556565e616c7883909dabb5c0cbd7ccc0b5ab998c7f7366594c403326190d00000004111d2935414c565d656c737e8691959ea5afb5bdbeb6afa39c928d929da8b5c1ced5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2c9bcafa396897c70635f626c70767b7e818385868686868583817e7b77726d67615a514b423931271d120900000000000000000000000000000000000000000c18242f3947535f6a74818e98a2aebac2cdd0c6bcb1a79e938f81796f6a63605958565655565758575f61656a6f74797e84887c6e62554b4034281c1004000000000000000000000000020b141c242d343c424a50545b6064676d707375777879797a7979787674726f6a67625f57534e4540393029211810060000000000000000000000000000000000010a131c242c333b42464f55586062676a6f71747677787979797978777573706d6764605c54514b433d352f271f160e050000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000007121d2730394045464747474747525f6c7985929facb8c5bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b788486817c77726d6864605d565653514b4d4c4b4b4c4c4e535a606c7884919eaab7c4d1d0c2b5a99c8f8276695c4f432d22170b00000000000000000000000000000000000006111b2834404b55606d7a85929fabb5c0cbcabeb3a99e9184786c6053463c31261b0f02000000000000000000000000000000000000000b1724313e4a5764717d8a99a3afbbc7d2c6b9ada2978a7e71685d554d474546474f565e69717e8b949fabbbc5cfc6b9ada1978a7d7064574a3d31261a0f0200000000000000000000000000000a15202b343e48515b606d78829096a0a69e97928b837c76706d66666363626365686d75808d959fabbdc7d1d4c7bbafa4998a7d7063574a3d3024170a000000010d19242f3a434c535b606c707b838f939fa4abb3bbc0bbada49d9a9da4aeb9c5d1d5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2c9bdb0a3968a7d7063575a6164696e7174767879797979787674726e6965605d555045403930271f150b00000000000000000000000000000000000000000007121d2b37424e57616e7a85929fa7b1bbc5d0cec3b9afa59e938f847c756f6b676563626263636568696e72777c80858b918d8074675c5145382c1f150900000000000000000000000000020a121b222a2f383f444a5053555d606366686a6b666d6d6c656b696765625f5855534e47433c342e271e170f0600000000000000000000000000000000000000010a111a212931363d44484e5455585f626567696b6c666d6d666b6a686663605d5553514a4540393129241d150d04000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000c18232e39424b51535353535353535f6c7985929facb8c5bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e7a746f6a65615d5654524c49474540403f3f3e3f404347505b6573808d9aa6b3c0cdd1c4b7ab9e9184786b5e493f33271b0f030000000000000000000000000000000000000c18232e3945525d6874808d99a3afbbc7d0c5b8aca0968a7d7063584e43372b1e1308000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5cfcabeb3a99e91847a6d675e57535152545960686e7b85929ea6b0bccdcbbfb4ab9e9285796d6053463a2d2013090000000000000000000000000000030f1b27323d46505a636d74818e949fa8b0a9a19e959089827d797572706f6f7071757a818d929ca7b1bccfd9d2c6b9ac9f93867a6d6154473a2e2114070000000008131e28313a4149505a61696e79818c9399a2a9b1b9bfb6aea8a6a8aeb6c0cad6d5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cabdb1a4978a7e7164575055575e6165686a6b676d6d666b6a6865615f5753514b433e342e271e150d03000000000000000000000000000000000000000000010e1a26313c46525e68727f8c959fa9b3bdc7d0cbc1b7afa69e969187817c787472706f6f6f707274777b7f83888d92979d9285796d6053463c31261a0e0000000000000000000000000000000910181d262d33383f44464b515356595b5d5f5c6060605b5e5d5b5855534e4847423c373128231d150c0500000000000000000000000000000000000000000000080f171f262a33383c4347494e5355585a5c5e5f5c60605c545d5b595753514b46444039352f271f18120b0300000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000004101c2834404b545c60606060606060606c7985929facb8c5bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313d4a56626c716d6862605854524c4745413c3a38342f3232323232373f495365727e8b98a5b1becbd2c5b8ac9f928579655b5044372b1f120500000000000000000000000000000000000007121d2935414c56616e7b86929facb9c2ccc8bdb2a89c8f82766a5f53473a3025190d000000000000000000000000000000000000000713202d3946525e687683909ca9b3becacfc5b9ada1978f82796e6963605d5e61636b6f7a849197a1adb8c2cdc7baaea3998d8074665c5144382c1f1206000000000000000000000000000006131f2b37434e58616c737f8c939ea6b0bab3ada79f9d948f8a85827f7d7c7c7c7e81868e939ca4aeb9c3cdd4c8bdb2a89c8f8276685e5246392d20130700000000010c161f282f383f4450575f676d777f879297a0a7afbbc0b9b5b3b5b9c0c8d2dcd5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb1a4988b7e7165584b494d5354585b5d555c60605c545d5b5855534d474540393128231d150c0300000000000000000000000000000000000000000000000915202a36414c56606d79839097a1abb5bec7cfc9c1b8b0a8a09a938e8984817f7d7c7b7c7d7f8184888c90959a9fa2a2978a7e7164574d42372b1d1207000000000000000000000000000000060b141c22282d333839404547494c4f504a505353535049504e4b4847433c3a37312b262018120b03000000000000000000000000000000000000000000000000060d141a21272c32373b3c4347484b4e4f514b515353504a514f4c4a4745403a38342e29241d150d07010000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000006131f2c3845515c666d6d6d6d6d6d6d6d6d7985929facb8c5bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212e3a45505a6265615e56544e4746413a39352f2d2c2923262525252a333f495364717e8b97a4b1becad2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000d1924303a46535e6975818e9ba6b0bbc7cec3b7ab9f94887c6f62564c41362a1c120700000000000000000000000000000000000005111d2935414c5665717e8b97a2adbac4d0c9beb2a99e948f827b74706d67686d70757d849196a0a9b3becbcabfb4aa9f92867b6e61544a4034281c100400000000000000000000000000000815222e3b4754606a717e88939fa5afb8c2beb9b1aba69f9c98928e8c8a8988898b8e92989ea5aeb6c0cbd4cbc3b8aca0968b7e7164564c41362a1e11050000000000040d161d262d333e454d555d656c737d8590959ea5afb5bdc5c0c1c5cad2dae4d5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb1a5988b7e7265584b3f4246484b4e504b515353504a504e4b4846423c38352f271f18120b03000000000000000000000000000000000000000000000000030d1925303b45515c666e7b859299a4acb5bdc6cfcac1bab2aca49f9b96918e8b898988898a8b8e9196989da0a7abada99c8f8376695f5347392e23180c00000000000000000000000000000000020a11171c22282b2f35393a3d4042443f44464746443f43413f3c3b37322e2b26201b150c0700000000000000000000000000000000000000000000000000000003090e161c20272b2e31373a3c3e41434440454646443f4442403d3a39352f2c28231c18120b0300000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000713202d3a4653606d797a7a7a7a7a7a7a7a7986929facb8c5bfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d29343f4850565854524c47433c3935302c2924201f1c181d232830363f44505b6573808c99a6b3bfccd2c5b9ac9f928679655b5044372b1f12050000000000000000000000000000000000000008131e2a36424d57626f7c88949fabb7c3cdc7bbb0a69a8e8174685e5246392e23180c000000000000000000000000000000000000010d1925303a4753606d7985929fa8b2bec7cfc4bbb0a69e948f86807c7a79797a7d82879196a0a8b2bbc5ccc4baaea2988d8074695e5342392e23180c0000000000000000000000000000000916232f3c4956626f7c86929aa4afb5bdc4cac2bcb7b0abaaa29f9b9996969596989b9fa3aaafb7c0c8d7ccc3b9afa59e9184786d6053463a3025190d01000000000000040b141b2227333c434b535b606b707b838e939fa4abb3bbc3cbd1d6dce4e1d5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f363a3b3e414340454646443f43413f3b3a37312c29241d150d0700000000000000000000000000000000000000000000000000000008141e2834404b545e69707d87939aa3abb4bcc3ccccc3beb6afaca8a19e9a989695959696989b9da0a8aaacb1b8b7ab9f94887b6e62544b4034281c10040000000000000000000000000000000000060b11171c1f24292c2d3033352e34383a3a3937332d34322f2e2b26211e1a150f0a03000000000000000000000000000000000000000000000000000000000000050b10151b1f22262b2e2f3234362e34383a3a38342e3533302d2c29241f1c18120c07010000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000101d2a3643505d6976838686868686868686869298a2aebac6bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c18222d363f454a4b4746413a37322d2924201d1914181c23282e343a41465059606c7883909daab7c3d0d1c4b8ab9e9185786b5e493f33271b0f0300000000000000000000000000000000000000020e1a25313b47535f6a76828f9ca7b1bcc8ccc2b8ac9f92867a6d61544a4034281c100400000000000000000000000000000000000008131f2c3845515d67727f8c96a1acb6c0cccdc1b8b0a69f98928d89868585878a8e9399a0a8b2bac3ccc4baafa59f92867a6e61574d4230271c12070000000000000000000000000000000815222e3b4855616e7b838f939fa3abb2bac0c8c7c2bbb7b4aeaba8a5a3a2a2a3a4a8acaeb4bcc1c9d1cbc2b9b1a79e938a7d70665c504438291e13080000000000000000020a1117212a313a4149505961696e79818c9399a2a9b1b9c1cbd1d9e1e9d5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f322d2e32352e34383a3a38342e35322e2d2b261f1d18120b0300000000000000000000000000000000000000000000000000000000020c18232e39424d57606b727f889299a3aab1bbc0c7d0c7c0bbb9b2acaba7a5a3a2a2a2a3a5a7aaacb2b7b8bcc3bbb0a69a8d8073665c5145382c1f130700000000000000000000000000000000000000060b0f12181d1f2023262823282b2d2d2d2b2722282522211f1b15120e090300000000000000000000000000000000000000000000000000000000000000000000040a0f13151b1f212225272923282c2d2d2c2823282624201f1d1812100c070000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000101d2a3643505d6976839093939393939393939fa2aab4bfcabfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b242d343a3d3e3a3936302b27201d191312181d23282e343940454c525a626b727f8b95a0acb8c5d1d0c3b7aa9d9084776a5d51442d22170b00000000000000000000000000000000000000000009141f2b37434e5863707d8995a0acb8c4cec7baaea3988c7f72665c5144382c1f160a00000000000000000000000000000000000004101d2935404b55606d7984919aa4afbbc1cccac1b8b0aaa29f9a9698929298969b9fa4abb2bac3ccc4bab2a89e938b7e72685e52453b311e150b000000000000000000000000000000000714212d3a46535f696e79818c9299a1a8afb8bcc2c8c7c5bebab8b5b2b0afafafb1b4b8babfc6cecfc7c0bbb0a7a0958e81756c61544a3f3428170d0200000000000000000000060f181f282f383f444f575f676d757f879297a0a7afbbc0c7cfd7d6d5c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f322521252823282c2d2d2c2823282522211e1a14100c070100000000000000000000000000000000000000000000000000000000000007121d27303b454f59626d727e879298a0a7afb5bdc1c7ccc8c4bdb9b7b4b2b0afaeafb0b2b4b7b8bdc3c5c8cac2b8ab9e9285796d6053463a2f24180d01000000000000000000000000000000000000000003070c10131416191c171c1f2020201f1b171b181515120f0a0602000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f121515181b1c181c1f20201f1c171c19171413100c070400000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000101d2a3643505d697683909ca0a0a0a0a0a0a0acaeb4bcc6d0bfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b22292e31322e2d2a251e1b151112181d23292e343940444b51565e616d717d87929fa7b1bcc8d4cec1b5a89b8e8175685b4f4235281c06000000000000000000000000000000000000000000030f1b26323c4854606b7783909da8b2bdc9cbbfb4aa9e9184796d6053463d32271b0f030000000000000000000000000000000000000c18242f3945515d67707d88939fa5afbbc0c7cac2bcb4aeaca7aaa29f9fa2aaa8acafb5bdc4cac1bab2a8a0968f81756d62564c4133291f0c030000000000000000000000000000000005121e2a36424d575f676d777f8791969da5abb1b9bbc0c6c7c6c5c1bfbdbcbbbcbec1c5c7cbcac6c1bdb5afa69f959083796d605a5042382e231705000000000000000000000000060d161d262d333e454d555d606d727d8590959ea5afb5bdc5cdc9c9c8bbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f322519181b181c1f20201f1c171b181514120e0904000000000000000000000000000000000000000000000000000000000000000000000b151e29333d47515b626c717e8690959fa4abb0b9bbc0c5c7c9c5c4c1bebcbcbbbcbdbec1c4c5c8c8c5c4beb9b8ada1978a7e7164554b4135291d110400000000000000000000000000000000000000000000000406070a0d060b1012131413120f0b060c090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090b0e070c1013131312100c060d0a07060400000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000101d2a3643505d697683909ca9adadadadadadb8babfc6cec9bfb3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000911181d21242521201d19130f11171d24292f343940454a51555c60686d757e869299a3afb9c3ced4c8bcb1a7988b7f7265584c3f3225190c000000000000000000000000000000000000000000000a15202c38444f5964717e8a96a1acb9c5d0c6b9ada1968a7e7164594f43382c1f140900000000000000000000000000000000000007121d2935404b55606b73808d939ea5afb6bec4cac6bfbab8b3b4aeacacaeb4b5b9bbc0c7c5bebaafa8a19691847a6d615b51443b3021170d0000000000000000000000000000000000020e1a26313b454d555d656c727d848e939d9fa7acafb6b9bbc0c2c4c5c7cbd1d1cbc7c5c4c2bebab8afaba39f9490837a6e675d51483e30261c110600000000000000000000000000040b141b2227333c434b515b636b707b838e939fa3abb3bbbcbcbcbcbbaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c070c1013131312100c060c08070502000000000000000000000000000000000000000000000000000000000000000000000000030c17212b353f48515a616c707c838d93999ea6acafb5b9bbc0c1c4c5c6c8ccd2d0cac6c5c3c1bfbcb8b7b3adaba7a09c8f8276675d5145392c2013060000000000000000000000000000000000000000000000000000000000000306070706050300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000406070706030000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000101d2a3643505d697683909ca9b6b9b9b9b9b9bcbcbcbcbcbcbcb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c111517181413110d0b141c22282f353940454b51545c60676d727a818b9298a3abb5c0cbd5d1c5b8aca095887c6f6255493c2f2216090000000000000000000000000000000000000000000004101c27333d4653606d7984919ea9b3becac9bdb2a99d9083766b6054483b30251a0e010000000000000000000000000000000000010c18242f39434f59606c77818e939fa4acb2babec5c7c6c5c0bfbab8b8babfc1c6c7c6bfbab4aea59e9691847b6e685d52493f32291e0f0500000000000000000000000000000000000009141f29333b434b535b606b707a818990959c9fa4acacafb5b5b7b9babfbabbc0bbb9b7b5b3adaba59e99928c827a6e685e554b40362c1e150a000000000000000000000000000000020a1117212a313a4045515960696e79818c9299a1a9b1afafafafafaea295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000406070706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19232d363f48505a616a6f7980878f949b9fa4abacafb5b5b7b8b9bbc0bbbbbebab8b7b5b3b1acaaa9a19e9a95908b857a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000101d2a3643505d697683909ca9afafafafafafafafafafafafafafa6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105090b0b07070b12181d262d333940454b51545c60666d71797f858e939fa3aab4bdc7d1d5c9bdb2a89d9083776a5f54473b2e22150800000000000000000000000000000000000000000000000b161f2c3844505c66727f8c97a2adbac6cfc4b8ab9f95897c6f63574d42362a1d120700000000000000000000000000000000000007121d27313d44505b656d78818d939aa1a8adb3b9bbc0c2c3c5c5c5c5c4c3c2c0bcb8b4aeaaa29f938f847b6e695e564c41372d20170d00000000000000000000000000000000000000030d172129313a4149505960686d747c83898f939a9c9fa4aba8aaacaeb4aeaeb5afacaaa8a9a29f9a938f8780786e685e564c43392f241a0c030000000000000000000000000000000000060f181f282f353f474f575f676d757f879297a0a7a3a3a3a3a3a3a295887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111b242d363e4850585f676d737c82888f93999c9fa3aba8aaacacafb6aeaeb3adabaaa8a6a7a09d9a97928e89837e796d675d5145392c2013060000000000000000000000000000000000000000000000000000000000010406070a0c0d0f10101111111110100e0d0b09070603000000000000000000000000000000000000000000000000000000000000000000000003090d1012131313131313131313131313130c0b090601000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5cacabeb2a5988b7f7265584c3f3225190c0000000000000000101d2a3643505d697683909ca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d151d24292f383f444b51555c60666d71797e848c92979ea5aeb4bcc6cfd3cac2b9aca1968b7e7265584e43372b1f1306000000000000000000000000000000000000000000000003101c28343f4a54606d7a85929faab4bfcbc8bcb1a79b8e8175695e5246392f24180c000000000000000000000000000000000000010b151f27333f49535c666d78808891969fa2a9acafb5b5b6b8b8b9b8b8b7b5b3b1abaaa39f98928b827a6e695e574d443a30241b0e050000000000000000000000000000000000000000060f171f282f383f444f565d606b6f767c82878c909399999b9e9fa3aaa1a1aba39f9d9c9997928d88827b736d665e564c443b31281d120800000000000000000000000000000000000000060d161d2429353d454d555d606d727d859095969696969696969695887b6f6255483c2f2215090013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242d363e464e555c606a6f757c82878b8f9299999b9d9f9fa4a1a1a1a9a29f9d9b999695918d8985817c77716d675d554b4135291d110400000000000000000000000000000000000000000000000000000406080d11131416181a1c1d1d1e1e1e1e1d1c1b1918161312100b060603000000000000000000000000000000000000000000000000000000000000070e14191d1f20202020202020202020202020191816120d070000000000000000000000000000000000000000000013202c3946535f6c7986929facb9bebebebeb2a5988b7f7265584c3f3225190c0000000000000000101d2a3643505d697683909696969696969696969696969696969696968c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f181f272f353d424a50555d60676d72797e848b91969fa2a9afbabfc6cfd6cac1b8afa59e9184796d6053473c32261b0f030000000000000000000000000000000000000000000000000c17232e3845515d6773808d98a3aebac7cdc2b9ac9f92867b6e61554b4035291b1106000000000000000000000000000000000000030d17222d38414b545c666c737d848c92979c9fa4aba8aaabacacacabaaa9a6a79f9d98928d857f756d685e574d453b32281e120900000000000000000000000000000000000000000000060d161d262d333d434c525960636b70757b7f83868a8c8f919298949495949992918f8c8985807c756e69605c544c443b32291f160c000000000000000000000000000000000000000000040c1318232b333b434b515b626b707b8389898989898989898989887c6f6255483c2f2215090013202c3946535f6c7986929facb9c5cacabeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242c343c434b515860626a6f757b7f83868a8c8e9192939a949594949792908e8c8a8784807d79746f6a65605c554b433a2f24180d01000000000000000000000000000000000000000000000000070c101313191d202123252728292a2a2b2b2a2a2928262522201f1c1715120f0a040100000000000000000000000000000000000000000000000000000811191f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2525221e18110901000000000000000000000000000000000000000013202c3946535f6c7986929facb1b1b1b1b1b1a5988b7f7265584c3f3225190c0000000000000000101d2a3643505d6976828989898989898989898989898989898989898989807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071019212a313940454f545b60676d72797f848b91969ea1a8adb3bbc1cbd1d0cac0b8b0a69d93897d70675d5145392a20150a0000000000000000000000000000000000000000000000000006111c2935404b55616e7a86929facb6c0ccc7bbafa3998d8073675d5145382d22170b0000000000000000000000000000000000000006111b262f39424b545b606b707980858b909399999b9d9e9f9f9f9e9d9c999795908b86807a726d615d564d453b332920160c000000000000000000000000000000000000000000000000040b141b2227313a41454f54596063696e72767a7d808284868687878887878684827f7c79746f6a625f57504a423b322920170d04000000000000000000000000000000000000000000000107111a212931394045515960696e797c7c7c7c7c7c7c7c7c7c7d796d6053473a2d2014070013202c3946535f6c7986929facb9bebebebeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009111a222a303940454e54586062686e72767a7d7f82848586878788888786858482807d7a7774706d6662605853514b433a31281d130700000000000000000000000000000000000000000000040a0f12181c1f2024292c2d3032333536373738383737363433312f2d2b2823211f1b15110d0801000000000000000000000000000000000000000000000007111a232a3135383939393939393939393939393932312e29231b1309000000000000000000000000000000000000000013202c3946535f6c7986929fa4a4a4a4a4a4a4a4988b7f7265584c3f3225190c00000000000000000916222f3c4955626f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071019222b333c434b515960666c71797f848b91969ea1a8adb2babec5cdd5cec5bebaaea69e948e81746b60554b403529190e0400000000000000000000000000000000000000000000000000000d18242f3a46525e6874818e9aa4afbbc8cbc0b5ab9f9285796d6053493f33271b0f03000000000000000000000000000000000000000a141d273039424a505961676d73797e83868a8d8f909292929291908f8d8a87837f7a736d68625b524c443b332921170e0400000000000000000000000000000000000000000000000000020a11171f282f353d43484f54575f6166686d7173757779797a7b7b7b7a797775736f6d66625f58534d443f38302920170e0500000000000000000000000000000000000000000000000000080f171f272f353f474f575e676d70707070707070707070706d675d5145392c2013060013202c3946535f6c7986929facb1b1b1b1b1b1a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810181e272e343c43474e54565e6165686d7072757779797a7b7b7b7a7978777573706e686763605c54544e4745403931281f160c010000000000000000000000000000000000000000040a0f151b1d23282c2d2f35393a3d3f4042434344444444434341403e3c3a38342e2e2b26201d19130d08020000000000000000000000000000000000000000030e19232c353c4145464646464646464646464646463f3e3a342d251b11070000000000000000000000000000000000000013202c3946535f6c798692979797979797979797978b7f7265584c3f3225190c00000000000000000815212e3b47535f6a6f70707070707070707070707070707070707070706e695f53463a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f19222b343d454d555d606b6f787e848b91979ea1a8acb2b9bdc4cad0cec9c1bcb3ada49d948f82786d60594f43392f24180700000000000000000000000000000000000000000000000000000007131d2a36414c56626e7b87939facb9c2cdc7baada2978b7e72655b5044372b1f150900000000000000000000000000000000000000020b151e272f383f444f555d60676d72767a7d80828385858685858482807e7b76726e68615e565146413a322921170f0500000000000000000000000000000000000000000000000000000000060d161e242932383d44484d5355565e616466686b666d6d6e6e6e6d6d66696662605c54534e47423c342e261e170e05000000000000000000000000000000000000000000000000000000060d151d2429353d454d555d606363636363636363636363605d554b4035291d10040013202c3946535f6c7986929fa4a4a4a4a4a4a4a4988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151d232832373c43474d5254565e616366686a666c6d6e6e6e6e6d676a686663615e565653504a47433d38342f271f160d040000000000000000000000000000000000000002080e161b20262b2e34383a3d414547494b4d4f505051515151504f4e4c4b4946443f3c3a37312c29241e19130b060000000000000000000000000000000000000009141f2a353e474d51535353535353535353535353534c4a463f372d23180d0100000000000000000000000000000000000013202c3946535f6c79868b8b8b8b8b8b8b8b8b8b8b8b7f7265584c3f3225190c000000000000000006131f2b37434e585f626363636363636363636363636363636363636363615f574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18212b343d464e575f676d747c838b91979ea1a9adb2b9bdc4c9cfd0cac4bdb9b0a9a29f928d82796d665c51473d31271d1207000000000000000000000000000000000000000000000000000000010e1925303b47535f6a75828f9ca7b1bcc8cabeb3a99d9184786c6053463c31261a0f0200000000000000000000000000000000000000030c151d262d333e434b51555d6065686d707375777879797978777673716e6965615e56524c443f35302820170f05000000000000000000000000000000000000000000000000000000000000040c131921272c32383c4246484c525457595c545c606161626160605c54595653504a47433c373128231c140c050000000000000000000000000000000000000000000000000000000000030b1218232b333b434b5153565656565656565656565653514b43392f24180d010013202c3946535f6c798692979797979797979797978b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820272b32373b4146474c525457595b545b606061626161605c555b595754524c4a46443f3837322c29231d150d0400000000000000000000000000000000000000050d141921272c3137394045464a4c525456585a5b5c5d5d5e5e5d5d5c5b59585553504a4847433c39352f29241e17110a0200000000000000000000000000000000010d1925313c4750585e5f606060606060606060606060585651493f34291e12060000000000000000000000000000000000000b1825313e4b5864717e7e7e7e7e7e7e7e7e7e7e7e7e7c6e6255483b2f2215080000000000000000030f1b26323c464e5355565656565656565656565656565656565656565655534d453b31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e29333d464e5860696e79808790959ea1a9adb2b9bdc4c9ced0cac5bebab2aca69e97928a80786d675c544a40352c1f150b010000000000000000000000000000000000000000000000000000000008141e2b37424e57636f7c89959fabb8c3cec5b8aca095897d7063584e43372b1e13080000000000000000000000000000000000000000030b141c2228313940454b5153565e616466686a6b6c6c6c6b6a696664615e5754524c46413a3229241e160e05000000000000000000000000000000000000000000000000000000000000000001080d161b21272c31373a3b4146474a4d4f4a5153545455545453504a4c4946443f3837312b262017110a0200000000000000000000000000000000000000000000000000000000000000010711192129313940454749494949494949494949494745403931281d1207000013202c3946535f6c79868b8b8b8b8b8b8b8b8b8b8b8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c151b20272b3036393b4146474a4c4f4a5053545455555453514b4f4d4a4746413d3a38342e2b271f1c18120b0300000000000000000000000000000000000000060e171f252a32383c43474b515357565d6063656668696a6a6b6b6a6a6967666462605c5455534e4745413a353028221c140b0500000000000000000000000000000004101d2935414d58626a6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e2216090000000000000000000000000000000000000a1724303d4956616c717171717171717171717171716e6a5f53473a2e2114080000000000000000000a15202a343c43474949494949494949494949494949494949494949494846423b33291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303b454e58606a6f7b838d9399a0a7adb2b9bec4c9cfcfcac5bebab3ada8a19e948f857e746d665c554b42392e231a0d030000000000000000000000000000000000000000000000000000000000020e1a26313c4854606b7683909da8b2bdc8c8bdb1a89c8f82766a5f53473a3024190d000000000000000000000000000000000000000000020a11171f272f35394045474c5254575a5c5d5f5f5f5f5e5d5c5a5754534d4746413b3530282019130c040000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1f262b2d3036393a3e4042404446474848484746443f403c3a38342e2b26201a150b060000000000000000000000000000000000000000000000000000000000000000000000070f171f272f35383a3d3d3d3d3d3d3d3d3d3d3d3a39352f281f160c0100000b1825313e4b5864717e7e7e7e7e7e7e7e7e7e7e7e7e7c6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f151b1f252a2d3036393a3d3f423f4446474848484746454042403d3b3936302d2c28231c1b16100c0701000000000000000000000000000000000000020a1117202930363d43484e53545c606367686d7072737576767777777776767473716f6d6666625f5854524c46413a332d261d170e07000000000000000000000000000005121f2b3845515e6a7479797979797979797979797979726d62564a3e3125180b0000000000000000000000000000000000000815212d3945505a6164646464646464646464646464625f584e43372b1f1206000000000000000000040e18222a32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312921170d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424d57606a6f7c8590959fa4abb1b9bec4c9cfcfc9c5beb9b3ada9a29f96918a827b716c605c544b433930271c1108000000000000000000000000000000000000000000000000000000000000000915202c38444f5964717d8a96a0acb8c5cec3b9ac9f93877b6e62564c4135291c110600000000000000000000000000000000000000000000060d151d24292f35393a4146474a4d4f505252535252514f4d4a4846423b39363029251e160e08020000000000000000000000000000000000000000000000000000000000000000000000000000040b10141a1e21252a2d2e31332e34383a3a3b3b3b3a3a38342e2f2d2b28231c1a150e090300000000000000000000000000000000000000000000000000000000000000000000000000050d151d24292c2d30303030303030303030302d2c29241d160d040000000a1724303d4956616c717171717171717171717171716e6a5f53473a2e21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f14191e20252a2d2e30332d3338393a3b3b3b3b3a38342e33302e2d2a25201f1c17110f0a040000000000000000000000000000000000000000020b141b2227323b41464e54585f62666d7074777a7d7e80828383848484848382817f7e7c7976736f6a65605d56524c443f382f2920191108000000000000000000000000000613202c3946535f6c79868686868686868686868686867f7265584c3f3225190c00000000000000000000000000000000000005111d28343e4850565858585858585858585858585855534e463c31261a0f020000000000000000000007101820262b2e2f30303030303030303030303030303030303030302e2d2a261f170f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a545f696f7c869297a0a7afb5bdc3c9cfcfcac5beb9b3ada9a29f97928c847d756e69615a504a423931271e150b0000000000000000000000000000000000000000000000000000000000000000030f1b27323d4653606c7884919ea9b3bec9c8bbafa49a8d8174685d5246382e23170c0000000000000000000000000000000000000000000000030b12181d24292c3036393a3d40424445464646454443403e3b3a36312d2a251e19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214191e2021242623282c2d2e2e2f2e2d2d2b282323201f1c17110f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181d1f20232323232323232323232320201d18120c04000000000815212d3945505a6164646464646464646464646464625f584e43372b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e1114191d2021242622282b2d2d2e2f2e2e2d2c2823262421201e191312100c0600000000000000000000000000000000000000000000020b141d262d333e444d525860626a6f74797d818486898b8d8e8f9090919190908f8e8c8b8885837f7b77726d68615d56504a423b322b231a11080000000000000000000000000613202c3946535f6c798692939393939393939393938b7f7265584c3f3225190c000000000000000000000000000000000000000c17222d363e45494b4b4b4b4b4b4b4b4b4b4b4b4b4847433c342a20150a000000000000000000000000070e151b1f2122232323232323232323232323232323232323232322211e1a140d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202c3844515c666e7b859298a2a9b1bbc0c7d0d0cac5beb9b3ada9a19e97928c857f79706c615e5750443f3830271f150c030000000000000000000000000000000000000000000000000000000000000000000a161f2b3844505b66727e8b97a1adb9c6ccc0b6ac9f92867a6d61544a3f34281c1003000000000000000000000000000000000000000000000001070c12181d20252a2d2e313335373839393938373633312e2d2a25201e19140d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205080d111314171a181c1f202121222121201f1c17161312100b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131416161616161616161616161413100d0701000000000005111d28343e4850565858585858585858585858585855534e463c31261a0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205080d1113141719171c1f202121222221201f1c181a171414110d0806030000000000000000000000000000000000000000000000020b141d262f383f444f565e616a6f767c81858a8e91939a98999b9c9d9d9e9e9d9d9c9a99979892908c88847f7a746d68605b544c443d352c231a110800000000000000000000000613202c3946535f6c7986929f9f9f9f9f9f9f9f9f988b7f7265584c3f3225190c0000000000000000000000000000000000000006101b242d34393d3e3e3e3e3e3e3e3e3e3e3e3e3e3b3a37312a22180e0300000000000000000000000000040a0f13151616161616161616161616161616161616161616161514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2a36424d57606d78839097a1aab3bbc3ccd2cec6bfbab3ada9a19e97928c85807a726d67615a524d453e342e261e150d0300000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54606d7985929eaab4bfcac7baaea2988c7f72665c5044382c1f150a0000000000000000000000000000000000000000000000000001070d1013191d20212427292a2c2c2c2c2b2a29272421211e1a14110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070b070c10121314151515141312100b06070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0a0a0a0a0a0a0a0a0a0a0706040100000000000000000c17222d363e45494b4b4b4b4b4b4b4b4b4b4b4b4b4847433c342a20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a060b0f121314151515141313100c070a0807050100000000000000000000000000000000000000000000000000000a141d262f384149505961686e757c82888e92989a9d9fa4aca6a8a9a9aaaaaaaaa9a9a7a6aaa29f9c9996918c85807a726c665e564f473e352c231a1007000000000000000000000613202c3946535f6c7986929facacacacacacaca5988b7f7265584c3f3225190c000000000000000000000000000000000000000009121b22282d30313131313131313131313131312f2e2b2620180f0600000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a46535f6973808c959fa9b3bcc5cdd7cac2bcb4aea9a19e97928c857f7a736d68605c555046423b3328231c140c030000000000000000000000000000000000000000000000000000000000000000000000000b17222d3845515c67737f8c98a2aebac7cabfb4aa9e9184796d6053463d32271b0f0200000000000000000000000000000000000000000000000000000104080d111314171a1c1d1f1f201f1f1e1c1a171514120e09050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070708080807070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101b242d34393d3e3e3e3e3e3e3e3e3e3e3e3e3e3b3a37312a22180e03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060708080808070604000000000000000000000000000000000000000000000000000000000000000006111c262f38424a535b606b707b81878f949b9fa2aaaaacafb6b3b5b6b6b7b7b7b7b6b5b4b2b4aeaca9a8a09d98928d857f786e6860594f473e352c22180e050000000000000000000613202c3946535f6c7986929facb9b9b9b9b9b2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000910171d21242525252525252525252525252522211f1a150e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56616e7b86929fa7b1bbc5ced2c8c0b8b0aaa29f97928c857f79736d68605d56514b433e3630292017110a020000000000000000000000000000000000000000000000000000000000000000000000000006111c2934404b55616d7a86929fabb5c0cbc6b9ada1968a7e7164584e43372b1f14090000000000000000000000000000000000000000000000000000000000010507070a0d0f11121313131211100d0b08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090d1012131313131313131313131313130c0b09060100000000000000000000000000000000000000000000000000000009121b22282d30313131313131313131313131312f2e2b2620180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f17222d38424a545b656c737d858e939a9fa6abaeb3b7b9bbc0c0c1c2c3c3c4c4c3c3c2c1bfbfbab8b6b2acaaa29f97928b827a6f6b61594f473e342a20170d0200000000000000000613202c3946535f6c7986929facb9c5c6c6beb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000060c111517181818181818181818181818181514120f0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6874818e98a3aeb9c3cdd2c8c0b6aea69f98928c857f79726d67605d56524c454039312a251f170e06000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3946525e6874808d99a3afbbc7c9bdb2a89d9083766a6054473b30251a0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070b0e0f10111111100f0d0b080605030000000000000000000506060606060606060101000000000000000000000000000000000000000000000000070e14191d1f20202020202020202020202020191816120d070000000000000000000000000000000000000000000000000000000910171d21242525252525252525252525252522211f1a150e06000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e0e0e0e0e0e0e0e0e0e0e0e0e0a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d172128333f4a545b666c77808892979fa4acb0b8babec4c6c8cbc7c5c3c2c1c0c0c1c2c4c5c9cac6c5c3bdb8b4aea9a19e948f857d706b61594f463c32291e140800000000000000000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000005080a0b0b0b0b0b0b0b0b0b0b0b0b0b080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929faab4bfcbd4ccc0b6aea49d948f86807a726d67605d55524c45413a342f271f1a140d05000000000000000000000000000000000000000000020608080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a07121d2935414c56616e7b87929facb9c2cdc4b7ab9f95897c6f62574d42362a1d120700000000000000000003090d1012131313131313131313131313130c0b0906010000000000000000000000030613131313131313131313131313130b0b090501000000000000000000000000000000000000000000000003080d111314171b1c1d1e1e1e1d1c1a181513120f0b06000000000406071213131313131313130e0d0b080300000000000000000000000000000000000000000811191f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2525221e181109010000000000000000000000000000000000000000000000000000060c111517181818181818181818181818181514120f0a030000000000000000000000000000000000000000000000000000000000000000000000000000000001080f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b44505b666c78818d939aa2a9afb6bec2c6cacac6c5bfbab9b7b5b4b3b3b4b5b7b9bdc2c6c8ccc8c5bfbab3ada69f9791867d706b61584e443b3025190d04000000000000000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a98a2aebcc6d1cec4baaea49d928d827b736d67605d55514b45413a352f29231d150d090c0a0602000000000000000000000000000000000003090e1214151717171717171717171717171717171717171925303a46535f6975818e9ba6b0bbc7c7bcb1a79b8e8175695e5246392f24180c0000000000000000070e14191d1f20202020202020202020202020191816120d070000000000000000060c10122020202020202020202020202020181715110c060000000000000000000000000000000000000000060b0f13191e20212427292a2b2b2a2a29272522201f1b17110e09070c1013131f20202020202020201b1a18140f0801000000000000000000000000000000000007111a232a3135383939393939393939393939393932312e29231b13090000000000000000000000000000000000000000000000000000000005080a0b0b0b0b0b0b0b0b0b0b0b0b0b080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a202427282828282828282828282828282322201c160f080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b1a25313b45505a606c78818e939fa4acb3bbc0c7d0cbc5bebab8b4aeacaaa8a7a7a7a7a9aaacb2b5b9bbc0c7d0cac5beb9b0a9a19892877d706a5f564c41362a1f160c010000000000000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a546875818e9baab4bfcfd5c9bdb2a89d928d80786e69605d55514b45403a352f29241e1815161b191816120d07000000000000000000000000000000060e151a1e212223232323232323232323232323232323232323232a36424d57626f7c88949fabb7c3cdc2b9ac9f92867b6e61554b4035291d10040000000000000811191f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2525221e1811090100000000030a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524211d1811090000000000000000000000000000000000020a11171b1f252a2d2e31343536373837373534322f2d2b27221b1a1412181c1f202c2d2d2d2d2d2d2d2d272724201a130b02000000000000000000000000000000030e19232c353c4145464646464646464646464646463f3e3a342d251b1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d252b303334353535353535353535353535302f2c27211a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a36424d57616c73808d939da5afb6bec5cccfc7c0bbb4aeababa39f9d9b9a9a9a9b9c9ea0a8a9acafb6bec2cbcfcac2bbb3aaa39992867c6f685e52463e31281d13070000000000000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b667784909daab7c3d0d2c5b9aca0968d80746d665e57514c454039352f29241e191b1f2223282625221e18110a01000000000000000000000000060f1820262b2e2f303030303030303030303030303030303030303030313b4754606a76828f9ca7b1bcc8c7bbaea3998d8073675d5145382c1f160b000000000007111a232a3135383939393939393939393939393932312e29231b1309000000030c151c23282c393939393939393939393939393932312e29221b1209000000000000000000000000000000070b141b22272b3036393a3e4142434444444342403e3b3937332d2b261f1d23282c2d3839393939393939393433302b251d140b01000000000000000000000000000009141f2a353e474d51535353535353535353535353534c4a463f372d23180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c40414141414141414141414141413d3c38332b231a0f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3846535e69717e8a929ca5afbbc0c7d0ccc4bdb5afaaa29f9a9992908f8e8d8d8e8f9196979c9fa4acb0bbc0c7cfcdc4bcb4aba29891847a6e615a50433a2f24180d0100000000000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9c5d2d1c4b7aa9e9184786d605c544d45413a352f29241d1a1e21272c2f303533322e2a231c130a0000000000000000000000030e18212a31373a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d434e5863707d8a95a0acb8c4cbbfb5ab9e9285796d6053473d33271c1003000000030e19232c353c4145464646464646464646464646463f3e3a342d251b110700000a151e262e343846464646464646464646464646463e3d3a342d241b1106000000000000000000000000000910191d262d33373a4146474a4e4f50515151504f4d4b4846443f38373129272e34383a45464646464646464641403c362f261d130800000000000000000000000000000d1925313c4750585e5f606060606060606060606060585651493f34291e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e4e4e4e4e4e4e4e4e4e4e4e4e4a48443d352b21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3842505a616e7b86929fa4aeb7c0ccd2cbc3bab2aba39f98928e89868482818080818284878b8f939a9fa6afb5bdc6cfcec6bdb4aaa1968f82756c61554b4135291d130700000000000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8798a3aebac7d3ccbfb2a5998c7f72665c504a423b352f29241d1f20262a2d32383b3c413f3e3a352e251c0c03000000000000000000000915202a333c4247484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a55616b7783909da8b2bdc9c6b9ada1978b7e7165594f44382c1f150900000009141f2a353e474d51535353535353535353535353534c4a463f372d23180d0106111c2630383f4453535353535353535353535353534b4a453f362d22180c0100000000000000000000010a121b222a2f383f44464c5254575a5c5d5e5e5d5d5c5a585553504946423c3530394045465253535353535353534e4c4841382f251a0f0300000000000000000000000000101d2935414d58626a6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202b36414a53585b5b5b5b5b5b5b5b5b5b5b5b5b56544f473d33271c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616c76828f98a2aeb6c0c9d8cdc3b9b1a8a199928d85817d7a77757474747476777a7e82878f949fa3abb4bcc6d1cfc6bcb2a89e948a7e71675d51453a2f24180d01000000000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794aab4bfcbd7c9bdb0a3968a7d7063544a3f383029242422282b2d31363a3d4448494e4c4b463f372e1e150a000000000000000000020e1a26313c454d535556565656565656565656565656565656565656565656565656565964717e8b96a1adb9c7cabeb3a99d9083776b6054483c31261a0e0100000d1925313c4750585e5f606060606060606060606060585651493f34291e12060c17232e38424a505f60606060606060606060606060585650483f34291d1105000000000000000000000a131c242d343c41495053565e61646768696a6b6a6a68676562605b53534d45413a434b51535f60606060606060605a58534a41362b20140800000000000000000000000000121f2b3845515e6a7479797979797979797979797979726d62564a3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824303c48535c64676868686868686868686868686360594f44382c20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b66717e8a949eaab4bfc8d1cfc4bbb1a7a0969187807a74706d67686767676869686e71767c828b9299a3aab4bfcbd7cec4bab0a69e92857a6d60554b4135291d1104000000000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794aab4bfcad6c8bcafa295897c6f6256493c302f2f30312d3338393c4246484f54565b595751493f30261c1106000000000000000006121e2b37424d575f62636363636363636363636363636363636363636363636363636363636d7984919eabb5c0cbc5b8aca095897d7063574d42372b1e13080000101d2935414d58626a6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e221609101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625a50453a2e21150900000000000000000008111c252d363e464e535b6064686d71747576777777767573716e6c65615f57524c444b555c606b6c6c6c6c6c6c6c6c67645c53483c3024180b0000000000000000000000000013202c3946535f6c79868686868686868686868686867f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404c58646f74747474747474747474747474706b6054483c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919da6b0bcc5d0d5c9beb2a9a09590847c736d6863605d555b5a5a5b565e61646a6f767f879298a3aebac0cdd6ccc1b9ada1978c7f72675d5145392c20150a000000000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8798a2aebac6d3cabdb0a3978a7d7064564c423d3c3c3d3d3f3f4446494d53555960636866635b5142382e23170c00000000000000000814212e3a47535f696e7070707070707070707070707070707070707070707070707070707070727f8c99a3afbbc7c8bcb1a79c8f8275695f53473a2f24190d0100121f2b3845515e6a7479797979797979797979797979726d62564a3e3125180b121f2c3844505c667679797979797979797979797979716c62564a3d3124170b0000000000000000040d1a232d373f4850585f656c70767a7d8182838484848382807e7b78736e69605d564e515c676d787979797979797979746e64584c4033271a0d0000000000000000000000000013202c3946535f6c798692939393939393939393938b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2834414e5b6774818181818181818181818181817d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5864717e8a95a0acb8c2ced7cfc6b9ada19790837a6f6a615d5653514b4e4d4d4e4d5254585f626d727d86929fa5afbbc4cfd5c9beb3a99e92857a6d6054473c32261b0f030000000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677985929facb8c5d2cdc0b3a79a8d8074685e544e4a4949494a4b4a505356575f61666b6f74726d63544a3f34281c1003000000000000000815222f3b4855626e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e87929facb9c5cec3b9ac9f93877b6e62564c4135291d11040013202c3946535f6c79868686868686868686868686867f7265584c3f3225190c13202d3a4653606d78868686868686868686868686867e7165584b3e3225180b00000000000000010c16202c353f49515a616a6f787d83878a8d8f90919190908f8d8b8884807b746d68605853606d798586868686868686868074675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c79868e8e8e8e8e8e8e8e8e8e8e8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a7783909da8b1bdcad3d1c6bdafa59e91857b6e686058524c474540414141414146474e535b626b717e8a939da9b3bec9d5cfc5b9ada2978b7f7265584e43372b1f13060000000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c556a7784909daab7c3d1d2c5b8ab9f92857a6d665f58575655565758545b606266696e73777c817f72665c5044382c1f1509000000000000000e1b2734414e5a6774808989898989898989898989898989898989898989898989898989898989898a9299a3afbbc7d4c8bbafa49a8d8074685d5245392c2013070013202c3946535f6c798692939393939393939393938b7f7265584c3f3225190c13202d3a4653606d798693939393939393939393938b7e7165584b3e3225180b0000000000000008131e28323e47515b636c717c838a9095979a9b9c9d9e9d9d9b9a9896918d87807a6f6a615a64717e8a979393939393938d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facacacacacacaca5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929b9b9b9b9b9b9b9b9b988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c8895a0abbac3ced7cbbfb4ab9d93897d70695e564e46413a38352f34343036393c43475159616c74818e97a1adb9c5d0d6cabeb3a99d9083776a5f53473b2e2115080000000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f414e5b6874818e9babb4bfcbd3c6baada2978f82786f6a6663626263646567666c6f73777b7f84898e84796d6053463c31261a0f010000000000000e1b2734414e5a6774818d9696969696969696969696969696969696969696969696969696969696979fa3abb5c0cbd7ccc0b6ac9f92867a6d6054473a2d2114070013202c3946535f6c7986929f9f9f9f9f9f9f9f9f988b7f7265584c3f3225190c13202d3a4653606d7986939f9f9f9f9f9f9f9f9f988b7e7165584b3e3225180b000000000000010d19242f3a444f59636d727e8690959d9fa7a7a8a9aaaaaaa9a8a6a9a19e99928d847c706c616976828f9ca99f9f9f9f9a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9b9b9b9b9b2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929fa7a7a7a7a7a7a7a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e586773808d9aa7b1bcccd5d3c7baaea3998e81746b60574d443c35302c29242727252a2d32373f47505a606d7a85919ea9b3becad6cfc5b8aca095887c6f6255493c3025190d0100000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081825313e4b5864717e8b99a3aebac7d2cabeb3a99f948f837c7672706f6f7070727476797c7f83888c9196968a7d7164584e43372b1d12070000000000000e1b2734414e5a6774818d9aa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3acafb5bdc7d1dcd2c7baaea2988b7f7265584c3f3225190c0013202c3946535f6c7986929facacacacacacaca5988b7f7265584c3f3225190c13202d3a4653606d798693a0acacacacacacaca4988b7e7165584b3e3225180b00000000000004111d2935414c56616c727f8b9298a0a7abb1b4b5b6b7b7b7b6b5b3b2adaba39f9691877e716c6e7b87939facacacaca79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5c6c6beb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb4b4b4b4b4b2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7884919eabb7c3cdded2c5b9ac9f92867b6e61594f453b3229241f1d181a1a191e20262b353e45515d67727f8b97a2adbac6d3d4c8bcb1a7998d807366564c41362a1d110500000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb6c0ccd0c5bbb0a69f959087827f7d7c7c7c7d7e818385898c9095999da09c8f82766a5f5347392f24180d0100000000000e1b2734414e5a6774818d9aa7b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b9bbc0c7cfd9e3d6cabfb4aa998c807366594d4033261a0d0013202c3946535f6c7986929facb9b9b9b9b9b2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9b9b9b9b9b1a4988b7e7165584b3e3225180b0000000000000713202c3945525d68707d88939fa3aab1b8bcc0c2c3c4c4c0bbb9b8b8b9b5afa8a19992877e7173808c9aa4afbbb9b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c1c1c1beb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8896a1adb9c5d2d5c9beb3a99b8e8174695e53473d3329201913100c07080e11151b232935414b55606d7985929fabb8c5d0d9cdc3b6aa9d908377685e5246392d20130700000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6875828e9aa4afbbc4cecdc2b8b0a79f9a938f8c8a8988898a8b8d909298999da0a7aaab9f94887b6e62554b4035291d100400000000000e1b2734414e5a6774818d9aa7b4bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbdc5c7cbd1d9d4d4dbd0bfb3a6998c807366594d4033261a0d0013202c3946535f6c7986929facb9c5c6c6beb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6c6c6beb1a4988b7e7165584b3e3225180b000000000004101d2935404b55606d7a85929aa4aeb4bcc3c7cec6bfbab8b6afacacacaeb4b1b2aba39992877d7884919eacb6c0c0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5cecbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a8b2bdc9d5d2c6b9ada197897c6f63574d42352b21170e080400000002050a1118242f3a45515d6774818d9aaab4becad6d2c6b9ac9f93877a6d6154473a2e21140700000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626f7c87939fa8b2bcc5cecac2b9b1aca49f9c999695959697989a9c9fa2aaaaacb1b7b0a69a8d8074675d5145392c20160a00000000000e1b2734414e5a6774818d9aa7b4c0c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8bfb3a6998c807366594d4033261a0d0013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d2cbbeb1a4988b7e7165584b3e3225180b000000000006131f2c3945515d6773808d97a1acb6bfc6ceccc4bcb4aeacaca49f9f9fa2aaa5a9ababa3999286808c96a1adbec7c0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b556875828f9ba8b5c2cfdad1c4b8ab9e9185786c6053463b3120190f05000000000000000007131d2935404b5563707d8998a2aebac6d3d4c8bbafa49a8a7d7064574a3d3124170600000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a47535f6a74818e96a1aab3bcc4cccbc2beb6afaca9a5a3a2a2a3a3a5a7a9acaeb4b6b8bcc2b8ab9f9285796d6053473d32271b0f03000000000e1b2734414e5a6774818d9aa7b4bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb3a6998c807366594d4033261a0d0013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b00000000000714202d3a4753606d7985929fa9b3bec7d0cfc4bab2aaa29f9a9a9392929895989c9fa6aba298928c929ca8b2bdd0c0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677884919eabb7c4d1dacec1b4a79b8e8174655b5044372b1f1207000000000000000000010c18242f3a4653606d7985929fabb8c5d2d8ccc0b6ac998c807366594d402d22170b00000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2b37434e58606d7a849198a2aab2bac1c7d0c7c0bbb9b6b2b0afafafb0b1b4b6b8babfc3c4c8c6baada2978b7e7165594f43382c1f1307000000000e1b2734414e5a6774818d9aa7aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea6998c807366594d4033261a0d0013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b00000000000b1724313e4a5764717d8a97a2adbbc5d0d5c9bdb2a8a198928d8986858586888b8f949d9fa7a29f999ca4aebac4cfc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facb9c6d2d7cbc0b5ab978b7e716453493f33271b0f030000000000000000000007121f2c3844515c6676828f9ca9b6c2cfddd2c2b5a89b8f827568544a3f33281c0f03000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b26323c45525d686f7c869298a0a8afb7bbc2c6c9c8c6c2bfbdbcbbbcbdbec0c3c5c6c9c5c4bebab8b2a99d9083776b6054483b2f221509000000000e1b2734414e5a6774818d9aa1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1998c807366594d4033261a0d0013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b0000000003101c28343f4a546874818e9ba9b3becdd6d2c5b9ada1969186807c797979797b7e828890959ea5aba6a8aeb6bfcccdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c899aa4afbbc8d4d3c7bbafa399887b6f6255483c2d22170b000000000000000000000004101c2834404a546673808d99a6b3c0ccd9d1c4b7aa9e918477665b5044382b1f1206000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202935414c565f6a6f7d8691969ea5abb0b8b9bec1c3c5c6cacfc8d0cbc7c5c4c2c0bdb9b7b3aeaba8a19e95897c6f6356493c30231609000000000e1b2734414e5a6774818d959595959595959595959595959595959595959595959595959595959595959595959595959595959595958c807366594d4033261a0d0013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b0000000006121f2c3844505c667784919daab7c4d0d4c8bcb1a79e91847b736f6d67676d6e72767c838e939ea6b0b4b9bfc8d1cdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0103040504040300000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97acb6c0ccd8d2c5b9ac9f9286796d6053463a2d2013060000000000000000000000000c18232e3e4b5764717e8a97a4b1bdcad7d2c5b9ac9f9286796c605346392d201306000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d19242f3a444e58606b6f7c848e939c9fa6abadb3b4b6b8babebbbbbbbfbab8b7b5b3b2adabaaa29f9b96918c877f7266594c3f3326190c000000000e1b2734414e5a677480888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888807366594d4033261a0d0013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b000000000713202d3a4653606d7986929facb9c5d2d1c5b8aca095897d706962605c5c6062656a6f79818e949faab4bfcad6dacdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0e10111111100f0d0a0707050100000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfd2ddd1c4b7aa9e918477665c5044382c1f12060000000000000000000000000716232f3c4956626f7c8995a2afbcd0dbd3c7bbafa399877a6e6154473b2e211408000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323c464f59606a6f7a81898f949a9ea1a9a8aaabadb3aeaeaeb4aeacaaa9a7a8a19e9a98928e8a84807b726d63574a3e3125180c000000000814212e3b4754616e7a7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6d6154473a2e2114070013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b000000000815212e3b4854616e7b8799a3afbbc7d4d0c4b7aa9d9184776b60575351515355585f676d78828f98a2aebac6d3dacdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f322519181a1c1d1e1e1d1c1a171413110d08020000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd9cfc2b6a99c8f837669544a3f34281c10030000000000000000000000000814212e3b4754616e7a8794aab4bfcad6d7cbc0b5ab95887c6f6255493c2f221609000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c16202a343d474f585f686d747c82888d9297989b9d9fa2a9a1a1a1aaa39f9e9c9a9796918d8985817d79736e69635b51463a2e221609000000000714202d3946525e686e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6d685e5246392d2013070013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b000000000915222f3c4855626f7b8895abb5c0cbd7cec1b4a79b8e817468594f46454546484e555c666e7a86929facb8c5cfdbcdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225212527292a2b2b2a29272421201d1913100b05000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbcec1b5a89b8e8275685b4f422e23170c000000000000000000000000000713202d3a4653606d798698a2aebac6d3dcd1bcb0a396897d7063564a3d3023170a000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222b353d464e565d606b6f767c8085888c8e90929794949594949892918f8d8b8884807d7975706d66615e5751493f352a1e12060000000005111e2a36414c565e61626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262615e564c41362a1d11050013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b000000000916232f3c4956626f7c8995a2afbcd1dccdc0b3a69a8d8073675a4d4038383a3c434b545e6873808d9aa9b3becad6cdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f322d2e313436373837373633312e2d2a251e1c160f0a0400000000000000000000000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedacdc0b4a79a8d8174675a4e4134271b060000000000000000000000000006131f2c3845515c677985929facb8c5d2d6cabdb0a3978a7d7064574a3d3124170a000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061019232b343c444c525960636a6f74797c7f81838586878888888787858482807e7b7874706d6663605c54534d453f372d23180d0100000000010d1925303b444c525455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555554524c443a3025190d010013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b000000000915222f3c4855626f7b8895abb5c0cbd7cdc1b4a79a8e817467564c41362f2d3039424c56626f7c8897a2adbac6d3cdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f363a3b3e41434444444342403d3a3936302c28211b150e06000000000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8b5c2cfd9cdc0b3a69a8d8073675a4d4034271a0d0100000000000000000000000004101c2834404b556b7885929eabb8c5d1d7cabdb1a4978a7e7164574b3e3124180b000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071119222a323a41454f54586062666c6f727577787a7a7b7b7b7b7a79777674716e696763605c5453504a46423b332d251c110700000000000008141e29323b4146474848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484746413a32281e1308000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b000000000815222e3b4855616e7b8899a3afbbc7d3cfc2b6a99c8f8376685e524640393732303b4653606c7985929fabb8c5d2cdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f4246484b4d4f505151504f4d4a4746413a38332b2620181006000000000000000000000000000000000000000000000000000000101d293643505c6976838f9ca9b6c2cfd9ccc0b3a6998d8073665a4d4033271a0d00000000000000000000000000000c18232e45525e6b7885919eabb8c4d1d7cabeb1a4978b7e7164584b3e3125180b000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101820282f353d44484e54545b606265686a676d6e6e6e6e6e6d686b696764615f575653514a46443f38363129211c130a00000000000000020d1720293036393b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3a3936302820160c02000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b000000000713202d3a4653606d7986929facb9c5d2d2c5b9ac9f92867a6d615a514b474341403f44505b657784909daab7c3d0cdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c464d5254585a5c5d5e5e5d5c5a5754524c48443e37312a2217110a0300000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000000071e2b3845515e6b7884919eabb7c4d1d7cbbeb1a4988b7e7165584b3e3225180b000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d161e242932383c43474a505355595b555c606161626161605d565c5a5855534d4a4644403a38342e2a251f170f0a010000000000000000050e171e252a2d2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2d2a251e160e0500000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b0000000006121f2c3844505c667784909daab7c3cdd3c7bbafa3998d80736c605d55534e4e4d4c4b49536976838f9ca9b6c2cfcdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265585153575e616467696a6b6a6a696664615e56554f47433c3428231c150c03000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfd9cdc0b3a69a8d8073675a4d4034271a0d0100000000000000000000000005121f2c3845525f6b7885929eabb8c5d1d7cabeb1a4978b7e7164584b3e3125180b000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c131921272c3237383f4446494c4e4b5153545555555454524c4f4d4b4846423d3a38342e2b28231c1a140d050000000000000000000000050d14191e202122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222221201d19130c050000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b0000000003101c28343f4a546774808d9aa7b1bcc8d4cbc0b5ab9f93877e736d67625f585b5a5958575c6976828f9ca9b5c2cfcdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265545c6064696e717476777777767573706d68636159534e463f342e261e150a0000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8b5c2cfdacdc0b3a79a8d8074675a4d4134271a0e0100000000000000000000000005121f2b3744505b657885929fabb8c5d2d7cabdb0a4978a7d7164574a3e3124170b000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d161b20272b2d3338393c3f42404547474848484847454143413e3b3a36312d2c28231f1c17110e09030000000000000000000000000002080d1114141515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151413110d0802000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b00000000000c17232e3c4956636f7c8995a0acb8c0cad1c7bbafa49993877f79736f6a696766656564646976828f9ca9b5c2cfcdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cabdb1a4978a7e716461666d71767b7e80828384848382807d7a75706b625f5851443f3830261c110600000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedacec1b4a79b8e8174685b4e4135281b08000000000000000000000000000613202d394653606c7986929facb9c5d2d6c9bdb0a3968a7d7063574a3d3024170a000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f151b1c22282b2d2f322f34383a3b3b3b3b3b3a39352f34312e2d2a26201f1c1812100b0600000000000000000000000000000000000001050708080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808070705010000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b00000000000615222f3b4854606b7783909da4aeb8c1c9ccc0b5aba499938c84807c78767473727171717076828f9ca9b5c2cfcdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2c9bcafa396897c70636c70797e83878b8d8f909191908f8d8a86827d766f6a625b504a42382e23171007000000000000000000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddacfc2b5a89c8f8275695c4f423025190d010000000000000000000000000714212e3a4754616d7a8799a3afbbc7d4d5c9bcafa296897c6f6356493c30231609000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f20222623292c2d2e2e2f2e2e2d2c2924272522211e1a1312100c0703000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b000000000007131f2c38444f5963707d89929da6afb9bec4c7bdb5aba49f97918c88858381807f7e7e7d7d7d83909da9b6c3d0cdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cabeb4aa95887b6e6d747d848b9095979a9c9d9e9d9d9c9999928f8a827c726d605c544a3f342822190c030000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d0c3b6aa9d9083776a564c41362a1e11050000000000000000000000000815222f3b4855626e7b8895abb5c0cbd7d6cabeb3a994887b6e6155483b2e221508000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131619181c1f20212222222121201d191a181514120e090604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbfb2a5988c7f7265594c3f3226190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b0000000000030f1b27323d4854606b74818d949da5adb2b9bdc4bdb5afa9a19e999792908e8d8c8b8a8a8a8990959fabb8c4d1cdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2ccbfb2a5998c7f7266594c3f332619090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2c6baaea298877a6d79818a91969d9fa7a7a9aaaaaaa9a8aba39f9b9490877f746d665c50443f342b1e150a0000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1bed0dbd2c5b8ab9f928578685e5246392d2014070000000000000000000000000a1724303d4a5763707d8a96a3b0bdd1dcd3c6baada29786796d6053473a2d201407000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060609070c10131414151515151413110d080b08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2ccbfb2a5998c7f7266594c3f3326190c13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b0000000000000a16212c38444f59606d79828e939ea1a9adb2b8b9bebbb2adaba9a29f9c9a999898979796969d9fa7b1bcc8d4cdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cdc0b3a69a8d8073675a4d4031251a0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2c5b8ab9f92857879828e939ea0a8abb1b3b5b6b7b7b6b5b5afaca69f99928c81786d605b51463d30261c110600000000000000000000000000000000000000000a1724313d4a5764707d8a97aab4bfcad6d3c6baaea298877a6e6154473b2e2114090000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8d2c5b8ab9f928578675d5145382c1f1306000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080808080807060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2ccbfb2a6998c7f7366594c403326190d13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b00000000000004101c27333d45515c676d79818a91979ea1a9abadb3b4b6b8b8b3adaba9a7a6a5a4a4a4a3a3a9abb1b9c2cdd8cdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2cec1b4a89b8e817568574d42362a1d130904000000010204000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d0c4b7aa9d918479828f949da5acb2b8bcc0c2c3c4c4c3c2c0bbb9b0aba39f938e81746d63584e42382e23170c00000000000000000000000000000000000000000815222f3b4855626e7b8898a2aebac7d3d6cabeb3aa968a7d7063574a3d30251a0e000000000000000000000005121e2a36424d576875818e9ba8b4c1cedbd0c3b6a99d9083766a554b4035291d1004000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cdc0b3a69a8d8073675a4d4034271a0813202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b000000000000000b16212834404b555c676d747e848c91969b9ea1a9a7a9abacafb5afb0b1b1b1b1b1b0b0afb6b8bcc2cbd4dacdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2d0c4b7aa9d918477695e53463a2f241a14100c070d0d0f11060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d1c4b8ab9e9185838f949fa6afb9bdc0bbb9bbc0c1c5c7cbcbc7c2bdb5afa59d938c7f726a60544a3f34281c1106000000000000000000000000000000000000000613202d394653606c7985929facb8c5d2dbd0bfb3a6998c807366574d42362a1c1207000000000000000000000714212d3a46535e697784919daab7c4d0dacdc1b4a79a8e8174675b4e412f24180c00000613202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506080a0b0c0d0e0e0e0e0e0d0d0c0b09080605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cec1b4a79b8e8174685b4e412f24190d13202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b00000000000000050c18232e39434b555c606c71797f848a8e9297989a9c9e9fa4aba3a3a4a4a5a5a5a6a6a7abadb2bac4cfdacdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2d1c5b8aca096877b6e61554b41352a251f1d181a191a1b1e13120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2c6b9ada197918f949fa6b0b8b4b0b5afacafb5b4b8babfc6cecfc7c0bbafa59f93877c6f665c5044382e23170c0000000000000000000000000000000000000006121f2b3844505b667783909daab6c3d1dcd0c3b6aa9d908377695e5246392e23180b020000000000000000040e16212e3b4854616e7b8796a0acb8c5d1d6cabeb3a9988b7e7265584b3f3225180700000613202c3946535f6c7986929facb9c5c7c7beb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000305060b0f1213151718191a1b1b1b1b1b1a191818161413120f0b06070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cfc2b6a99c8f837669564c4135291d1113202d3a4653606d798693a0acb9c6d3cbbeb1a4988b7e7165584b3e3225180b000000000000000007121d273039434b515a61676d72787d8185888b8d8f919399959697979798989999999a9ea1a8b2bdc9d5cdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2d4c8bdb2a8988c7f72675d51453f36302c2924262627282a201f1c17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2c9beb2a9a19e9c9fa6b0adaba7a3aba49fa4aba7acaeb4bcc3ccd1cbc0bbafa4999083786d60544a3f34281c1003000000000000000000000000000000000000030f1c28333f4a546774818d9aabb5c0cbd7d2c6b9ac9f93877b6e61544a4034281d140a02000000000000040d16202b37434e5865727f8b98a8b2bdc8d4d2c6b9ada297887c6f6255493c2f22160900000613202c3946535f6c7986929facb9babababab2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f1213171b1f2022232526272728282827272625242321201f1b171514120e090602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d1c4b7ab9e918478685d5245392c201314212d3a4754606d7a8793a0adbac6d3cbbeb1a4988b7e7165584b3e3225180b0000000000000000000b151e273039404550555d60666d7074787b7e818385868788898a8a8b8b8c8c8c8d8d9196a1adb9c5d2cdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2d9cec3b8ab9e92857a6d605a5146423b38352f33333435372d2b28221c140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cfc4bbb2adaba9abafa9a29f9a9694999399969b9fa3aab1b9c3ccd7ccc0b5aba0958b7f72665c5044382c1f1409000000000000000000000000000000000000000b17222d3d4a5764707d8a99a3afbbc7d4d4c8bbafa49a8c7f73665c51443a2f261c140b0a080808060b0f161f28323a4754606a7683909da9b6c3ced9d1c5b8ab9e9285796c605346392d20130600000613202c3946535f6c7986929facaeaeaeaeaeaea5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11171b1f2022272b2d2e30323334343435343434333231302e2d2b272221201e1a14120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d2c5b9aca196877a6d6054473a2e231714212e3b4754616e7a8794a1adbac7d4cbbeb1a4988b7e7165584b3e3225180b000000000000000000030c151e272e343e434b51545c6063656c6f71747678797b7c7c7d7e7e7e7f7f80808084919eabb7c4d1cdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2dfd2c6b9ada1978d80736c625b524d4745404140404042443938332d261d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d6cdc4beb9b8b6aea59e97928e8a87868687898e9298a0a7b1bac4cfd2c7bdb1a79e9184796d6053463b30251a0e020000000000000000000000000000000000000614212d3a4754606d7a86929facb9c5d0d8ccc0b6ac9e9184796d60564c41382d261d1b1615141415171b1f28313a444f59626f7c88959fabb8c4d1d6cabfb4aa9b8e8275665b5044382b1f120600000613202c3946535f6c7986929fa1a1a1a1a1a1a1a1988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d14191b22272b2d2d3337393b3d3e3f40414141414140403f3e3c3b3937332d2e2d2a25211e1a15100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d5c9bdb2a896897d7063544a3f34281f1b222f3c4955626f7c8895a2afbbc8d5cbbeb1a4988b7e7165584b3e3225180b00000000000000000000030c151d2328313a40454a5053535b6062656769666d6e6f70707171727272737376828f9ca9b5c2cfcdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2dfd5c9beb3a99d928b7e726d615e5753514b4d4d4c4d4e5146443f382f261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dfd6cfc9c2b8aea49d938e85817d7b7a797b7d81869195a0a8b2bdc6d1d0c3b9aca1968b7e7164574d42362a1e11050000000000000000000000000000000000000613202c3945525d687683909caab4bfcad6d2c7b9aca1968b7e72685e53493f382f2b26232221212222272b313a434c56606b75828f9ca7b1bcc8d4d3c6baaea2988b7e7164544a3f33281c0f0300000613202c3946535f6c798692949494949494949494948b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c12181e252a2d3337393c3f4446484a4b4c4d4e4e4e4e4e4d4c4b4b494746443f3e3b3a36302e2b261f1c160f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dacec0b3a69a8d8073665c50443a302b2729303e4b5764717e8a97a4b1bdcad7cabeb1a4978b7e7164584b3e3125180b0000000000000000000000030b12181f282f353b41464749505355585a545c60616263646464656566666976828f9ca9b5c2cfcdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2dfdacfc5bbaea49f92877f756e6963605d555a59595a5b5d53504a42382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dfddd2c7beb0a69d928d817a74706e6d6d6e70747c839196a0abb5bfcbd5c9bdb2a89c908376695e52463a2d20140700000000000000000000000000000000000004111d2935414c5665717e8b98a2aebac7d1d5c9bdb2a89e92857a6d655b504a423c37312f2e2e2e2f2d33373d434c555e68707d89949eaab9c2cdd8d2c5b8ac9f92867a6d6054473a2d22170b0000000613202c3946535f6c79868787878787878787878787877f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d161d24293036383f444649495053555658595a5a5b5b5b5a5a59585756545350494b4846423b3a37312c28211b150c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2ded1c4b7ab9e9184796d60564c423b37333439424f596773808d9aa6b3c0cdd7cabdb0a4978a7e7164574a3e3124170b00000000000000000000000000070d1925303b444c525454524c484b4e4a5053545556575758585959566a7683909da9b6c3d0cdc0b3a79a8d8074675a4d4134271a0e0000000000000000000000000013202c3946535f6c7986929facb9c5d2dfd6cfc9c0bbaea399928b817b75706d676867666667686a605b544a3f33281c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dfd8ccc0b6ac9f948d80756e686361606061636a6f7a849199a3aebbc7d3cec4b9ac9f93877b6e6154473b2e211409000000000000000000000000000000000000010d19242f3a4754606d7a85929fabb5c0cbd7cec4b9ada1978f82776c605b544d47433e3c3b3b3b3b3d3f44464f565d676d7a84919ea6b0bbcbd4d3c7bbb0a69b8e8174675d5145392c1c1106000000000815212e3b4854616e7b7b7b7b7b7b7b7b7b7b7b7b7b7a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810181f282f353b414649505356535b6061636566676767686767676665646361605b535854524d4847423c38332b262017110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dfd2c5b9ada1968a7e71685d544d46443f40454b54606b7784919eaab7c4d1d8ccc0b6ac96897d7063564a3d3023170a0000000000000000000000000005111e2a36414c565e61615e56544f494644464849494a4b4b4b4c525e687784919eaab7c4d1ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000013202c3946535f6c7986929facb9c5d2d6cdc5beb9b8b5aba39f938e87817d7a76757473737375776c665b5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dfd4c8bbafa49a8f82786c615e5654535354585f686f7c87929facb9c3ced4c8bbafa49a8b7f7265584c3f31261a0e020000000000000000000000000000000000000813202c3945515d6774818e99a3afbbc5d0d5c9beb3a99e938d80746c665f57534e4b4948474748494950535960686d79829096a1acb8c1ccd7cdc5b7ab9f94897c6f63554b4135291d0a00000000000714212d3a46535e696e6e6e6e6e6e6e6e6e6e6e6e6e6d675d5145392c20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a222a313940454c52535b606366656c6e707172737474747474737372716f6e6c656764615e5755534d48443e373228231c150c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dfd5c9bdb2a89e91847a6d665e575350494b51545c66707d8996a0acb9c5d2d4c8bbafa49a887c6f6255483c2f221509000000000000000000000000030d17212d3946525e686e6d6863605956535049494745403f44464d56616d7a8796a0acb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000013202c3946535f6c7986929facb9c5d2cfc5bbb3adabadb3aea59e99928e8986838180807f808183786c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dfd2c6b9ac9f93877b6e665b524c484746474e565f6a74818e9ba7b1bcc8d4ccc0b6ac9c8f827569574d42372b1e120600000000000000000000000000000000000004111d2935414b55616e7b87929fa9b3becad6cfc5bbb0a69c928d80786e69625f5858565554545556535b60636b707a828f949fa8b2bdcad3cfc5bbafa59c8f82766b6054433a2f24180d000000000005121e2a36424d575e61616161616161616161616161605d554c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a232b343c434b51565e61656c6f7376797b7d7e7f808181818181807f7e7e7c7a797674716e6966625f57554f47433c342e261e160e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dfdacfc4b9aca0968f82786e6962605b53555c60666d7983909da8b2bdc9d5d2c6b9ac9f93867a6d6053473a2d20140700000000000000000000000009141f2a36424d57616e7a7a75706b6662605b535653514b495053565e68727f8b98a8b2bdc9d5c9bdb2a8968a7d7063574a3d3024170a0000000000000000000000000013202c3946535f6c7986929facb9c5d1c6bdb3a9a19ea1a9b1afaba39f9b9992908e8d8c8c8d8e877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dccfc2b5a99c8f82766a5f544a413b3a3a3c444e58626e7b8895a0acb8c5d1d2c5b8ab9e928578695f53473a2e211408000000000000000000000000000000000000010d18242f3a46535f6974818e97a2adbac2ccd5cdc1b8aea49c928d827b746f6a676462616161626365656c70757d848f949fa6b0bac4ced6cabeb3a99e93897c6f63594f4331281d13070000000000020e1a25313b454d53545454575a5c5c5c5b5854545454514c433a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d19222b353d464e555d60686e73787c80838588898b8c8d8d8e8e8e8d8d8c8b8a89878583817e7b77736e69636159544e443f38302820170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dfd6cec9bdb2a89f948f827b736f6c656969676d7078818e95a0acbac4ced9d1c4b7aa9e918477675d5145392c2013060000000000000000000000020e1a25313a46535f69748186817c77736f6c656563605d55535b6062686e7a84919eabb8c4ced2c5b9ada196877b6e6154483b2e2115080000000000000000000000000013202c3946535f6c7986929facb9c5cbbfb4aba19792979fa7b1b5afacaba39f9d9b9a99999a95887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d6cabeb3a9988b7e7165584e4238302d2d323c47535f697784909daab7c3d0d2c6b9ada297887b6e6255483b2f2215080000000000000000000000000000000000000007131d2a36424d57616e7b85929fa6b0bac3cdd3cac0b6aea49d949087817c7774716f6e6e6e6e707174787c828991969fa6b0b8c2ccd4cac2baada2978e81756b6054463d321f160c010000000000000a141e2b353d474f545c6064676869696865615e57514b423a31281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2b343d474f585f676d737a8084898c9092989698999a9a9a9b9a9a9a999897969892908d8b8784807b76706b625f58504a423a322920170c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d6ccc4bdb9b7b0a69f948f86807c7977767577797d838e939ea7b1bcccd5d6cabeb3aa9b8e817468554b4035291d1104000000000000000000000005121e2a36424d57616e7b87928e8984807c7874726f6d676b6a656c6e737b839096a1adb9c5d6cfc4b7ab9e918478695e52463a2d2014070000000000000000000000000013202c3946535f6c7986929facb9c5c7baaea399928590959fabb5bbb9b5aeaca9a8a7a6a6a296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d2c6b9ada297887b6e6155483c2f2620202b37424d576773808d9aa6b3c0d2d6cabeb3a9978a7e7164574b3e3124180b00000000000000000000000000000000000000010e1a26313b46525e69717e8b949fa8b2bbc5cdd2c8c0b6aea69f99928d8884807e7c7b7a7a7b7c7e8184898f949ea1a8b0b8c2cad7cac2b8aea49f92857a6e61594f44342b210d0400000000000006111c26303d474f5960666d707375767674726e69605c544b40342821170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c464f59606a6f7980868c9196999c9fa2aaa4a5a6a7a7a7a7a7a6a6a5a4aaa29f9d9a9795918c88827d766f6a605c544c443a32291e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2ccc4bab2acabacb0a69f98928d898584828283858a91959ea5afb9c3cddcd3c6baaea2988a7e7164574a3e2f24180d0100000000000000000000000714212d3a46535e6974818e999b96918d8985817f7c7a79787777797b808590959fa9b2bdc9d1c7bdb0a69a8d807467574d42362a1e12050000000000000000000000000013202c3946535f6c7986929facb9c5c5b9ac9f928679839099a3aebbc0bfbbb9b6b4b3b3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d1c5b8ab9e928578695f53463a2a1d141a26313d4a5763707d8a96abb5c0ccd7cfbfb2a5998c7f7266594c3f3326190c000000000000000000000000000000000000000009141f2a36424d57626c76828f96a0a9b3bbc4ccd6c8c0b8b0aba39f9a95908d8b8988878788898b8e91969c9ea6acb2bac2cad1cbc1b8b0a69d928b7e71685e52473d3222190f000000000000000b17232e38424f59606b70797d80828382817f7b746d665c51453e33281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f39434e58606b707c848d92989ea1a8a9abaeb4b1b2b3b4b4b4b4b4b3b2b1b1b4aeaca9a7a7a09d99948f8a837c736d665d564c443a30271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5cfc4bab2a8a19ea1a8b0aaa29f999792908f8f9092989da0a7afb7c1cbd5d6cabfb4aa9f9285796d6053473a2d201407000000000000000000000005121e2a36424d57616e7b86929fa8a09d9997918e8b89868584848485888c92979fa7b1bbc4cfcbc0b5ab9f94897c6f6256493c30251a0e020000000000000000000000000013202c3946535f6c7986929facb9c5c3b6a99c9083767c87929fa4aebabfc6c5c3c1c0beb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cfc3b6a99c90837669574d42362a180b15222f3b4855626e7b8899a4afbbc7d4cdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000000000000000000030e1a25303b45505a606d7a849197a1a9b2bac1cad0cbc2bdb5aeaca7a09d9a97959494949596989b9ea1a8aab0b9bdc4cccfc7c0bbafa69f948d80746c61564c41352b21100700000000000003101c28343f4a54606b707d848a8d8f8f8f8e8b8680786d60594f44392d201408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55606a707d8691969fa3aaadb2b6b8bab9b7b4b1afaeaeaeaeafb0b1b3b4b7b8b6b4b1acaaa69f9c94908780786d685e564c43392e23180c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5c9bdb2a8a19691969ea6b0aeaca9a19e9d9c9c9d9fa2aaacb1b9c1c9d3d5cbc2baaea2988d8074675d5145392c1f130600000000000000000000000714202d3a46525e6974818e99a3aeacaaa9a19e9b989698929190919298999ea1a9b1b9c2cdcac1bbafa3998f82766a6054473b2e1f1409000000000000000000000000000013202c3946535f6c7986929facb9c5c0b5ab998d8073717e8b929ca4aeb4bcc2c8ceccbfb2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cec1b4a89b8e8175685b4e4231261a0f13202d3a4653606d7986939facb9c6d2cfc2b5a99c8f8276695c4f4336291c1000000000000000000000000000000000000000000009141f29333f45525d686e7b859297a1a8b0babec5cccfc6bfbbb9b1acaaa7a4a2a1a1a1a1a3a4a7abacb2b7bbc1c9cecac3bdb5afa59e948f82786d605a50443b3023190f0000000000000006121f2b3844505c66707d8791969a9b9c9c9b99928d81756c6155493c30231607000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d676f7c869298a0a8aeb4b9bdbbb7b2acaaa7a4a3a2a1a1a2a2a3a4a6a8abacb2b6b8b8b7b0aba69f99938d827a6d685e554b40342820160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5c5b9ada19689848f949ea8b2b8b3adabaaa9a8aaacaeb4b8bcc3ccd4cfc9c1b8b0a69f92867a6e61554b4035291d10040000000000000000000005111e2a36414d56616e7b86929fabb5b8b7b2adaba7a5aaa29f9e9d9e9fa2aaabadb3bbc2cbc6bfbaafa59f92877c6f62584e43372b1f0d03000000000000000000000000000013202c3946535f6c7986929facb9babbafa4998a7d706c73808d929fa3aab1b8bcc2c4c0b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cdc0b3a69a8d8073675a4d4034271a09131f2c3845515c667885919eabb8c4d1d0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000020d17202935414c565f696f7c8591969ea6aeb4bbc0c7cacbc7c3bcb8b7b3b1afaeadadaeafb1b4b7b9bdc4c7ccc9c5bebab2aba39f938f82796d665c50483e32291e1107000000000000000713202d3a4653606d78849199a1a8a8a9a9aba39f938a7d7064574a3d2e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606d79849198a2aab2babfbfb8b0aba8a09e9a989695949495959697999b9ea1a8aaabb1b8bbb7b0aba49f9490837a6d675c51453d32271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5c4b7ab9e918478828f96a0a8b0b9b9b8b7b5b5b6b8babfc6c8cecec8c5beb9afa69e948b7f72685e5243392f24180c00000000000000000000000714202d3946525e6874808d99a3aeb9bec3beb9b8b4b2b4aeacabaaaaabaeb3b8b9bec5c7c0bbb4aea59e938c80736a6054463d32271b0f00000000000000000000000000000013202c3946535f6c7986929facaeaeaeac9f93867a6d606e73808b92989fa7acb1b5b8b9b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2ccbfb2a6998c7f7366594c403326190d101c2834404b546a7784919daab7c4d0d0c3b7aa9d9083776a5d5144372a1e1100000000000000000000000000000000000000000000050e1924303a444d575f6a6f7c848f949fa2aaafb6babfc5c6cac8c5c3c0bebcbbbababbbcbec1c4c5c9c9c6c4bdb9b4aea8a099928c81796d675d544a3f362d20170d0000000000000000091623303c4956636f7c8996a0abb2b5b6b5b5afa59c8f827569544a4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66737f8c96a0aab4bcc3bfb5ada69f9c96918d8b898888888889898b8c8e9196989d9fa7abb1b9bdb5afa69f959083796d60584e43372b20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9babfb4ab9a8e81747a8491969fa6adb3b8bcc1c2c3c5c6c7c6c5c3c1bdb9b3ada59e948f82776c60564c4131271d120700000000000000000000000814212e3b4754616e7b86929fa6abadb3b7b9bbc0c1bebfbab8b7b7b7b8babec4c3c1bdb8b5afaaa29f938e81786c60584e43342b20160a00000000000000000000000000000013202c3946535f6c7986929fa1a1a1a1a19d908377685d646e737f8690959da0a7a9abacaea99c8f8276695c4f4336291c100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbfb2a5988c7f7265594c3f3226190c0c18232e44505d6a7783909daab6c3d0d1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000008131e28323c454e585f6a6e7a828c92989fa4acaeb4b8babfc1c3c5c6c9cfc7c7c7d2ccc7c6c4c3c1beb9b8b2adaaa29f9691877f776d675d554b42382e241b0e0500000000000000000c1926323f4c5965727f8c98a8b2bdc2c2c2c0b8ab9e928578665c5144382c1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929ea8b2bcc6c1b7ada39c948f8984817e7c7b7b7b7b7c7d7e808184878b90959d9fa7aeb6c0bbb0a79f958d80746a6054473c31261a0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facaeaeaeaea3998a7d706e7b848f949ea1a9acb1b4b6b8b9bbbbb9b8b6b4b2aca9a19e938e82796d655b50443b301f150b0100000000000000000000000c1926323f4c5965727f898f949a9ea1a9aaacafb6b4b6b8b9babfbabac0bbb9b8b6b4b2acaba39f98928b81786d665b50463c3222190f0400000000000000000000000000000013202c3946535f6c798692949494949494948d807467565c636d727c838a9095999c9e9fa3a39d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbfb2a5988c7f7265594c3f3226190c071d2a3643505d697683909ca9b6c3cfd1c4b8ab9e9184786b5e5245382b1f120000000000000000000000000000000000000000000000020c16202a333c464e575f686d777f858e939a9fa2aaacaeb4b4b6b8b9bebbbcbcbcbbc0bbb9b8b6b4b3adaba8a19e98928c847d736c655c554b433930261c12090000000000000000000d1a2733404d5a6673808d99a6b3c0cfcfd1c6b9ada29786796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707d8997a1adbac4c6baafa59c918c827c777471706f6e6e6f6f70717375787b7e838990959da4aeb7c1b9b1a79f93877c6f62584e43372b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929fa1a1a1a1a19f92867a6d696e7a828b91979da0a7a7a9abacaeafacabaaa8a8a09e97928b81796d675d53493f32291e0d030000000000000000000000000b1825313e4a56626d727d82888d91979a9d9fa4aca7a9abacaeb4aeaeb5afacaba9a7a8a09e99928e867f756d665c544a3f342b2010070000000000000000000000000000000013202c3946535f6c79868787878787878787877e716457525b626a6f787e83888c8f91929998929184786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c101d2a3743505d6a7683909da9b6c3d0d1c4b7ab9e9184786b5e5145382b1e12000000000000000000000000000000000000000000000000040e18212a343c454e565e656c727a81878d92989b9fa2aaa8aaabadb3aeafafafafb5afacaba9a7a9a19e9a96918c857f79706b605b534b433931271e150a000000000000000000000d192633404c5966737f8c99a6b2bfc9cfccc5b9ac9f9286796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a9b3beccc2b6a99d938c7f776f6b676563626161626263646668696e72777c838d929da5afbdc2bbafa4998f82766a5f53473a2e21140600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c798692949494949494948f8276675e686d787e858b9095989b9d9e9fa3a49f9e9d9b9896918c857e756d675d554b41382d20170d000000000000000000000000000916222e3a46515b626b70767b8085898d90939a999b9d9e9fa3aba1a1aba39f9e9c9a9896918c87817b726d605c544a42382d22190f00000000000000000000000000000000000815212e3b4854616e7b7b7b7b7b7b7b7b7b7b786d60534651585f656c71777c80828586868685848275695c4f4236291c0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbfb2a5988c7f7265594c3f3226190c111e2a3744515d6a7784909daab7c3d0d1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000060f18222a333c444c535b60686e747b80858b8f9298989b9d9ea1a9a2a2a3a2a2aba49f9e9c9a9897918e89847f7a726d6660595049413930271f150c03000000000000000000000b1825323e4b5865717e8b98a5afb9bebdc0bbb5ab9e918478655b5044372b1f12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cabeb3a99b8e81746c65605958565555555556565859575e61656a6f78808d939eabb4bfc0b5ab9f94887b6e6255483b2d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c79868787878787878787877f7265565e666c72797f83888b8e90929299999392908e8c88847f7a716c605d554b43392f261b0e050000000000000000000000000006121e29353f4951596063696e73787c808386898c8e9091929994949494999291908e8b8884807b756e69625b504a42382f261c100700000000000000000000000000000000000714212d3a46535e696e6e6e6e6e6e6e6e6e6e6d665c5145464e535b60646a6f737678797a797977756f655a4d4134281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2ccbfb3a6998c807366594d4033261a0d111d2935414c566b7784919eaab7c4d1d0c3b7aa9d9083776a5d5144372a1e110000000000000000000000000000000000000000000000000000061018212a323a414950565e61696e747a7e8285898b8e90929794959596969595999391908e8b8885817d79726d68605c544f443f382f271e150d0300000000000000000000000815222e3b4855616e7b88939ea7adb3b1b6afaba4998e81746853493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8b5c2c6b9ada297887b6e615b534f4b4948484848494a4b4d4d52545860666d75818e99a3aebac7bdb0a6998c7f736653493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b7b7b7b7b7b7b7b7b7b796d6053545b60676d72777b7e818385868686868583817f7b77726d67625a514b433931281d140a0000000000000000000000000000010d18232d373f474f54575f62666c7073777a7d7f81838586878787878787868583817e7b77736e69615e5751443f3830261d140a00000000000000000000000000000000000005121e2a36424d575e61616161616161616161605c544b403c4149505358606266696b676d6c656b69655d54493d3125190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cdc0b3a79a8d8074675a4d4134271a0913202c3945525d687885929fabb8c5d2cfc2b6a99c8f8276695c504336291d10000000000000000000000000000000000000000000000000000000060f1820282f383f444c52575f62686d7175797c7f818385868888898989888887868583817e7b7974706d66605d56514b423d332d261d150c030000000000000000000000000714212d3a46535f6975828f959ea1a9a4aca49f9993877c6f6255483c2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8b5c2c5b8ab9e928578695f5349413e3d3c3b3b3c3c3d3e404246474e545c616e7a86929facb9c5c2b6a99c908376655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e696e6e6e6e6e6e6e6e6e6e6d675d514a50555d6065696e7274767879797979787775726f6a65605d555045403931281f160b0200000000000000000000000000000007111b252d353d44484d53545b606367686d7072747678797a7a7b7b7a7a79787674716e6966615e57524d453f342e261e150b02000000000000000000000000000000000000020e1a25313b454d535454545454545454545453514b42392f383f44464e5455595c555c60605b5e5c5a544b42372c2115090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cec1b4a79b8e8174685b4e4131261a0e14212d3a4754606d7a8797a2adbac6d3cec1b5a89b8e8175685b4f4235281c0f00000000000000000000000000000000000000000000000000000000060e161d262d333b41464d53565d6064676d6f727577787a7b7b7c7c7c7c7b7b79787674716f6c6663605c54524c4540393027221b140b030000000000000000000000000005121e2a36424d57616d7a838d92979697979a938f877f726a5f53473a2e1b1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1c4b8ab9e918578685d52463e38342e34343434343430363a3d424a525e687683909ca9b6c3c5b8ab9f9285786c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575e61616161616161616161605d554b40444b5153575f6165686a6b666d6d666b6a6865625f5854514b433f352f271f160d04000000000000000000000000000000000009131b232b33383c42474a505356565e616366686a6b676d6e6e6e6e6d6c65696765625f5754534d46423b3328231c150c03000000000000000000000000000000000000000009141f29333b4246484848484848484848484645403930272d33373c4347494d4f4b51535350494f4d49423930261b10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d0c3b6a99d9083766a574e42372b1b1116232f3c4956626f7c8995a9b3becad6cdc0b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000000000000000000050b141b222730363c42474c5254555c606365686a676d6e6f6f706f6f6e6e6d6669676562605b5453504a45413a342e271e17110a020000000000000000000000000000020e1a26313b46525e686d798085888a8a8a8987827d726d62584e43372b1f0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a7b1bcc6b9ac9f93877a6d61584f46443f414141414141414142424045464d576875828e9ba8b5c1c6baaea298877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b454d535454545454545454545453514b43393a4045474d5355585b5d545c60605c545d5b5955534e4745413a3129241d150d040000000000000000000000000000000000000109111921272c3137383f4446494c525456595b5d555d606161616160605b535b5855534d4846423b3630292117110a03000000000000000000000000000000000000000000030d17212931363a3b3b3b3b3b3b3b3b3b3b3a38342e271e22272b32373b3c404340454746443f42413d3730271e1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d2c5b8ab9f9285786a5f5347382d221c1c2834404b5465717e8b98a4b1becfdbcbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000020a11171e252a31373a4145474b515356585b555d606162626363626261605c545b585553504a46443f38352f28231d150c06000000000000000000000000000000000009141f2935414c565e676d73787b7d7e7d7c7a766f6b625b51463c31261b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a0acb8c1bbafa49a8c7f726a615953504a4e4e4e4e4e4e4e4e4e4f4b5153565e697683909ca9b6c3cabeb4aa95887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b42464848484848484848484847454039312f35393c4246484b4e504b515353514b504e4c4847433c39352f281f18120b03000000000000000000000000000000000000000000070f161c20262b2d3338393d4146474a4c4e504c515454545454545350494e4b4847423c3a36312a251f170f06000000000000000000000000000000000000000000000000050f171f252a2d2e2e2e2e2e2e2e2e2e2e2d2c28231d15171b1f272b2e2f332f34383a3937332d34312c261e150c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d3c6baaea298887b6e6253493f332b28292e3845515c6675828f9ba8b5c2ced4c8bdb2a896897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000060b14191f262b2f35393a404547494c4e4b5153555556565655555453514a4e4b4846443f3a38342e29241e18120b03000000000000000000000000000000000000030d1925303a444c555d60656c6e7071716f6d6863605951493f342a20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7883909da5afb9c0b6ac9f92867c706b63605c545b5b5b5b5b5b5b5b5b5b545c6062686e7b87929facb9c5d0bbafa295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212931363a3b3b3b3b3b3b3b3b3b3b3a38352f2724292c31373a3b3f414340454646454044423f3c3a37312c29241d160d07010000000000000000000000000000000000000000000000050b10151a1c22282b2d3035393a3d3f4143414547474848474746443f413e3b3a37312d2a251f1a140d050000000000000000000000000000000000000000000000000000050d141a1e2121212121212121212121201f1c18120b0b0f151b1f22222623292c2d2d2b27222825211b140c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d6cabeb3aa998c7f72655b50443c38333539404b54606d7985929fabb8c5d2d2c5b8aca096877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000002080e151a1e24292c2f34383a3c3f424045474848494949494848464440413e3c3938332d2c28231c19130c0700000000000000000000000000000000000000000008131e28323a434b51535b606263646463605d56544f473f372d22180e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b65717e8a939ea7b0babaaea29892857d75706d66686867676767676767686869666d6f737a839099a3afbbc7cabfb4aa95887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f171f252a2d2e2e2e2e2e2e2e2e2e2e2d2c29241d181d20262b2d2e32352e34383a3a38342e35322f2e2b26201d18130c0400000000000000000000000000000000000000000000000000000003090e11171c1f2025292d2e3033352f35393a3b3b3b3b3a3937332d322f2e2b26211e1a140e09030000000000000000000000000000000000000000000000000000000003090e1214151515151515151515151313100c070000030a0f1315161a181c1f20201f1b171b19151009020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dbd0c3b7aa9d9083786c60574e46443f40454a515c66717e8b97a2adbac6d3d1c4b7aa9e918477685e5246392d201307000000000000000000000000000000000000000000000000000000000000000000000003090e13191d2023292c2d30322f35383a3b3c3c3d3c3c3b3b3a38342e322f2d2b28221f1c17110d080100000000000000000000000000000000000000000000020c16202831394045495053555757575654524c48443d352d251b1006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616c75818e959ea6adb3b4aaa297928a827d797675747474747474747475757677797c808590959fabb5c0cbc6baaea298877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e2121212121212121212121201f1d18120d11141a1e2122252823282c2d2d2c2823282622211f1b15110d070100000000000000000000000000000000000000000000000000000000000000060b0f1213191d202123262824292c2d2e2e2e2e2d2d2b27222522211e1a15120e090300000000000000000000000000000000000000000000000000000000000000000205070808080808080808080807060400000000000003060809070c10131413120f0b060c090400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dfd1c5b8aca0958a7e71695f5853504a4b51545c606d7984919ea9b3becad6cabfb4aa9a8e817467564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000001080d1113181c1f20232524292c2d2e2f2f30302f2f2e2d2c28232522201f1c1712100c060000000000000000000000000000000000000000000000000000040e161f272f35383f4446484a4b4a494745413a38322b231b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3841505a606d79838f949fa2a9acb2a9a29f948f8985838281818181818181818182838486898d92979fa7b1bdc7d1c5b8ac9f9285796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151515151515151515151413100c070104090e121415181b181c1f20201f1c181b191515120f0a040100000000000000000000000000000000000000000000000000000000000000000000000306080d11131417191b191d20212121212121201f1b17181514120e0905020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607060503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dfd4c8bcb1a79e91857b6f6a63605b54555d60666d74818e96a0acbcc5d0d3c6baaea2988a7d7063574a3d3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000104070c1013141619181d1f202222232323222221201f1c18181513120f0b06030000000000000000000000000000000000000000000000000000000000040d151d24292d3337393b3d3e3e3c3a39352f2c272119110900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3e45515d676d79828b92979ea0a8acada69e9c9892908e8e8e8e8e8e8e8e8e8e8e8f919299999fa2a9b1b9c2cfcbbfb5ab9c8f8376655b5044372b1f12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080808080808080808080706040000000000020507080c070c1013131313100c070c090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a0c080d111314141515141413120f0b06080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dfd7cec3b9ada19791847c746f6c666969676d7178808d939da8b2bdced7cfc5b8ac9f9285796d6053473a2d201408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060709070c10131415151616161615151312100c0709060603000000000000000000000000000000000000000000000000000000000000000000030b12181b22272b2d2f303131302d2c29241e1b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2935414c555d676d777e858c91969a9fa4abaaaaa29f9d9b9b9a9a9a9a9a9a9a9b9b9c9d9fa3ababadb3bbc2cbcec6bbaea3998c7f726653493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060707060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070808080807060503000000000000000000000000000000000000000000000000000000000001070c0f111213131313131313131313131313131313131313121211100f0d0c0a070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d7cec5bebab3a9a1969187817c7977767677797e838d929ca5afbac4ced1c7bdafa59a8d8174675d5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070809090a090908080706040000000000000000000000000000000000000000000000000000000000000000000000000000000001070c11171b1f20222424242321201d19130f0b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b19242f3a434c555d656c717a7f84888d9399a4afb4aeaca9a8a7a7a7a7a7a7a7a7a8a8a9aaacaeb5b8babec5cdcdc4bcb2a99f92867b6e6154483b2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c13181b1e1f2020202020202020202020202020202020201f1f1f1e1d1c1a19161413110d0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d0c5bcb4aeababa8a199928e898583828284858a90959ca4aeb7c0ccd7cbc0b5ab9e93887c6f62554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121315171817161413110d080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313a434b535b60686d72787c8086939facb9bab8b6b5b4b4b4b4b4b4b4b4b4b5b6b7b9bbbfc5c6cacac6c0bbb3aaa1978e8174695e52463a2d1b110600000000000001070c0f11121313131313131313131313130f0f0d0904000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171e24282b2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2b2a2827252321201d191514120e09050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cabeb4aaa29f9ea1a8a39f9a9792908f8f9092989d9fa7aeb6c0c9d2cdc4bbafa3998f82756a5f5343392f24180c0000000000000003090d1012131313131313131313131313130c0b0906010000000000000000000000020507081213131313131313131313131313130c0b090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506080a0b0b09070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28313a414950565d606d737e859299a4afbbc6c5c3c1c1c1c1c1c1c1c1c1c1c1c2c4c5c7c7c5c5c2bfbab8afa9a19891857a6d61574d42362a1e0a000000000000050c13181b1e1f2020202020202020202020201c1b1915100902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1821292f3437383939393939393939393939393939393939393939383836353432302e2d292521201e1a14110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2c6baaea298929196a1a9aca9a29f9d9c9c9d9fa2aaabb1b9c0c8d7cdc4bbb1a79f92877c6f62584e4331271d1207000000000000070e14191d1f20202020202020202020202020191816120d07000000000000000002080e1114141f2020202020202020202020202020191816120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161f282f38424d57626c737f8a9297a1abb5c0cac6c5c1bebdbcbbbbbbbbbbbbbbbbbbbbc0bbb9b8b5b4aeaca59d9791867c6f685d52453b30251a0e0000000000060f171e24282b2b2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c17212b333a404445464646464646464646464646464646464646464545444342403f3d3a3935302e2d2a25201e19130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2c5b8ab9f9286849197a1abb3adabaaa9a9aaacaeb4b8bcc3cbd1cbc3bbb3a9a0958d80736a5f53463c321f150b0100000000000811191f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2525221e181109010000000000050d14191e20212c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2525221e1811090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d16202d3a46525e69717e8b919ea1a9b3bdc5bebab8b4b2b0afaeaeaeaeaeaeaeaeaeaeb5afacaba9aaa29f9b938e857d6f6a60564c4133291f140900000000050f1821292f3437383939393939393939393939393635312c261e150c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131e29333d454c505253535353535353535353535353535353535352525251504f4d4c494746413e3b3a36302d2a251e1b150f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5cbbfb4aa9a8d807b859299a3acb4b8b6b5b5b7b8babfc6c8cdcbc7c0bbb1a9a1979083796d60584e43342a200d03000000000007111a232a3135383939393939393939393939393932312e29231b130900000000050e171e252a2d2e38393939393939393939393939393932312e29231b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b86929fa3adb3bbc1bcb4aeaba8a5a3a2a2a1a1a1a1a1a1a1a1a1aba39f9e9c9998928e89817a6f6a60584e443a3021170d02000000010c17212b333a40444546464646464646464646464642413d3730271e14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3a454f575c5e6060606060606060606060606060606060605f5f5e5e5d5b5a585654524c4b4846423b3936302b26201a150c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9bababaaea3988a7d707d87929aa2aab0b7bcc1c3c5c6c7c5c5c3bfbab5afa7a09791857b6e675c51463c3122180e0000000000030e19232c353c4145464646464646464646464646463f3e3a342d251b11070000020b1720293036393b4546464646464646464646464646463f3e3a342d251b1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d98a2aeb9bec1b7afaaa29f9b98969595959595959595959595949992928f8d8a85817c746d6860584e463d32281e0f050000000007131e29333d454c50525353535353535353535353534f4d49423930261b100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b2834404c5761686b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6968676563615e565854524d4746413a37322b262018120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facaeaeaeaeac9f92867a6d717e8892989fa6abb0b5b7b8b9bbb9b8b6b4aeaba39f9590857c6f695e554b40342a201006000000000009141f2a353e474d51535353535353535353535353534c4a463f372d23180d01000a141d29323b4146475253535353535353535353535353534c4a463f372d23180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daab4bfc7bdafa59e98928e8b8a89888888888888888888888786868582807d7a746f6a605d564e463d342b20160c00000000000c18242f3a454f575c5e6060606060606060606060605c5a544c42372c2115090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2b3744505c6873787979797979797979797979797979797979797978787776757372706d686865615e5754524c47433c373128231c150c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929fa1a1a1a1a1a19c8f8275676c717e868f949c9fa6a8aaabacafacaba9aaa39f99928d837b6f6a5f574d43392e22180e0000000000000d1925313c4750585e5f606060606060606060606060585651493f34291e120606111b262f3b444c52545f6060606060606060606060606060585651493f34291e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5c0b5ab9e938f85817f7d7c7b7b7b7b7b7b7b7b7b7b7a7a79787673716d67626058524c443d342b22190e0400000000000f1b2834404c5761686b6c6c6c6c6c6c6c6c6c6c6c6c69655e54493d3125190d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885868686868686868686868686868686868686858585848382807f7c7a7875716e6965615e56534e47433c342e271e180f080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c79869294949494949494948b7e7265616c707b828a9094989b9d9f9fa39f9e9d9a98928e8780796e695f584e453b30271d1006000000000000101d2935414d58626a6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e2216090d17222d38414c565e616b6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabb8c5bbafa3998f817a7572706f6f6e6e6e6e6e6e6e6e6e6e6d676b696664605d55544e45413a322b22191007000000000000111e2b3744505c6873787979797979797979797979797570655a4d4135281b0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919393939393939393939393939393939a9392929191908e8d8b898785827e7b77726d68625f58534e444039302a211a110900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986878787878787878787877b6e615961696e767d83888b8e909293999292908e8a86817b746d675f574e463c33291e150b00000000000000121f2b3845515e6a7479797979797979797979797979726d62564a3e3125180b151f27333f49535e686e787979797979797979797979797979726d62564a3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909da9b3bdb9ac9f92867a6d686563626262626262626262626261605d555c5a5753514b47433d3530282019100700000000000000121f2b3845525e6b78858686868686868686868686868275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919e9f9f9f9f9f9f9f9f9f9f9f9f9f9fa49f9f9f9e9e9c9b9a989696918e8b87837f7a756f6a625f58514a423c332c231b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b7b7b7b7b7b7b7b7b7b7b76695e53575f626c70767b7f8284858686868583817d7a746e6a605d554d453c342a21170c030000000000000013202c3946535f6c79868686868686868686868686867f7265584c3f322519121d27313944505b656e7a8586868686868686868686868686867f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c97a2abb5b9ac9f9286796c60565c5c5d5c5c5b5a58565555555453514b4f4d4a4745403a373229241e160e070000000000000000121f2b3845525e6b788591939393939393939393938f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabacacacacacacacacacacacacb6afacacababaaa9a8a6a5a9a19e9b9895908c86827c756e6a605c544e463e352d241b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e696e6e6e6e6e6e6e6e6e6e6e695e574d4d535a6164696e72757778797a79787674716d68625f58514b433c332a22180f05000000000000000013202c3946535f6c798692939393939393939393938b7f7265584c3f32251918232f39434e58606c77828f9793939393939393939393968f82756d62564a3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a859299a3abb2aea399897d70686768696a696968676563615e5656544e46443f3e3a39352f2b272019130c04000000000000000000121f2b3845525e6b7885919e9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8b9b9b9b9b9b9b9b9b9b9b9c0bbb9b8b8b8b7b6b5b3b2b2adaba8a7a09d99928e87827c736d665f584f473f362d241b120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575e61616161616161616161615e574d4542475055575f6165686a656c6d676b6a6764605d56534e454039312a2118100600000000000000000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f988b7f7265584c3f322517202934404b555f6a727f8b949fa99f9f9f9f9f9f9fa39991847a6d605b51463a2e2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e68717e879299a1a8afab9d91847a73747576767676757372706d686762605853504a423d332d261d1b160d080200000000000000000000121f2b3845525e6b7885919eabacacacacacaca89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4c6c6c6c6c6c6c6c6c6d2ccc8c6c5c5c4c4c3c1c0bebdb9b8b5b1acaba39f9a938f8780786e6a615951483f362d241a0f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b454d535454545454545454545454534d453b373e44494d5355585b535b60605c555d5b5754524c47433c352f271f180f060000000000000000000013202c3946535f6c7986929facacacacacacaca5988b7f7265584c3f32251e29323a45515c676f7c86929fa6b0acacacacacb0a69f92877c6f685d52493f34291e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c56616c717e8791969da5aca09690837f81828383838281807f7d7a77736f6a64605b544f443f382f261e150a000000000000000000000000121f2b3845525e6b7885919eabb8b9b9b9b9b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d2d2d4cdc7c4c3bcbcbcbcbcbcbcbdbebfc1c4c6c8c5c4c1bcb8b5afaca49f99928c837c706b625b51483e362c21180d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246484848484848484848484846423b332b33393c4246484c4f49505353514b504e4a4745413a373129241d150d06000000000000000000000013202c3946535f6c7986929facb9b9b9b9b9b2a5988b7f7265584c3f322525303a444f59606d79839098a3aeb8b9b9b9bdb2a89e948c7f726a60564c41372d23180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b44505a616c717d848e939da9a8a095908c8e8f8f908f8f8e8d8b898684807c77716c6660595049413830261c11060000000000000000000000121f2b3845525e6b7885919eabb8c4c6c6c2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1ded4cbc2bcb8b6afafafafafafb0b0b1b3b4b7b9bbc0c6c8c8c7c0bbb6afaba39f9590867d726d625a50483e332a1f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212931363a3b3b3b3b3b3b3b3b3b3b3b3a36312921282d31373a3b3f423f444647454043413e3a39352f2b262018120b0300000000000000000000000013202c3946535f6c7986929facb9c5c6c6beb2a5988b7f7265584c3f32252a36414c56616b74808d95a0aab4bfcacbc0b5aba1968f82776c60584e443a30251b1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141e29323e48505a616b6f7a818e97a2ada7a09d999a9b9c9d9c9c9b9a989a93908d89837e786f6b605b534a42382e23170f0500000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d8cdc2b9b1aba9a3a3a3a3a3a3a3a3a4a6a8aaacafb6b9bbc0c7cbc7c0bbb5aea7a09892877f726c625a50453c31271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f171f252a2d2e2e2e2e2e2e2e2e2e2e2e2d2a251f171c1f262b2d2e322d3337393a38342f34312d2c29241e1a150c07010000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f322a333c46525e68707d88939fa7b1bcc6cdc4bbafa39991847a6d655b50463d32281e130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333d474f59616a6f787e85929fabb1acaaa6a7a8a9a9a9a9a8a6aca49f9d9a95908b837c736c655c544a3f342821170d02000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d4c7bcb1a79f9d969696969696969798999b9d9fa4acacafb6bbc0c7ccc6bfbbb1aaa29993887e716c61574d43392f23180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e212121212121212121212121211e1a140d10141a1e21222522272b2d2d2c2923282421201d19130f090300000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f32303c46515b616d7a85919aa4afb9c3cfc4bbb0a69f92877d6f685e53493f342b20160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b454f59616b707c838b9297a2adbab8b7b2b4b5b3b2b2b3b4b3b6afacaaa7a09d95908780776d665c50443f33291f1409000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d1c4b8ab9f9590898989898989898a8b8c8e91939a9c9fa4acafb6bec4cccbc3bcb3aba49a92877e70695f554b4034291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151515151515151515151514120e090303090e12141519171b1f20201f1c181b171413110d0801000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f2e39424e58626d75828f97a1acb6c0cbc7bdb3a99f948c7f736b60564c41382d22190e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57616b707d8690959fa2a9b3bebeb6afaca9a6a5a5a6a8acaeb4b9b7b1aca7a099928c81786d605b51453b30251a0e020000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d0c3b6a99d90837d7c7c7c7c7c7d7d7e808184878b8f939a9fa4acb2bac2cacec5bdb5aca39992867b6e675c51453b31261a0e030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708080808080808080808080705020000000002050708060b0f12131413100c070b070704010000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f34404b545f6a727f8b949ea9b3bec7ccc0b5aba1978f82786c60594f443a2f261b1007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212d3a46535e69707d879298a0a7adb3bbb9b1aca49f9d999898999c9fa3aaafb7bcb8b1aba39f938e81746d62574d42362a1e13080000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f827570707070707070717375777a7e82878e939aa0a8b0b8c2cad0c7beb5aba2989083796d60574d42362a20150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506070604000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3a45515c666e7c86929fa6b0bbc4cdc5bbafa49991857a6e665b50473d32281d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2c38444f59616e7b859299a2aab1babeb8b0a79f9a93908d8b8b8c8f92989ea5aeb6c0bdb5afa59d938b7e72695e52463a3024190d0100000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f827569636363636364656668686d71757b818891969fa6b0b8c2ccd0c7bdb4aaa0958d8073695f53463c31261a0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f444f59606d79839098a2aeb8c1cdc5bbb0a69f93877d70685e544a3f352b20160b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4855616b76828f97a2abb4bcc3bcb0a69f95908783807f7f8082868e939da4aebac3c0bbafa59f92867b6e61564c4135291d110500000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c56565656575859565e6164696e747c848f949fa6b0b9c3cfcfc5bcb1a79f92867b6e61584e43372b1e13080000000000000000000000000000000000000000000000000000000001040607090c0d0f101111111111100f0e0c0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c414c56606b73808d95a0aab4bfcac7beb3a99f948c80736b60564c42382d23190e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5763707d8a949fa9b3bdc6bfb4aa9f9490837c7673727273757a818d929da8b1bdc8c0baaea2988e8174685d5246392d20130700000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f0604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f49494a4a4b4d4c5254575f616a6f79828f949fa7b1bdc7d1cec3baaea3988f82756a5f53473a3024190d010000000000000000000000000000000000000000000000000306070d10131416181a1b1d1d1e1e1e1d1d1c1b19171514120e090604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265554d46525d68707d88939fa7b1bcc6ccc0b6aca1978f82786d60594f443b2f261c110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697683909da6b0bbc5c6baaea2989082796f6a66656566686d74808d95a0acb8c7cabfb4aa9f92867a6d6154473a2e21140700000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c1413110d070c090605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f423d3d3d3e404146474d535860676d79828f95a0abb5c0cbd7cbbfb4aa9e93887b6e62564c4135291d110400000000000000000000000000000000000000000000040a0f1315181d202023252728292a2b2b2b2a2a2927262422211e1a1413110d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f72675e57505a616d7a84919aa4afb9c3cdc5bbafa49a92857b6e665c50473d32291d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b88959fabb8c2cdc5b8ac9f92867b6e675f585858565e616d7984919dabb5c0cbc6baaea3988b7e7265584b3f2f24180c00000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236292120201d181b181513120f0b06040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f42363031323036393c42464e555d676d79839199a3afbbc6d0d1c6bcafa59a8d8174685d5245392c2013070000000000000000000000000000000000000001070c10151b1f2124292c2d2f32343536373738373736363432302e2d2a2621201d19130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cfc2b5a89c8f82796e696059626c75818f96a1acb6c0cbc5bbb0a69f93887d70695e544a3f352b20170b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a7b1bccacbbfb4aa9a8d8074695e554e4c4c4c525c66717e8b99a3afbbc7cbbfb4aa9b8e827568554b4035291d1004000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f42362e2e2d2c2924272522201f1b1712100c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236292425252a2d31373d434c555d676f7c87929faab4bfcad6cfc1b8ac9f92867a6d6054473a2f24180c000000000000000000000000000000000000060b12181c1f262b2e2f35393a3c3f40424344444444444342413f3d3b3a36312d2c29241e1b160f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d0c3b7aa9e948f837b706b6269717e8b939ea9b2bec7c7beb3a99f948d80736b60564d42382e23190e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cdc7baaea398897c6f62574d433f3f414b54606d7a86929facb9c5d1c4b8ab9e918478675d5145392c1f1306000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f423b3b3a3a39352f34322f2d2b27221f1c18120d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c18191d20262b313a434c555f6a74808d98a2aebac7d3d3c6baaea2988b7e7164554b4035291d1004000000000000000000000000000000020a11171d23292c32373b3c404547494b4d4e505051515150504f4e4c4a4846423e3a39352f2c27211b150d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d3c7bbb0a69e9590857d726d6e7b86929fa5afbbc4ccc0b6aca2979082786d60594f443b30261c110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a546a7784919daab7c4d0c5b9ac9f9286796d6053463b31303945515d677784909daab7c3d0c6b9ac9f93867a6d6053473a2d201407000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4848484747454043413f3c3937332d2c28231c19130b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c080d11141a1f28303a434e58616e7a86929facb8c4cfd6cabfb4aa9b8f8275675d5145382c1f13060000000000000000000000000000060c141c23282f34383c4347494b515356585a5b5c5d5e5e5e5d5d5c5a595755534d4b4745413a38322b262019130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d7ccc1b8b0a7a09792877f7578839098a2aeb7c1cdc5bbafa49a92857b6e665c50473d32291e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b667985929facb8c5d0c4b7aa9d918477665c514438292935414b556875828e9ba8b5c1cec8bbafa49a887b6e6155483b2e221508000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c555555545453514b504e4b4846443f3a38342e29241e17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f0105090d161e28313c46525e6874818e9aa9b2bec9d5d0c5b8ac9f9285796d6053473a2d201407000000000000000000000000000910181e262e34394045474e5355555d6062656768696a6a6b6a6a6969676563615f575854514c48433d373229241e160d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dfd3cac1b9b1a9a199928c81808d959faab4bfc9c5bbb1a79f93887d70695e544a3f352c20170c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986939facb9c6d0c3b6a99d9083766a544a403428242f414e5b6774818e9aa7b4c1cdccc0b6ac95887b6f6255483c2f221509000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f827569616161616161605d555c5a585553504946444039352f28221c140b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f030000040c161f2a36414c56636f7c8997a1adb9c6d2d3c6baaea298897c6f6356493c302316090000000000000000000000010a121b222a30383f444b5153585f6266676d6f72737576777777777776757472706e696864605d55544e47433c352f281f181008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dfdcd3cbc3bbb3aba39f938e8d929da7b1bcc6cabeb3a99f958d80736b61574d42382e231a0e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a869aa4afbbc8d0c3b6a99d9083766a5d504331252834414e5b6774818e9aa7b4c1cdcabeb4aa95887b6e6255483b2f221508000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f82756e6e6e6e6e6e6d6d676b69676562605b5353514a45413a332d261d170e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f03000000040d1925303b4854606b7885919eabb8c4d1d6cabfb4aa988c7f7265594c3f3226190800000000000000000000010a131c242c343c424a50555c60656a6f73767a7c7e80818383848484838382817f7d7b7874716d67626058534e45413a312a221a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2dfd7cfcac6c5bdb5afa59e9b9a9da4aeb9c3cbc3baada2979083786d60594f453b30261c11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677986939facb9c6d0c3b7aa9d9084776a574d42362a27333f49536875828e9ba8b5c1cec6baaea298877a6e6154473b2e21140b030000000000121f2b3845525e6b7885919eabb8c4d1cfc2b6a99c8f827b7b7b7b7b7b7b7a7a79777674726f6c6563605c54524c443f382f2920191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f030000000008141e2c38434f596875818e9ba8b4c1cedbd0c1b5a89b8e8275685b4f423025190d010000000000000000000a131c252e363e464e545c60676d72777c808386898b8d8e8f9091919190908f8d8c8a8884817e7a746f6a625f58524c433c342c241a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d7cdc5bebab8b9bbbbafaaa8a6a8aeb6c0cbc3b9aea49f92857b6e665c51473e33291e150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b556b7885929eabb8c5d1c5b8ab9f928578695e5346382e2e3744505b657683909ca9b6c3cfc5b8ab9f9285796c605346392d241d150d0b03000000121f2b3845525e6b7885919eabb8c4d1d0c4b7ab9f948f888888888888878786858483817e7b7875706d66605d56504a423b332b221911070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f0300000000020f1b27323f4b5865727e8b98a5b1bed1dcd0c4b7aa9d9184776a564c41362a1d1105000000000000000009121c252e37404850585f666d72797f83888c909399989a9b9c9d9d9e9d9d9c9c9a989696918e8b86817c766f6a605d564e463e362c241a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cfc5bbb3adabacafb5bdb6b4b3b5b9c0c8c5bcb1a79d928a7e70695e544a40352c21170c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f44505d6a7783909daab6c3d1c6baada297877b6e61544a3f3b3b3e4653606c7985929facb8c5cbbfb4aa9c8f8376665b504439352f271f1d150b010000121f2b3845525e6b7885919eabb8c4d1d3c7bbb0a69f9c94949494949494949892918f8d8b8885817d79726d68605b544d453d342b23190f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f0300000000000a1623303c4956636f7c8996aab4bfcbd7d2c5b8ac9f928579685e5246392d2013070000000000000007101b242e374049525a616a6f787f848b9095999d9fa4aba6a8a9aaaaaaaaaaa9a8a7a5a8a19e9b98928e89827c746d685f5850483e362c231a0e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cabeb3a9a29f9fa4abb5c0c1c0c1c5cacabeb3aaa0958d80746c61574d42392e231a0f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071b2834414e5b6774818e9aabb4bfcbcabeb3a9988b7f72665c504a484849505963707c8998a2aebac6c7baaea3988b7f7265544a47454039312f271d13090000121f2b3845525e6b7885919eabb8c4d1d8cdc2b8b0aba9a1a1a1a1a1a1a1aaa29f9e9c9a9897928e8a857f7a726c665e574e463d352b21180d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f0300000000000714212e3a4754616d7a8798a3aebac7d3d3c7baaea298877a6d6154473a2e211407000000000000030c19222d364049525b636c717c838b91979da0a7a9acafb5b3b4b6b6b7b7b7b6b6b5b4b2b2acabaaa29f9b948f87817a6f6a615a50483e352b20170d0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2c6baada297929399a4afbbc1ccced1d3c6baaea2989083786d605a50453b30271c110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b99a3aebac7d0c3b7aa9d9083786d605c545554555a616b75818e9baab4bfcac5b9ac9f92867a6d61555653514b4341392f251a0f0300121f2b3845525e6b7885919eabb8c4d1ded4cac2bbb7b6aeaeaeaeaeaeaeb4aeacaaa9a7a9a19e9b97918c857e786e6960584f473d332a1f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f0300000000000713202d3946525e687986929facb9c5d2d6cabfb4aa95887c6f6255493c2f2216090000000000000a151e2a343f48525b636e737e8690959ea1a9acb1b6b9bbc0c0c1c2c3c4c4c4c3c3c2c0bfbdb9b7b4aeaca69f99938e847c716c615a50473d32291e140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2c5b8ab9f928587939fa6b0bac3ced8d2c5b8ab9f92857b6e665c51483e33291e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb6c0ccc5b8aca0958c7f726d6662616162656c717d8a939eaabcc5d0c0b3a69a8d80736d676663605d55534b41372b20140800121f2b3845525e6b7885919eabb8c4d1dedcd4cdc7c4c2bbbbbbbbbbbbbabfbab8b7b6b4b3adaba9a19e97928b827b6f6a60594f453c31271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f03000000000005111d2935414c566b7884919eabb7c4d1dbd0bcb0a396897d7063564a3d3023170a000000000006111c26303c46505a636d73808a92989fa7adb2b8bcc3c6c7ccc8c5c4c2c1c0c0c1c2c4c6c8c9c5c4bfbab8b0aba49f9691867e716c61594f443b3025190b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d0c3b6a99d90837f8c939ea8b2bcc6d0cabeb1a4978b7e71695f544b403327241b12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6875818e9aa4afbbc3c8bcb1a79c918c7f78726f6e6e6f72767e86929fa5afbacecdc1b4a79a8e817d7a7673706d67645d53483c3024180c00121f2b3845525e6b7885919eabb8c4d1dee5ded7d3d0cfc6c6c6c6c6c7d0cac6c5c4c2c0beb9b8b3ada9a19e9490857c6f6b60574d43392f23180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f030000000000010d19253044515d6a7784909daab7c3d0d6cabdb0a3978a7d7064574a3d3124170a00000000000c17232e38424e58626c73808c929fa3aab1b9bec4c8cdc7c4c2bdb9b7b5b4b4b3b4b5b7b9bbc0c7c7cac6c2bdb5afa8a09892877e706b60564c41362a1d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d0c4b7aa9d918478828f96a0aab4bfcacfc2b5a99c8f82786d655b504440362d241a1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c56626f7c87939fa7b1bac3c3b9ada39c918c847f7c7b7b7c7e828a9298a2aeb7c1cccfc2b6a99d938e8a8683807d7a746f64594d4034271a0e00121f2b3845525e6b7885919eabb8c4d1dedcd3ccc7c3c2b9b9b9b9b9babbbcbec1c5c6c9cac6c4beb9b3ada69f9792867d6f695f554b4034291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f03000000000000081d2a3744505d6a7783909daab6c3d0d7cabdb0a4978a7e7164574a3e3124170b0000000003101c28343f4a545f6a717e8b929ca4aeb4bcc2c9cec8c2bbb7b6b2acaaa9a8a7a7a8a8aaacafb6b7bbc2c8d0c7c0bbb2aaa39992877d70685e52463e2f261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d1c4b8ab9e9185787a849198a2aebac0cbc3b7aa9e948e81776c605b51483f362c2319100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a47535f6a74808d95a0a8b1bac0bfb5ada39c95918c898887888b8f949fa2aab4bfc9d3d2c6baafa59d9a9992908d89868174685b4e4135281b0e00121f2b3845525e6b7885919eabb8c4d1ded3cac1bbb7b5acacacacadadaeafb1b4b8b9bec5c8cdc9c5beb9b0a9a19892857b6e675c51453b31251a0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f03000000000004101d2a3743505d6a7683909da9b6c3d0d7cabeb1a4978b7e7164584b3e3125180b0000000006121f2c3844505c666f7c86929fa4adbabfc6cfcbc3bcb8b0aba9a8a09e9c9b9a9a9b9c9d9fa4acabb0b8bcc3cbccc4bcb4aba39992857a6e615a5042382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2c5b9ac9f9286796f7c86929fa4aeb8c2c7bbb0a69e938d80746d635b51483e352b22190f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2b37434e58606d79839096a0a8afb7bcbfb5ada7a09d9995949495989c9fa6aeb4bcc6d0c7c7cbc0b7afa9aba39f9d99999083776a5d5044372a1d1100121f2b3845525e6b7885919eabb8c4d1d7ccc1b8b0aaa8a0a0a0a0a0a0a1a2a5a7abadb3b8bcc3cbcfcac2bbb3aaa2979183796d60574d42362a1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f03000000000004111d2a3744505d6a7783909daab6c3d0d7cabdb1a4978a7e7164574b3e3124180b00000004101d2935404b55606d78839098a3aeb6bfcbd1cac2b9b1aca69f9c9796918f8e8d8d8e8f91939a9c9fa6acb1b9c2cacec6bdb4aba1978f82756c61544a3f33281c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2c7baaea398867a6d717e8a929da6b0bac4c2b8afa59d928c7f736d625a50473d342b21180e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b26313c45515d676e7b8491959da5abb0b8b9b9b1acaaa5a2a1a1a2a5a9abb0babfbbbabababababababab6b5afaca9ab9d9083776a5d5044372a1d1100121f2b3845525e6b7885919eabb8c4d1d3c7bbb0a69e9c9393939393949496989a9ea1a9acb1b9bfc7d6cdc5bcb3a9a0958d8073695e5346392f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f030000000000030f1b27333f49536a7784909daab7c3d0d6cabdb0a3978a7d7064574a3d3124170a00000006131f2c3945515d67727f8c95a0aab4bfc8d7ccc2b8b0a7a09d948f8a878482818180818284868a8f949da0a7b0b8c2cccfc6bdb3a99e948a7e71665b5044382b1f140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbfb4aa94877a6e6c74808d949fa8b2bbc4c1b7aea49c918b7f726c61594f463c332a20170e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202935404b555e696e7b838e939c9fa6abadb3b4b6b7b2afaeaeafb1b6b5b4b2b0aeaeaeaeaeaeaeaeaeaeaeaeaeaeaa9d9083776a5d5044372a1d1100121f2b3845525e6b7885919eabb8c4d1d0c3b7aa9e948f86868686868788898b8e92979da0a7adb5bec7d0cec5bbb1a79f92867b6e61554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f03000000000005121f2b3744505b657885919eabb8c4d1d6c9bdb0a3968a7d7063574a3d3024170a0000000714202d3a4753606d7985929ea7b1bcc6d1d0c3bab0a69f959089827e7a77767574747575777a7d828991959fa6b0bac4d0cfc5bbb0a69d9183786c6053463b3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2d1bbaea195887b6e626d78829096a0a9b3bcc5c0b6ada39f93877e716b60584e453c322920160d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18242f3a434d575e696e79818990949a9ea1a9a7a9aaabacafafacabaaa9a7a5a4a1a1a1a1a1a1a1a1a1a1a1a1a1a1a19d9083776a5d5044372a1d1100121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f82787979797a7a7b7c7e81858a90959ca3adb5bec9d3cdc3bbaea3998d8074675d5145392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f0300000000000613202d394653606c7986929facb9c5d2d7cbc0b5ab96897d6f6356493c30231609000006121e2b37424d5765727f8b97a1adb9c3cfd2c7bdb2a89f948f837c76716e68696867676869686d71767c8390949fa8b2bec7d2cdc1b8aca0958a7e7164564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2c8bcafa295897c6f62666e7a849197a1a9b3bcc6bfbbafa49992867d706a60574d443b32281f150c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313b454d575e676d747c83898d9297989a9c9e9f9fa4a49f9f9d9c9a9997959494949494949494949494949494949083776a5d5044372a1d1100121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f82756d6d6d6d6d6e6f7274797d838c919ba3adb7c1d0d7cbbfb5ab9f9285796d6053473a2d2014080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f0300000000000814212e3b4754616e7a8799a3afbbc7d3d3c7bbafa399877b6e6154483b2e21150800000814212e3a47535f697783909da9b3becbd7ccc0b5aba0968f827a6f6b64615e565b5a5a5b565e61646b6f7a829096a0acb6c0ccd4c8bcb1a79c8f8376685e5246392d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2c9bdb0a3968a7d70635e686e7b859197a2aab4bdc7c0b5aba39892867c6f695f564d443a31271e150b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f29333b454d555d606b6f767c8185888b8d8f9192939a999392918f8e8c8a888787878787878787878787878787878783776a5d5044372a1d1100121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f82756960606061616365666d70787f8b919ba5afbdc7d2d1c6baaea2988a7e7164574a3e3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f0300000000000a1623303d495663707d8996abb5c0cbd7d2c5b9ac9f9286786d6053463a2d20130700000815222f3b4855626e7b8895a0acbbc5cfd4c7bbafa4999184796d68605954524c4e4e4d4e4c52545960686d7984919aa4afbbc8d4cec3b9ac9f93867a6e6154473b2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cabdb1a4978a7e7164565f696f7c859298a2abb5bec7bdb4aaa29892857b6e695e564c433930261d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d172129333b434b515960636a6f74797c7e8183848586868686858482817f7d7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b6e6154473b2e21140800121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c5353545556545c60666d727f8b939eabb5c0ccd6cabfb4aa9b8e817568564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f030000000003101c28343f4a5465727f8b98a5b2bed1dcd1c4b7ab9e918478665c5044382b1f120600000c1926323f4c5965727f8c98a7b1bccdd7d2c6b9ac9f93877c6f675d564f474641424141424146474f565d67707d87939facb9c6d0d4c7bbafa4998b7e7265584b3f2f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb1a5988b7e726558575f6a6f7d869299a3acb6c0c6bcb4aaa19791847b6e685d554b42382f261b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f172129313940454f54586062666c6f7274767778797979797877767472716e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e685e5246392d20140700121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f474748494a50545c606d75828f99a4afbbc7d4d0c4b7ab9e918478685e5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f030000000006121f2c3844505c6675828f9ba8b5c2cedbcec2b5a89b8f827568544a3f34281c10030004101d2935404b556875828f9ba8b5c2ced6cabfb4aa9c8f82756b60554c433d39363034343036393d444c55606b76828f9caab4bfcad6ccc0b5ab9b8e827568554b4035291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584e58606b707d87929aa4afbbbfc5bcb3a9a19690837a6d675d544a41382d221712090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f171f282f353d43484e54545b60626567696b6c676d6d676c6a696766646261616161616161616161616161616161615e564d41362a1e110500121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f423a3b3c3f444a505b616e7b87939facb9c6d2d2c5b9aca196877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f03000000050e17202d3a4653606d7985929eabb8c5d1d6cabfb4aa998c7f7266594c3f2e23170b00000613202c3945515d677885919eabb8c4d1d3c6baaea2988a7d7164594f433a312d2a252727252a2d323a434f5964717e8a98a2aebac6d3d2c4b7aa9e918477675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c4f59616b717e88939fa4aeb7c0c5bbb2a8a0959082796d665c53493f3327241b11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d161d242932383d43474a505355585a5c5e555c60605c555e5c5b5957555454545454545454545454545454545454524d443b3025190e0200121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f42362e2e34383f46535f697683909da9b6c3d0d5c9bdb2a895897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f030000070e17202a36424d5763707d8997a1adb9c6d2d3c6baaea298897d7063564a3d3023170600000714202d3a4753606d7a8696a1adb9c5d2d2c5b8ac9f9285796d6053463d3128201e191b1a191d2028313d4753606d7985929facb8c5d2d2c6b9ac9f93867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c474f59616c727f8b929ca4aeb7c1c4bab1a79f948f82786d655b50443f362d241a11070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c121821272c3237383f4446484b4e50514b515353514b514f4e4c4a48484848484848484848484848484848484746413b32291f14080000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f42362923282e36424d576673808c99a6b3bfccdacebdb0a4978a7e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c0f07080d12182029323b46535e6975818e9ba9b3becad6d2c5b8ac9f92857a6d6053473a2d20140700000915222f3c4855626f7b8895a9b2bdc9d5cfc3b6a99c908376665c5145382b1f16110e08080d11161f2c3845515c677683909da9b6c3d0d4c8bbafa49a887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f47505a626d73808d929da5afb8c2c3b9b0a69e948e81776c605b51483f362c23191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d161b20272b2d3338393c3f4143444045464645404443413f3e3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3936302920170d020000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f423629171c26313e4b5865717e8b98a4b1becbd7cbbeb1a4988b7e7165584b3e3225180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c131415191d2328323b444f59616e7b87929facb9c5cfd6cabeb3a99b8f8275675d5145392c1f130600000a1723303d4a5663707d8996a3b0bccfdacdc0b4a79a8d817467544b403428190d050200000105101c2934404b556774818d9aa7b4c0cdd8ccc0b6ac96897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3e48515b636e74808d939ea6b0b9c2c2b9b0a69e938d80736d635a50483e352b22180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1c22282b2d2f3234362e34383a3a38342e363433312f2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2a251f170e05000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c1724313d4a5764707d8a97a3b0bdcad6cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c1f202225292e343c444d56606b75818e99a3afbbc7d7d3c6baada2978b7e7164554b4035291d100400000a1724313d4a5764707d8a97a3b0bdcad6cbbeb1a5988b7e7265584b3f2e23180c0000000000000c18232f3f4b5865727e8b98a5b1becbddd2bdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f363f49525c606c78818e949fa7b1b9c3c1b8afa59d928c7f726c625a50473d342a21180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f202225272923282c2d2d2c282329282624222121212121212121212121212121212121201e19140d0500000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f4236291c1424313e4a5764717d8a97a4b0bdcad7cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f423623292c2d2e30353940454e565e69707d89939eabb5c0cbd7cbc0b5ab9f92857a6d6053473a2f24180c0000000b1824313e4b5764717e8a97a4b1bdcad7cabdb1a4978a7e7164574b3e31241807000000000000071824313e4b5764717e8a97a4b1bdcad7cabdb1a4978a7e7164574b3e3124180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f32374044505b666d78828f959fa7b1bababab7aea49c918b7e716c61594f463c332a1f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121315181b1d181c1f20201f1c181c1b191715151515151515151515151515151515151414110e08020000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f423629202127303f4b5865727e8b98a5b1becbd8cbbeb1a5988b7f7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f42382f34383a3b3d41464b51585f686e7b85919ea5afbdc7d1d3c7bbafa3998d8073675d5145392c1d12070000000b1824313e4b5764717e8a97a4b1bdcad6c9bdb0a3968a7d7063574a3d3024170a0000000000000a1724303d4a5763707d8a96a3b0bdc9d6cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3228333f4a545c666d79839095a0a8b2aeaeaeaeada39f92877e706b60584e453c31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606090c0e070c1013131313100c070e0c0b08080808080808080808080808080808080807050200000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f42362b2d2d3039424f596774818d9aa7b4c0cdd7cabeb1a4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f454545404547484a4c52545c606a6f7a839197a1adb7c1cfd6cabeb3a99f92877b6e61554b4035291d0b010000000b1824313e4b5764717e8a97a4b1bdcad5c9bcafa296897c6f6356493c30231609000000000000091623303c4956636f7c8996a2afbcc9d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f32222d38424b545d676d7a839196a1a9a1a1a1a1a1a1a39992867d706a5f574d42372b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000040607070604000001000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f423337393a3c424a54606b7784919daab7c4d0d6cabeb3a996897d706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c525252524b51535557565e61666d727c849195a0a9b3bec9d3ccc3b9ada1978d8074695e53433a2f24180d000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225262f39424b555e686e7b8491979494949494949494949892867c6f695f53463a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c4f453f444647494e545c66707d8995a0acb8c5d1d3c6baada297887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695e5e5e5e5e555c60616366686d72797f869196a0a7b1bbc4cfcdc3baafa59e92857a6d60574d4231281d1307000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f32251d27303a434c565e696e7b8587878787878787878787878787857b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0c0e0f101111111111100f0e0c0a0706040100000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695c52524950535456585f666d7883909da8b1bdc8d4d2c5b8ab9f9285796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f82756b6b6b6b6b6b6b676d6e7073767a7f848c9298a0a8b1b9c3cdcdc4bbb2a89e938b7e71685d52453b311f160c01000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225151e28313a444d575f696e7a7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205080d11131416191b1c1d1e1e1e1e1e1d1c1a19161413110d08050100000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8275695e5e5e5e5b606063656a6f78818e959fabbac3ced7ccc0b5ab9c8f8276655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f827878787878787878797a7b7d8083868c91969fa2aab2bac3cbccc4bbb2a9a0968e81756c62564c4133291f0d0400000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f322519161f28323b454d575f686d6e6e6e6e6e6e6e6e6e6e6e6e6e6e6d685d5246392d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214191d2021232627292a2a2b2b2b2a2a2927262321201d1913110d08020000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f82756b6b6b6b6b656c6d6f72767c838e939ea7b1bcccd5d4c7bbafa4998b7f726553493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d2c5b9ac9f928685858585858585858586888a8c8f92999ea1a8aeb4bcc3cccbc2bab2a9a1969184796d605a50443a3021170d0000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190d162029333c454d565d606161616161616161616161616161615d564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e2124292c2d3032343637373838373736353432302d2c2924201d19130e0902000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1cfc2b5a89c8f8278787878787878797a7c7f838890959ea5afb9c2cdd8ccc0b6ac9f93877b6e6154473b2d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d3c7baaea39892919191919191919292989496999c9fa3abacb2babfc6cec6bfbbb0a8a09791847b6e675d51483f32281e0f050000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0e17212a333c444c5254545454545454545454545454545454524c443a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d151b1f252a2d2f35393a3d3f41424344444444444342413f3d3a39352f2d29241e19140d050000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d2c5b9ac9f9286858585858585858687898b90959d9fa7afb7c1cbd4cec5bbafa49a8f8275695e52463a2d1b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d7cbbfb4aaa39f9e9e9e9e9e9e9e9e9fa3aaa3a6a9acafb5b9bdc4cac8c2bdb5aea69f9691857c6f695f554c41362d20160c000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c050f18212a323a41454748484848484848484848484848484746413a32281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c131920272b31363a3b414547494c4e4f505151515151504f4d4c494745413a3935302a251f170e0a01000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d3c7baaea3989291919191919192939996989d9fa7abb1b9c1c9d7cdc5bcb2a89f93877c6f62564d42362a1e0a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1dcd1c6bcb4aeacababababababababacaeb4b0b3b6b9bbc0c7c9c7c3bcb8b1aba39f9490847c6f6a5f574d433a2f241b0e04000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00060f1820283035393a3b3b3b3b3b3b3b3b3b3b3b3b3b3b3a3935302820160c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e161e252932373b4246484c525456595a5c5d5d5e5e5e5d5d5c5a595654524c4746413a363029201c130a000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d7cbbfb4aaa39f9e9e9e9e9e9e9f9fa4aba5a9abb1b8bcc2cbd1cbc3bbb3aaa0968e81746a6054443b3025190e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d6d8cfc6bfbab9b8b8b8b8b8b8b8b8b8babfbdbfc2c5c7c6c5bfbab9b1aca79f99928c827a6e6a5f584e453b31281e120900000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000060e161e24292c2d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d29241e160e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081019202830353c43474d5354565d60636567696a6a6b6b6a6a6968676563605d5654524c46423b322d251c11070000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1dcd1c6bcb4aeacabababababababacafb5b2b6b7bcc2c8cdcbc6bfbab1a9a29891847a6d60584e4332291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4c9c9c9c9d1cbc7c5c4c4c4c4c4c4c4c5c5c7c7c5c4c2c0bebab8b4aeaca7a09d9590877f786d685f574e463c33291f160c0000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000040c13191d2021212121212121212121212121212121201d19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a222b323a41464e54575e6166686d7072747576777777777776757472706d6865615d56524d443f372d23180d0100000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d6d8cfc6bfbab9b8b8b8b8b8b8b8b9bbc0bec3c4c7cdc8c6bfbab4aea7a09792867c6f685d52463c3220170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbbbbfbab8b7b6b3b3adababa39f9b95908a837c736d665e564e453c342a21170d040000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000002080d11131415151515151515151515151515151413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c343d444c52586062696e72767a7d7f81828384848484848382807f7c7a76726d68615e5651493f352a1e120600000000000000000000000000121f2b3845525e6b7885919eabb8c4c9c9c9c9d1cbc7c5c4c4c4c4c4c4c5c6c7cbc7c5c4c2c0bcb8b4aeaba39f9590857c6f6a5f564c41342b200e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabafafafafafafafafafafafafafafafafafafaeb4aeacaaa9a7a9a29f9b99928e89837d766f6a605c544c443c332a22180f06000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c0000000000000104070708080808080808080808080808080707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232c353e464f565e616a6f757b7f8386898c8d8f909091919190908f8d8c8986837f7a746e69635b51463a2e22160900000000000000000000000000121f2b3845525e6b7885919eabb8bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbc0bbb9b7b5b3b1ababa39f99928d837c6f6a60584e443a2f22190e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919ea3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2a2a2aaa29f9e9c9a9797928e8b86827d78706b625f58504a423a322a2118100600000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c18212c353e474f5960686d747c82868c90939a989a9c9d9d9e9e9d9d9c9b9a989992908b86807b726d63574a3e3125180c00000000000000000000000000121f2b3845525e6b7885919eabafafafafafafafafafafafafafafafafafafafb5afacaaa8a6a79f9d99928e8680796e6a60584e463c32281e10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b788591969696969696969696969696969696969696969595949892918f8d8b8885827e7a75706c656159534e443f38302820180f060000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2a333e474f59616b6f7a81878f92999d9fa4aca7a8a9aaaaaaaaaaa9a8a7aba39f9c98928d867f7266594c3f3326190c00000000000000000000000000121f2b3845525e6b7885919ea3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2a2aba39f9e9c9a9795908c86817b736d675f574e463d342a20160c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885898989898989898989898989898989898989898988888887858483807e7c7975716d6863605b534f47433c342e261e160e06000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303c454f59616b707d848e939a9fa3abacafb6b4b5b6b7b7b7b7b7b6b5b3b5afacaaa29f989285786b5f5245382c1f1205000000000000000000000000121f2b3845525e6b788591969696969696969696969696969696969696969595959992918f8d8a87837f7a746e69605c554e453d342b22180d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b7b7a79777674716f6d6664615e56535049413e373228231c150c0500000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9c5cacabeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424d57616b707d8691969fa4acafb5b9bbc0c0c2c3c3c4c4c4c3c3c2c0c0bbb9b4aeaa9e9285786b5f5245382c1f1205000000000000000000000000121f2b3845525e6b7885898989898989898989898989898989898989898989888887868482807d7a76726e68615f57514b433c332b22191006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b6f707070707070707070707070707070707070706f6f6f6e6d686b69676462605c5454524c46443f382f2b262017110a030000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9bebebebeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545f69707d879298a1a8afb6bbc0c6c8c9c6c4c0bcbfbbb9bbbfbbbdc0c3c5bfb8ab9e9285786b5f5245382c1f1205000000000000000000000000091623303c4956636f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b7a79777573706d6865615e56534d454039312a21191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f5960636363636363636363636363636363636363636363626261605d565c5a585553504a4746413a37332d261d1b150c0600000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb1b1b1b1b1b1a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c666e7b859299a3aab2bbc0c7cbcbc4beb9b8b3b0b5aeacaeb5aeb0b3b6b9bbb8ab9e9285786b5f5245382c1f12050000000000000000000000000915222f3b4854606b6f70707070707070707070707070707070707070706f6f6e6d6c65696764615e5654524c46423c342f271f180f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464f5456565656565656565656565656565656565656565655555554524c504d4b4846443f3a3936302b27221b140b0a040000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929fa4a4a4a4a4a4a4a4988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c55606d78839097a2abb4bcc4cccfc7c0bbb3adaba7a3aba39fa3aba2a4a6a9acafb5ab9e9285786b5f5245382c1f120500000000000000000000000007131f2c38434f596063636363636363636363636363636363636363636362626261605b535a5754524c4746413b373129231d150d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16212b343d434849494949494949494949494949494949494949494949484847454143413e3c3a38342e2d2a251f1b17110a0200000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c798692979797979797979797978b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d67727f8c95a0a9b3bdc6cfd0c7bdb5afa9a19e9a9694999299949597999d9fa3abab9e9285786b5f5245382c1f1205000000000000000000000000030f1b27323d464f54565656565656565656565656565656565656565656565555545350494d4a4746413b3936302b261f18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3c3b3a39353034312f2d2b2823201d19130f0b06000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c79868b8b8b8b8b8b8b8b8b8b8b8b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606d7a85929fa7b1bcc5cfd2c7bdb5aba39f97918d898786868687888a8d9092999da09e9285786b5f5245382c1f1205000000000000000000000000000a16212b343d43484949494949494949494949494949494949494949494949484746443f403d3a3936302d2a251e1a140c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101921272c2f3030303030303030303030303030303030303030302f2f2e2d2c2924272522201f1c1713110d08030000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e7e7e7e7e7e7e7e7e7e7e7e7e7c6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b65727f8c97a2adb9c3ced7ccc0b5aba399928d85807d7b7979797a7b7d8083868b90959d9285786b5f5245382c1f120500000000000000000000000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3b3a3937332d312e2d2a25201e19140e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f2223232323232323232323232323232323232323232322222221201d191a18151312100b06050100000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4956616c717171717171717171717171716e6a5f53473a2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919ea9b3becbd5d4c7bbafa4999287807974706e6d676d6d6f7173767a7f8389909285786b5f5245382c1f1205000000000000000000000000000007101921272c2f3030303030303030303030303030303030303030302f2f2f2e2d2b27222421201e1914110e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151616161616161616161616161616161616161616161615151413110d080b090706030000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212d3945505a6164646464646464646464646464625f584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a1acbbc5d0d4c8bcb1a79f93877e736d676361605c6061626466686d72777d838a85786b5f5245382c1f1205000000000000000000000000000000070f161b1f2223232323232323232323232323232323232323232323222221201f1b17171413110d080502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09090908070704010000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d28343e4850565858585858585858585858585855534e463c31261a0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c566774808d9aa8b2bdcdd7d1c4b8ab9f958b7f726c605d5554535153545557565e61656b70787e83776a5d5144372a1e110400000000000000000000000000000000040a0f13151616161616161616161616161616161616161616161616151413120f0b0607070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222d363e45494b4b4b4b4b4b4b4b4b4b4b4b4b4847433c342a20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687784919daab7c4ced5c9bdb2a89d9083786c605a514b4846454647484a4c52545961656c717a6d6053473a2d20140700000000000000000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09090807060503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101b242d34393d3e3e3e3e3e3e3e3e3e3e3e3e3e3b3a37312a22180e030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8795a0acb8c5d1d2c5b9aca196897c70655b5045403b3a383a3a3c3e4146474f535b60676d675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b22282d30313131313131313131313131312f2e2b2620180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a7b1bcc8d4d1c4b7ab9e9184786b6053493f352f2d2c2d2e2f3036393d414950555d605d554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000910171d21242525252525252525252525252522211f1a150e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfced9cdc0b3a69a8d807367594f41382d24201f202122252a2d2f383f444b5153514b43392f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c111517181818181818181818181818181514120f0a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cdd6cabeb3aa96897d7063564a3d2f261b1313131415191d20262d333940454745403931281d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b0b0b0b0b0b0b0b0b0b0b0b0b0808060200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8b5c2cfd3c6baaea298877b6e6154483b2e21140a060707080d11141b22272f35393a39352f281f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6c3d0d2c5b8ab9f928578695e52463a2d2014020000000001050a11171d24292c2d2c29241d160d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad5c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8d5cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b7884919eabb7c4d1d0c4b7aa9d9184776a574d42362a1e120500000000000000060b12181d2020201d18120c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdc9c9c8bcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbc8c9c9beb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1d0c3b6a99d9083766a5d504330251a0e02000000000000000001070d10131413100d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bcbcbcbcbcafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afbbbcbcbcbcb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2c3945525f6c7885929fabb8c5d2cfc2b6a99c8f8376695c504336291d090000000000000000000000010406070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4afafafafafafafa295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2afafafafafafafa4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2c3945525f6c7885929fabb8c5d2cfc2b5a89c8f8275695c4f4236291c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a3a3a3a3a3a3a3a3a295897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895a2a3a3a3a3a3a3a3a3978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2c3845525f6b7885929eabb8c5d1cfc2b6a99c8f8376695c50432d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a9696969696969696969695897c6f6256493c2f2316090000000000000916222f3c4955626f7c8895969696969696969696968b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b7884919eabb7c4d1d0c3b6aa9d9083776a53493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e898989898989898989898989897c6f6256493c2f2316090000000000000916222f3c4955626f7c888989898989898989898989897e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0d0c4b7aa9d918477655b5044372b1f1205000000000000000306060a0b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a7c7c7c7c7c7c7c7c7c7c7c7c7d796d6054473a2d2114070000000000000714212d3a4754606d797d7c7c7c7c7c7c7c7c7c7c7c7c7a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d293643505c6976838f9ca9b6c2cfd2c5b8ac9f9285796c605346392d2013060000000000060b0f121317181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e686e707070707070707070707070706d675d5145392c2013060000000000000613202c3945515d676d707070707070707070707070706e685e5246392d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1ced3c6baaea298877b6e6154483b2e21150a0105070a0f11171c1f20232524211d171009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6163636363636363636363636363605d554c4135291d110400000000000004111d2935414b555d6063636363636363636363636363615e564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfcfd6cabfb4aa968a7d7063574a3d32271b110d1114141b1c22282b2d3031302d28221b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303b444c52545656565656565656565656565654514c433a2f24190d01000000000000010d18242f3a434b51545656565656565656565656565654524c443b3025190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a9b2bec9d5d0c0b3a69a8d807367584e43382c221d191e2021262b2d3338393d3e3d39342d241b0c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141e29323b414647494949494949494949494949494745413a31281e1308000000000000000007131d28313a414547494949494949494949494949494746413b32291e14080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1adb9c6d2d1c4b7aa9e9184776a6054483e342d29252a2d2e3237383f44464a4b49453e362d1e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f281f160c010000000000000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3d3b3936302920170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697885919eabb8c4cfd2c5b9aca096897c6f625a50463f39353036393b3d43474a505356585650483e30271c120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e303030303030303030303030302d2c29241e160d0400000000000000000000040d161d24292c2d303030303030303030303030302e2d2a251e170e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b37424d576874818e9ba9b3becad5c9bdb2a89c8f82766c615950474641434146474a4e53545b606364615a5042392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e20212323232323232323232323232321201d19130c04000000000000000000000000040c13181d20212323232323232323232323232321201e19140d050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313e4a5764717d8a97a2adb9c6d1cec4b7ab9f948a7e716b625a54524c504c525457585f62666c70716c61544a4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111414161616161616161616161616161413110d0801000000000000000000000000000001070d111314161616161616161616161616161414110e0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000913202d3a4653606d7985929eabb4bfcbd3c7bbb0a69f92867d716c65615d565d565e6164676a6f73787d7e71665c5144382c1f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a07060401000000000000000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6774808d99a3aebac4cfcdc2baaea29892857e76716d686a6a6a686e7073777c80848985796d6053463b3025190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55616e7b86929fa9b2bec9d5cabfb4aaa297928b837e7a78777677787a7d8084888c91968a7d7164564d42362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3946525e6974808d97a1adb9bfc9d0c6bcb3a9a29f94908b868584838485878a8d9196999e9c8f8275695e52463a2d20160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d57606d7a84919ea4aeb7c0cbcec5bcb3ada69f9c9993929090919297979a9ea0a8ab9f92867b6e6154473d32271b0f01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a25303b45525d68707d8a929ca5aebabfc6cec5bebab0ababa49f9e9d9d9d9ea1a9a6aaacb2afa3998c7f7266594f43382c1d13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935414c56616c73808c939da4aeb4bcc2c8cac2bbb7b5afacabaaa9aaabadb3b3b7b8bdb5ab9d9184776b6054483a2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d19242f3a444f59606c77818d929fa3aab0b8bcc3c5c7c7c0bbb9b8b7b6b7b8b9bec0c4c5c7b8aca096897c6f63554b4035291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323e44505b656c77808b92989fa6abb1b8b9bdc0c2c4c5c5c3c3c4c5c4c3c1bfbdb9b7b2a89b8e8174675d5145392c20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c162027333f49535b656c747f8690949d9fa7abadb2b4b5b7b8b9bbbbb9b8b7b6b4b2b2acaaa9a19e92857a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17222d384149535b606d727c828a90959a9ea1a8a7a9aaabacafaeacababaaa8a6a8a09e9a97928d877d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f384149505b626a6f767e83898d9196989a9c9d9f9fa3a39f9e9e9d9b999796918d8a85807b706b6155483c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262f383f4451585f626c71777c8184888b8d8f9192929999929291908e8c8a8884817d79736e6961594f44382c20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141d262d333f464e535a61646b6f74787b7e8182848586868686858483817f7d7b7774706d67615f574f473d33271c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227343c43475055596063656c6f7174767778797979797878777573716e696763605c55534d453d352c21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117222a31373e45494f54535b60626567696a6c666d6d676b6b6a686664615f575753514b46423b332c231a100500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b33393d434849505355585a5c5e5f5c60605c555e5d5b595755534d4a46454039363129211a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b22282d3238383f4446484b4e4f514a515353514b51504e4c4a4846423d3a38342e2a261f170f0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f171c21272c2d3337393c3e414344404446464540454442403e3b3a37312d2c28231d1a140d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c11161b1b22272b2d2f3234362e34383a3a38342e373533312e2d2b26201f1c18120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171b1f202225272923282c2d2d2c28232a28262422211e1a1313100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121315181b1c181c1f20201f1c181d1b19171514120e0906040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506090b0e070c1012131313100c070f0d0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000040607070604000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Bold SDF.asset.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Bold SDF.asset.meta new file mode 100644 index 000000000..b729f1913 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Bold SDF.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 834dbc00e0aa00e7d8adbe6348960ace +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Bold + SDF.asset + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Bold.ttf.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Bold.ttf.meta index 77cf58007..b37373757 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Bold.ttf.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Bold.ttf.meta @@ -25,6 +25,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Fonts/OpenSans-Bold.ttf - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Bold.ttf + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Regular SDF.asset b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Regular SDF.asset new file mode 100644 index 000000000..9b1554a07 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Regular SDF.asset @@ -0,0 +1,3681 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!28 &-5213088529714667522 +Texture2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: OpenSans-Regular Atlas + m_ImageContentsHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_ForcedFallbackFormat: 4 + m_DownscaleFallback: 0 + m_IsAlphaChannelOptional: 0 + serializedVersion: 2 + m_Width: 1024 + m_Height: 1024 + m_CompleteImageSize: 1048576 + m_MipsStripped: 0 + m_TextureFormat: 1 + m_MipCount: 1 + m_IsReadable: 1 + m_IsPreProcessed: 0 + m_IgnoreMipmapLimit: 0 + m_MipmapLimitGroupName: + m_StreamingMipmaps: 0 + m_StreamingMipmapsPriority: 0 + m_VTOnly: 0 + m_AlphaIsTransparency: 0 + m_ImageCount: 1 + m_TextureDimension: 2 + m_TextureSettings: + serializedVersion: 2 + m_FilterMode: 1 + m_Aniso: 1 + m_MipBias: 0 + m_WrapU: 0 + m_WrapV: 0 + m_WrapW: 0 + m_LightmapFormat: 0 + m_ColorSpace: 1 + m_PlatformBlob: + image data: 1048576 + _typelessdata: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a09070705010000000000000000000000000001040607090a080705020000000000000000000000000000030607090a09070603000000000000000000000000000000000002060808111111111111111111111111111111111111111111111111111111111111111111111111111111110c0b09060100000000000000000000000000000000000000000000000000000000000000000000020507080b0c0e1010111111111110100f0d0c0a09070603000000000000000000000000000000000000000000000003060809131313131313100f0d090500000000000000000000000000000000000000000000000000000003060711131313131313131313060300000000000000000000000000000000000000000000000000000000000000000001060b0e11111313131313130e0d0b0803000000000000000000000000000000000000000000000000000000000000000003060809131313131313130a0907040000000000000000000000000000000000000000000105070712131313131313131006050300000000000000000000000000000000000000000000040607090b0c0e0f1010111111111111100f0d0b09070603000000000000000000000000000000000000000000000000000000000003060809131313131313100f0d090500000000000000000000000000000306071213131313130c0c0a0602000000000000000000000000050a0f1213131313131313130c0c0a0602000000000000000000000000000000000000000000000000000000000000030607121313131313131313070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0d0f101111111111100f0e0c0a08070502000000000000000000000000000000000000000000000000000000000000000000000000030607090c0e1011111111100e0c09060603000000000000010106060606060000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e1313131313131312100d080200000000000000000000000000000000000000000000000000000000000000000004080a0b131313131313130e0d0b070300000000000000000000000000000000000000000000000000000306080913131313131313130a0907040000000000000000000000000105090b0b13131313131313131313131313131313131313131313131313131313131313131313131313131313131313100f0d0a05000000000000000000000000000000000000000000000000000000000000000306070707070707070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12141516161413110d080200000000000000000001080d11131416161514120e090300000000000000000000060b1012131616161312100c060000000000000000000000000003090e1214151e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e191816120d070000000000000000000000000000000000000000000000000000000000010407090e12141517191b1c1d1e1e1e1e1d1d1c1b1a1917151312100b0606040100000000000000000000000000000000030a0f1215152020202020201d1c1915100a030000000000000000000000000000000000000000000000060c1012131d20202020202020202012100c06000000000000000000000000000000000000000000000000000000000000040c12171b1d1e2020202020201b1a18140f080100000000000000000000000000000000000000000000000000000000030a0f12151520202020202020171614100b05000000000000000000000000000000000002080d1113141f202020202020201d13120f0b06000000000000000000000000000000010406070c1013141617191a1c1c1d1e1e1e1e1e1e1d1b1a18161312100c0605020000000000000000000000000000000000000000000000030a0f1215152020202020201d1c1915100a0300000000000000000000060c1012131f2020202020191816120d07000000000000000000010910161b1e2020202020202020191816120d07000000000000000000000000000000000000000000000000000000060b1012131f202020202020201f1413110d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000307090e121415181a1b1d1e1e1e1e1e1d1c1b19171514120e09060400000000000000000000000000000000000000000000000000000000000000060c10121316191b1d1e1e1e1d1d1b191613120f0b060003080b0d0e13131313130c0b09060100000000000000000000000000000000000000000000000000000000000001080f14181a1b2020202020201f1f1c19140d06000000000000000000000000000000000000000000000000000000000000050b10141617202020202020201a1a17130e080100000000000000000000000000000000000000000000040a0f1315162020202020202020171614100b05000000000000000000060c11151718202020202020202020202020202020202020202020202020202020202020202020202020202020202020201d1c1a16110a03000000000000000000000000000000000000000000000000000000060b10121314141414141312100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e2021232321201d19130e0903000000000001080d13191d2021232322211e1a14100b05000000000000020a11171c1f20222322201f1c17110b0600000000000000000000060e151a1e21222b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2525221e181109010000000000000000000000000000000000000000000000000002080d1113141a1e2122242628292a2a2b2b2a2a2a292827252422201f1c171413110d070100000000000000000000000000060e151b1f21222d2d2d2d2d2d292826211b140c040000000000000000000000000000000000000000030a11171c1f202a2d2d2d2d2d2d2d2d2d1f1c17110a03000000000000000000000000000000000000000000000000000000060e161d23272a2b2d2d2d2d2d2d282724201a130b020000000000000000000000000000000000000000000000000000060e151b1f21222d2d2d2d2d2d2d2423201c161008000000000000000000000000000000050d13191e20212c2d2d2d2d2d2d2d2a201f1b17110a02000000000000000000000003080d111314181c1f202224262728292a2a2b2b2b2b2a2928272522201f1c1714110e08020000000000000000000000000000000000000000060e151b1f21222d2d2d2d2d2d292826211b140c0400000000000000030a11171c1f202b2d2d2d2d2d2625221e18120a01000000000000010a131b21272b2d2d2d2d2d2d2d2d2625221e18120a010000000000000000000000000000000000000000000000020a11171c1f202b2d2d2d2d2d2d2d2c20201d18130c04000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151a1e21222427282a2a2b2b2b2a2a2927262421211e1a1413100c070100000000000000000000000000000000000000000000000000040a0f11171c1f20232628292a2b2b2a29282623201f1c17110f0f14181a1b2020202020191815120d0600000000000000000000000000000000000000000000000000000000020b131a202427272d2d2d2d2d2d2c2b29251f181008000000000000000000000000000000000000000000000000000000000810171c2123242d2d2d2d2d2d2d2726241f1a130b020000000000000000000000000000000000000000070f151b1f22232d2d2d2d2d2d2d2d2322201c160f08000000000000000911181d2124252d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2926221c150d04000000000000000000000000000000000000000000000000020a11171c1f202020202020201f1c18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000070e151b1f252a2d2e30302e2d29241e1a140d05000000040c13191e24292c2d30302e2d2a261f1c160f0800000001090c141c23282b2d2f302f2d2c28231c17110a0200000000000000060f181f262b2d2e3737373737373737373737373737373737373737373737373737373737373737373737373737373732312e29231b13090000000000000000000000000000000000000000000000040b1013191d2021262a2d2e313334363737383837373636353332312f2d2b282321201d1813100b050000000000000000000006101820262b2e2f3939393939393635322d261e160c03000000000000000000000000000000000000030c151c23282c2d373939393939393939392c28231c150c0300000000000000000000000000000000000000000000000000040e1820282e3337383939393939393433302b251d140b0100000000000000000000000000000000000000000000000006101820262b2e2f39393939393939302f2c28211a110800000000000000000000000000050e171e252a2d2e3939393939393939372d2b27221b140b020000000000000000060b0f13191d202123292c2d2f313334353637373838383737363533312f2d2c2823201e19140f0a04000000000000000000000000000000000006101820262b2e2f3939393939393635322d261e160c030000000000030c151c23282c2d38393939393933322f2a231c130a00000000000009131c252c3337393939393939393933322f2a231c130a00000000000000000000000000000000000000000000020c141c23282b2d3839393939393939392d2c29241d160d04000000000000000000000000000000000000000000000000000000000000000000000000050b10161b1f22262a2d2e31333536373838373736363433312e2d2a25201f1d18120f0a0400000000000000000000000000000000000000000003090f151b1c23282c2d2f323436373838373634322f2d2b28221c1b1a1f2427272d2d2d2d2d2524221e1811090100000000000000000000000000000000000000000000000000010b141d252b303334393939393939393835302a221a1006000000000000000000000000000000000000000000000000000008121a22282d3031393939393939393433302b241d140b0000000000000000000000000000000000000007101920272b2e2f3939393939393939302f2c27211a1108000000000009121b22292e3132393939393939393939393939393939393939393939393939393939393939393939393939393939393939393635322d271f160d0300000000000000000000000000000000000000000000020c141c23282b2d2d2d2d2d2d2d2c28231c150c03000000000000000000000000000000000000000000000000000000000000000000000000000007101820262b30363a3b3d3c3a3935302a251f170f0500040d161e24292f35393a3c3d3b3a36312c272119110800020a131b1e262e34383a3c3d3c3a38342e28221c140b020000000000030e18212a31373a3b444444444444444444444444444444444444444444444444444444444444444444444444444444443f3e3a342d251b11070000000000000000000000000000000000000000050b10161b1e24292c2d31363a3b3e3f4143434444444444434342403f3d3c3a38342e2d2c29241d1c160f080000000000000000030e18222a31373a3c46464646464643413e3830281e140a0000000000000000000000000000000000000a151e262e34383a4446464646464646464638342e261e150a000000000000000000000000000000000000000000000000010c16202a32393f434446464646464641403c362f261d13080000000000000000000000000000000000000000000000030e18222a31373a3c464646464646463d3c38332c231a10050000000000000000000000020d1720293036393a4546464646464646433937332d261d140a000000000000020a11171c1f24292c2d2f34383a3c3e3f414243434444444444444342403e3c3a38342e2d2a251f1b160e09030000000000000000000000000000030e18222a31373a3c46464646464643413e3830281e140a00000000000a151e262e34383a4546464646463f3e3b352e251c12070000000005101b252e373e4346464646464646463f3e3a352e251c12070000000000000000000000000000000000000000000a141e262e34383a4546464646464646463a39352f281f160c01000000000000000000000000000000000000000000000000000000000000000000030a0f171c21272c2e31363a3b3e40424344444444444342413f3d3b3a36312d2c29241d1b160f0700000000000000000000000000000000000000060b151a20272b2e34383a3c3f41434444444443413f3c3938332d2b26252b303334393939393932312e29231b13090000000000000000000000000000000000000000000000000008131d262f363c40414646464646464644413b342c22180d0200000000000000000000000000000000000000000000000005101a242c33393c3e46464646464646413f3c362f261d10070000000000000000000000000000000000020b19222b32373b3c46464646464646463d3c38332b231a0f0500000006111b242d343a3d3e4646464646464646464646464646464646464646464646464646464646464646464646464646464646464643423e3831281f150a000000000000000000000000000000000000000000000a141e262e34383a3a3a3a3a3a3a38342e271e150b00000000000000000000000000000000000000000000000000000000000000000000000000071018222a32373b42464849494746413a36302921170e050d1620282f353a41454749494846423b38332b231a11080a141c252d30383f444649494946443f38332d261d140a000000000009151f2a333c424748515151515151515151515151515151515151515151515151515151515151515151515151515151514c4a463f372d23180d01000000000000000000000000000000000002090e161c21272c3035393a3e4246484a4c4e4f505151515150504f4e4d4c4a4846443f3e3a39352f2c27211a1108000000000000000a15202a343c434748535353535353504e49423a30261b10050000000000000000000000000000000006111c2630383f444650535353535353535353443f3830261c1106000000000000000000000000000000000000000000000006121d28323c444b4f515353535353534e4c4841382f251a0f03000000000000000000000000000000000000000000000a15202a343c434748535353535353534a48443e352c21160b000000000000000000000008131e29323a41464752535353535353535046443f382f261b110600000000020b141c22282b2f35393a3e404547494a4c4d4f4f50515151515151504e4d4b4946443f3b3936302c27211a150b06000000000000000000000000000a15202a343c434748535353535353504e49423a30261b100500000006111c2630383f44465253535353534c4b463f372e23180d020000000a16212c3740494f53535353535353534c4b463f372e23180d020000000000000000000000000000000000000006111c2630383f44465253535353535353524745403a31281d13070000000000000000000000000000000000000000000000000000000000000000060e151a22282d32383b3c4246484b4d4e505151515151504f4e4c4a4846423d3a39352f2c272119100b03000000000000000000000000000000020a111720262b3237383f4446494c4e5051515150504e4c4946443f3837312a363c404146464646463f3e3a342d251b11060000000000000000000000000000000000000000000000030f1a252f3841484c4e53535353535352514d463e342a1f14080000000000000000000000000000000000000000000000000b17222c363e44494a535353535353534d4c4741382f22190c02000000000000000000000000000000000a141d2b343d43474953535353535353534a48443d352b21160b0000010c18222d363f454a4b53535353535353535353535353535353535353535353535353535353535353535353535353535353535353504e4a433a31271c1105000000000000000000000000000000000000000006111c2630383f444647474747474644403930271c12070000000000000000000000000000000000000000000000000000000000000000000000040e18222a343c43474d5254565654524c46423b332920170d151f28323a41454c5154565655534d48443d352c231a0c0f1c262e373f424a505355565553504a443f382f261c1106000000020e1a26313c454d53555e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e585651493f34291e120600000000000000000000000000000000050d141a21272c32383a4145474b4d535557595b5c5d5d5e5e5d5d5d5c5b5a58575553504a4a4745413a38332b231a0f050000000000030f1b26313c464e53556060606060605c5a544c42382d211509000000000000000000000000000000020b17232e38424a50535d60606060606060605f504a42382e23170c00000000000000000000000000000000000000000000000b17232e39444e565c5e6060606060605b59534a41362b201408000000000000000000000000000000000000000000030f1b26313c464e53556060606060606057554f473e33281c1004000000000000000000010d1925303a444c52545f606060606060605d53504941382d22170b000000000a141d262d33383a4145474a4b51535557595a5b5c5d5d5e5e5e5e5d5c5b5a585553504a4746413b38322b262017110a0200000000000000000000030f1b26313c464e53556060606060605c5a544c42382d2115090000000c17232e38424a50535e6060606060595751493f352a1e12040000020f1b27333e49525a5f60606060606060595751493f352a1e1206000000000000000000000000000000000000000b17232e38424a50535e606060606060605f53514b433a2f24180d0100000000000000000000000000000000000000000000000000000000000006101820262b33393d4348494d5355575a5b5d5d5e5e5e5d5d5c5a595754534d4a4745403938322b221d150b0200000000000000000000000000030b141b222731373c43474a505356595b5c5d5e5e5d5c5b595653504a47433c3641484c4e53535353534c4a463f372d23180d01000000000000000000000000000000000000000000000814202b36414a53585a6060606060605f5d5850463b3025190d000000000000000000000000000000000000000000000004101c28333e48505557606060606060605a58524a41342b1e140a00000000000000000000000000000006111c262f3d464e5456606060606060606056544f473d33271c10040005111d29343f48505658606060606060606060606060606060606060606060606060606060606060606060606060606060606060605d5a544c43382d22160a00000000000000000000000000000000000000000b17232e38424a5053535353535353514a42392e23180c00000000000000000000000000000000000000000000000000000000000000000000000a15202a343c464e53575e616363615d56524d453b32291e141d27313a444c52555d606363615f57544f473e352c1e1518212e38404951545c60626362605c54504a42382d22170b04000006121e2b37424d575f616a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a65625b51463a2e221609000000000000000000000000000000080e171f252a33383d44484c525458575f61646667696a6a6b6b6a6a69696866656462605c545754514b48443d352b21160b000000000006121f2b37434e585f626c6c6c6c6c6c69665e54493e3226190d0000000000000000000000000000000a141d28343f4a545c606a6c6c6c6c6c6c6c6c6c5c544a3f34281c1003000000000000000000000000000000000000000000020e1b27333f4b5660676b6c6c6c6c6c6c67645d53483c3024180b00000000000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6c6c6361594f44382c20140700000000000000000005111e2a36414c565e616c6c6c6c6c6c6c6c6a605b53493f33271b0f03000006111c262f383f44464c525457555c606264666768696a6a6b6b6b6a6a6968666462605c5454524d48443d373127221b140b0300000000000000000006121f2b37434e585f626c6c6c6c6c6c69665e54493e3226190d000003101c28343f4a545c606b6c6c6c6c6c66635b51463b2f21160b000005121e2b37434f5a646c6c6c6c6c6c6c6c66635b51463a2f22160a00000000000000000000000000000000000003101c28343f4a545c606b6c6c6c6c6c6c6c6c605d554b4035291d110400000000000000000000000000000000000000000000000000000000020a1117222a31373e44494e5456575f61646668696a6b6b6a6a6969676664615e575753514b48433d342f271d1309000000000000000000000000030c151d262d333c43474e54545c60626567696a6b6b6a69676562605b54534e46424a53585a6060606060585651493f34291e1206000000000000000000000000000000000000000000000b1824303c48535c64676c6c6c6c6c6c6c6962584d4135291c1003000000000000000000000000000000000000000000000814212d3944505a61646c6c6c6c6c6c6c67645c52463d30261c110600000000000000000000000000000b17222d38424e5860626c6c6c6c6c6c6c6c6360594f44382c201407000915212e3a45505a62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e544a3e32261a0d0000000000000000000000000000000000000003101c28343f4a545c606060606060605c544a4034281c1004000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e585f62696e706f6d68615e574d443b302519242f39434c565d60676d6f706e696360594f473e30271c1f2933404a525b62666d6f706f6d66605b544a3f332821160b00000814212d3a47535f696e77777777777777777777777777777777777777777777777777777777777777777777777777777777726d62564a3e3125180b00000000000000000000000000010a111a202930363d44484f54565d606468696e717274767677777777777676757372706f6d666764605d55544f473d33271c1004000000000815212e3a47535f6a767979797979797670665a4e4135281c0f020000000000000000000000000006111c262f3844505c666d77797979797979797976665c5044382c1f120600000000000000000000000000000000000000000004111d2a37434f5c677277797979797979746f64594c4033271a0d0100000000000000000000000000000000000000000815212e3a47535f6a7679797979797979706b6155483c2f2316090000000000000000040d1a242d3946525e686d7879797979797979766c655b5044372b1f120500000b17222d38424a5053565d606467676d6f717274757676777777777777767573716f6d6665615e56544f47423c332d261d150c0300000000000000000815212e3a47535f6a767979797979797670665a4e4135281c0f020006121f2c3844505c666d787979797979726d63574b3d32271b0f01000613202d3946535f6c7679797979797979726d63574b3e3225180c00000000000000000000000000000000000006121f2b3844505c666d7879797979797979796d675d5145392c201409000000000000000000000000000000000000000000000000000000020b141b2227343c4347505558606267696e71737576777777777776757472706e696764605d55544f4641392f251a0f0400000000000000000000030c151e272f383f444e53586062666d6f727476777777777674726f6c66625f58534d535c64676c6c6c6c6c65625b51463a2e221509000000000000000000000000000000000000000000010d1a2733404c58646e747979797979797974695d5144382b1f1205000000000000000000000000000000000000000000000a1623303c4955616c7179797979797979746e64584e42382e23170b03000000000000000000000000030f1c28333f4a54606a6f7979797979797979706b6054483c2f221609000b1724313d4a56626c71797979797979797979797979797979797979797979797979797979797979797979797979797979797979797670665a4e4235291c0f0000000000000000000000000000000000000006121f2b3844505c666d6d6d6d6d6d6d665c5144382c1f120600000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f6a6f767b7c7c7a756e695e564c41362a1c2935404b555d686d747a7c7c7b77706b61594f42392e2326313b45525c636d72797c7c7c79726c665b50443d32271b0f03000815222e3b4855616e7b848484848484848484848484848484848484848484848484848484848484848484848484848484847f7265584c3f3225190c000000000000000000000000020b131c232c333b42464f54596063686d7175787b7d7f8182838484848483838281807f7d7b797674716d676360594f44382c201407000000000915222f3c4855626f7c8686868686868276695c504336291d1003000000000000000000000000000b17222d38424e57606d78838686868686868686786d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b77848686868686868174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7c868686868686867d7063574a3d3024170a00000000000000010c161f2b37434e58616d7a858686868686868683786c605346392d20130600030f1c28333f4a545b6063686d717477797c7d7f808282838484848484848381807e7c7976726e68636059534e443f382f271e150c03000000000000000915222f3c4855626f7c8686868686868276695c504336291d1003000713202d3a4653606d788586868686867f7266594f44382c1e1308000613202d394653606c79868686868686867f7266594c3f3326190c0000000000000000000000000000000000000713202d3a4653606d78848686868686868686796d6053473c31261a0e0000000000000000000000000000000000000000000000000000020b141d262d333f464e535a61646a6f74787b7e80818384848484848382817f7d7b7774706d67636059534b41372c201408000000000000000000000a151e273039414950585f626a6f74797c7f81838484848383817f7c79746f6a615e5758646e747979797979726d62564a3e3124180b000000000000000000000000000000000000000000010e1b2734414e5a67748086868686868686796c5f5246392c1f1306000000000000000000000000000000000000000000000b1724313e4a5764717d8686868686868680746a60544a3f34281f14090000000000000000000000030c19232b3844505b666f7c87868686868686867d7063564a3d3023170a000b1825323e4b5865717e868686868686868686868686868686868686868686868686868686868686868686868686868686868686868276695d5043362a1d10000000000000000000000000000000000000000713202d3a4653606d78797a7a7a7a796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a6f7c8387898986827b6e685e5246392e232c3945515d676d7a8186898988837d706b61544a4034282a36424d57636e737f85888988857f786c60594f44382c201307000915222f3c4855626f7b8891919191919191919191919191919191919191919191919191919191919191919191919191918c807366594d4033261a0d0000000000000000000000020b141d252e353e454d525960636b70757a7e8285888a8c8e8f909091919090908f8e8d8b8a888583817d7a76706b6054483c2f221609000000000915222f3c4855626f7b88939393938f8376695c504336291d1003000000000000000000000000050f1c28333f4a545f6a727f8c9593939393939386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b778491939393938e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8893939393938a7d7063574a3d3024170a0000000000000007121d2831394754606a74818e979393939393877c6f655b5044372b1f12050006121f2b3844505b666c70757a7d818486888a8c8d8e8f909091919191908f8e8d8b8885827f7b756f6b625f575049413930271e150b000000000000000915222f3c4855626f7b88939393938f8376695c504336291d100305111e2a36414c5664707d8a979393939184776b6054483a2f24190d010613202d394653606c798693939393938c7f7266594c3f3326190c000000000000000000000000000000000005111d2935414c5663707d8a969393939393988b7e7164574d42372b1c1106000000000000000000000000000000000000000000000000000a141d262f383f4451585f626c71767c8084888a8d8e909091919190908f8d8c8a8784817d79746f6b655d53483d3124180c00000000000000000006111c263039434b535b606a6e757c8185898c8e8f909191908f8e8c8985817c756e69615a67748086868686867f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d939393939285796c5f5246392c1f1306000000000000000000000000000000000000000000000a1623303c4955616c75828f9893939393877c6f665c50443b30251a0d04000000000000000000000b151e2a36414c56606c78839099939393978e81756b6054483c2f221609000b1825323e4b5865717e8b9393939393939393939393939393939393939393939393939393939393939393939393939393939393908376695d5043362a1d10000000000000000000000000000000000000000c1825323f4b5865727f86868686868275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000005111d2935414c56626f7c8690959699938f847a6e61544a4034282d3a4753606d79838e9299969590877d70665c5144382c2d3a46535f6973808b92979697928c81746b6054483b2f221509000915222f3c4855626f7b88959d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d998c807366594d4033261a0d00000000000000000000000b141d262e3740474f575e616b70767c82868b8f929797999a9c9d9d9e9e9d9d9c9c9b9998979892908d8a86827d7063564a3d3023170a000000000915222f3c4855626f7b88959f9f9c8f8376695c504336291d10030000000000000000000000050e1b242b3844505b666e7b86929fa79f9f9f9f9386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919e9f9f9a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b88959f9f9f968a7d7063574a3d3024170a000000000000010d18242f3943505a626f7c87939fa99fa1978d80746a5f53493f33271b0f03000613202d394653606c787d82868a8e90929997999a9b9c9d9d9e9e9e9d9d9c9b999798928f8b86827c756e6a605b534b433930271c12070000000000000915222f3c4855626f7b88959f9f9c8f8376695c504336291d10030714202d3946525e6875828f9ba99fa096897c6f63564c4135291d11040613202d394653606c7986939f9f9f998c7f7266594c3f3326190c00000000000000000000000000000000000713202d3946525e6875828e9ba99f9f9faa9c908376695f5346382d22170b00000000000000000000000000000000000000000000000006111b262f384149505b626a6f767d83898d919697999b9c9d9e9e9d9d9c9c9a999796918d8a85817c756f65594d4034271b0e0100000000000000050e17232e38424b555c656c727c82888d9297989a9c9d9e9e9d9c9a9897928d88817b716c636976838f9393938b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9a9f9f9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000814212d3944505a616e7b85929fa6a4999083786d60574d42362a1f160c01000000000000000007121d27303946525e68727f8b959f9fa69e92857a6d61594f44382c201407000b1825323e4b5865717e8b989f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9c908376695d5043362a1d10000000000000000000000000000000000000000c1825323f4b5865727e8b9393938f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000713202d3946525e6876828f989fa7a49f968e8174665c5144382c323f4c5965727f8c959fa3a7a0999184796d6053463a2d2e3b4855616e7b87939ea1a9a29f93897c6f6356493c30231609000915222f3c4855626f7b88959e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e998c807366594d4033261a0d0000000000000000000009121c262e384049515961696e757d83898f92999b9ea1a9a5a7a9a9aaaaa9a9aaa9a9a8a6a5aaa29f9d9a98928d8174675a4e4134271b0e010000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d100300000000000000000000020d17202a36424d57606c78839098a3aeacacaca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aca3968a7d7063574a3d3024170a00000000000004101d2935404b55616c76839099a4afa69e92857a6d60584e41382d22170b00000b1724313e4a5764717e8a8f92999a9d9fa3aba5a7a8a9a9aaa9a9a8a9a9a9a8a6aaa29f9c99928f89827b726c655c554b42392e23180d0400000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d10030814212e3b4754616e7a86929facb2a89b8e8174685d5245392c20150a0013202d394653606c7986939faca5998c7f7266594c3f3326190c00000000000000000000000000000000000714212e3a4754616d7a86929facacaaacab9f94887b6e61544a3f33281c0f0300000000000000000000000000000000000000000000050e17222d384149535b606d727c828a90959a9ea1a8a6a8a8a7a6a6a7a7a8a8a7a5a8a09e9a98928e898175685b4e4235281b0f02000000000000020d172028343f4a545c676d777f868f949a9fa2a9a7a7a5a3a3a3a3a4a9a29e9a938e867e736e677884919e9f988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000004101c28333e46525e69727f8b949faba0958c7f72695e52463e31281d130700000000000000000c18232e39424f59616e7a85929fa7aa9f948b7e71685e52473d33271c1004000b1825323e4b5865717e8b98a4acacacb4aeaba9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a99c908376695d5043362a1d10000000000000000000000000000000000000000c1825323f4b5865727e8b98a09c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a87949faab1afa89f9286796d6053463a2d333f49536a7683909da7afb1aba196897d7063564a3d30323f4c5965727f8c99a4adb3ada59a8e8174675b4e4134281b0e000915222f3c4855626f7b8891919191919191919191919191919191919191919191919191919191919191919191919191918c807366594d4033261a0d00000000000000000007101b252e38404a525b636b707b818990959b9fa3abababaaa6aba39f9e9d9d9c9d9d9e9fa3aba4a6a9a9aaa39a8d8174675a4e4134271b0e010000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d10030000000000000000000008141f29323b46535f69727f8b949faab4bfb9aca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000030c1a232c3945515d67717e8a949fabab9f948b7e71685d52463c2f261b110600000b1824313e4b5764717e8a979fa3abaaacaaa7a5aaa39f9e9d9d9c9b9c9c9d9fa2a9a6ababa39f9b948f867f776d675c544a4034281f160c01000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d1007131f2c38434e5865727f8c99a3afb8ac9f92867a6d6054473c31261b0f0013202d394653606c7986939faca5998c7f7266594c3f3326190c0000000000000000000000000000000006131f2b37434e5865727f8b99a3a7a09da0a7a6998c8073665b5044382b1f1308000000000000000000000000000000000000000000020d172027333f49535b656c747e868f949d9fa7abaca49f9d9b9a99999a9a9b9c9ea1a9a5a8aaa29f9a8f8276695c4f4336291c100300000000000009141f29333b44505c666d79818c92989ea6aba8a19e9b989696969698999c9fa29e98928a80736d7a8696a1a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000b17222a36424d57606c77839099a3a79f92867b6e615a50433a2f24180b0200000000000004101c2834404b54606b75818e97a2ada3988f82766c62564c41352b21160b00000b1825323e4b5865717e8b98a9b2bdb4aaa29f9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c908376695d5043362a1d10000000000000000000000000000000000000000c1825323f4b5865727e8b98a59c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000091623303c4956636f7d8996a6b0bcbaaea298887b6f6255483c2f3744505b657885929fabb8bdb2a9998c7f7266594c3f3334414e5b6774818e9aabb5beb6aa9d9083776a5d5044372a1d11000815222f3b4855626e7b858585858585858585858585858585858585858585858585858585858585858585858585858585857f7266594c3f3326190c0000000000000000040d19222d37404a525c646d737d858e939d9fa7acadaba7a09d9a97999291909090909191929996979a9c9fa2a99a8d8174675a4e4134271b0e010000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d1003000000000000000000050e1925303b44505a616e7b86929fa6b0bcc6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000a151e2a36424d57606d7984919ea6afa3999083786c60564c41342a1d140a0000000b1824313e4b5764717e8a97a4aba7a7a09d9a989698929190908f8f8f9090929796999ea1a8aca69e98928c81796d665c51443e31281e1308000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d100915222e3b4854606a7784919dabb5baaea2988b7e7265584e43372b1d120713202d394653606c7986939faca5998c7f7266594c3f3326190c000000000000000000000000000000000815212e3b47535f6a7783909daba0959095a0ab9e9184786c6053463a3024190d01000000000000000000000000000000000000000008141e29323b44505b656c77808b92989fa6aba69f9c9a93918f8d8d8c8d8e8e8f919795989b9fa2a99c8f8276695c4f4336291c10030000000000020e1a25303b45505a606d78828e939fa3aaa79f9d96918e8b8a89898a8b8c8f92989c9f9f928d80737c8895a8a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000050e1a25303b44505b656f7c86929fa8a2988f82756c61554b4035291d140a0000000000030d1a232c3845515c66707d89939ea9a79f92867b6e615a50443a30231a0f0500000b1825313e4b5864717e8b96a1adb9aea29892909090909090909090909090909090909090909090909090909090909090909090908376695d5043362a1d10000000000000000000000000000000000000000c1825323f4b5865727e8b98a59c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdbfb4aa96897c706356493d30394653606c7986939facb9c0b3a69a8d8073675a4d403435424f5b6875828e9ba8b5c1b7ab9e9184786b5e5145382b1e12000814212e3a47535f696e78787878787878787878787878787878787878787878787878787878787878787878787878787878726d63574b3e3225180c00000000000000010c161f2b343f49525c646e747f8892979ea5abaea9a29e9995908d8a8786848483838384848687898b8d8f9297989a8d8174675a4e4134271b0e010000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d10030000000000000000020c16202a36414d56626c76828f98a2aeb8b6b8bcaca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000006111c26303846535f6973808d96a1ada99f92877c6f655b50443a2f22190b020000000b1824313e4b5764717e8a97a19e9a9795918e8c8a888584848382828283848587898d91969c9fa6aaa39f938e82786d605a50433a2f24190d000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d10101d2935404b55626f7c8995a0acbdbfb4aa9d9083766a5f5347392e23180c13202d394653606c7986939faca5998c7f7266594c3f3326190c00000000000000000000000000000004101c2834404b54626f7c8895a0a79d9084909da7a196897d7063564c4135291d110400000000000000000000000000000000000000020e1925303b44505a606c77818d929fa3aaa69f9c948f8b868482818080808182838587898b8f92979a9c8f8276695c4f4336291c1003000000000005111e2a36424d57626c74818e949ea5aaa39f95908984817f7d7c7c7d7e8082858a90949e9c928b7e7e8a97a4a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000009141f27333f49535f6a73808c96a0aa9e938a7d70675d51453c2f261c1106000000010b151f2a36424d57606d7984919da5aba0958c7f72695f53483e32291e11080000000714212d3a4754606d7a84919ea5afab9f9286828383838383838383838383838383838383838383838383838383838383838383838174675a4e4134271b0e000000000000000000000000000000000000000c1825323f4b5865727e8b98a59c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000a1623303d495663707d8996a8b2bdbcb1a795897c6f6256493c2f3744505b657985929facb8c0b5ab998c807366594d403335424e5b6875818e9ba8b4c1b7aa9d9184776a5e5144372b1e110006121e2b37424d575f626b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b66635b51463a2e22160a0000000000000007121d28313d47515b646e74808c939aa2a9afaaa29f97928c8883807d7b7978777676777778797b7c7e808385888b8e8d8174675a4e4134271b0e010000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d1003000000000000000008131e28323a46525e68717e8b949faab1aba9abb1aca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000c17232e38424f59616e7b86929fa8ada1978d80746a5f53493f32281e1007000000000b1824313e4b5764717e8a9796918d8a8784817f7d7b797877767675767677787b7d80848990949fa2aaa59e948e81746c61564c4135291c12070000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d10131f2c3945515d6774818e9aa7b1b4b3b9ab9f95887c6f62554b4034281c1013202d394653606c7986939faca5998c7f7266594c3f3326190c00000000000000000000000000000006131f2c3845515c6674808d9aa7a095897c8995a0a89b8e8175685d5245392c20150a0000000000000000000000000000000000000005111e2a36414c56616c73808d939da4aba39f948f88827e7a777574737374747576787a7c7f8285898d918f8276695c4f4336291c100300000000000714202d3a46525e69717e8b939da6aaa298928b837d78747270707070717375797d838a92979f928683909ca9a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000020b17222d38414e58606d7984919aa4a59e9184796d60584e42382d22170b02000007121d27313946535e69727f8c95a0aca4999083786d60574d42362d20170c000000000713202c3945525d68707d8a939ea9ac9f92867c767676767676767676767676767676767676767676767676767676767676767676746e64584c4033261a0d000000000000000000000000000000000000000c1825323f4b5865727e8b98a59c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8896a1acb6b4ab9f95877a6d6154473a2e333f49536a7784919daab3b4afa3998b7e7164584b3e3133404d596673808c99a7b1b4b2a89c8f8275695c4f4236291c0f00020e1a26313c454d53555e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e595751493f352a1e1206000000000000010d18242f39434f59626d73808d929fa4acaea69f98928c85807b7773706e6d666a6a696a6a666c6e6f717376787b7e81848074675a4e4134271b0e010000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d100300000000000000040d1925303a44505a616e7b85929fa6afa79f9d9fa7b1a09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000003101c28343f4a54606b75828f98a3aea69e91857a6d60584e41382d20160c00000000000b1824313e4b5764717e8a8e8984817e7a777472706e6c666a6a696869696a696e7073787c838b9298a2aaa69e938b7e71685d5245392e23180c0000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d1014202d3a4753606d7985929fabaea8a6acafa79a8d8074675c5145382c1f1409202d394653606c7986939faca5998c7f7266594c3f3326190c0000000000000000000000000000000713202d3a4653606d7985929eaa9d91847784909daa9f92867a6d6054473c31261b0f000000000000000000000000000000000000000714202d3946525e68717e8a929ca5aba399928c827c76716d686867666667676869686d6f7275797c80858a8276695c4f4336291c10030000000006121f2b37434e58616e7b86929fa5aea29892867f76706c6565636363636566676d70767e859196989290949faba5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000006111b262f3c45515c676f7d88939fa9a1968d80736a5f544a3f33281f140800000c18242f3943505a616e7b86929fa8a89f93877c6f665c50453c31241b0e050000000004111d2935414c56616b75818e97a1ada3999083796d6969696969696969696969696969696969696969696969696969696969696967645c52473c3024170b000000000000000000000000000000000000000c1825323f4b5865727e8b98a59c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697884919ea4acaaa39d908377685e5246392d2d414d5a6774808d98a2aaa7a59f92867b6e6154473b2e303d495663707c89959fa7a7a8a0968b7f7265584b3f3225180c00000915202a333c424748525252525252525252525252525252525252525252525252525252525252525252525252525252524c4b463f372e23180d0200000000000004101d2935404b55606b727f8b929da4afada49d948f867f7a736e69676461605c545d5d5d545b606163646769696e7175787a6d6054473a2d211407000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d1003000000000000010c161f2a36414c56616c75828f97a2ada59e9590959faba09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000040e18222c3844505c66707d89939eaaab9f948a7e71675d51463c2f261b0d0400000000000b1824313e4b5764717e85817c7874716e6867656361605b545d5c5c5c5d575e6163666b6f767e869298a2aea59e92857a6d60544a4034281c100400000915222f3c4855626f7b8895a2a99c8f8376695c504336291d121e2a36424d5764717e8b98a2aea49c999fa4ac9e9285796d6053463b31251a0e202d394653606c7986939faca5998c7f7266594c3f3326190c000000000000000000000000000005111e2a36414d5664717d8a97a1a99a8d8073808d99a8a3988b7e7265584e43372b1c1207000000000000000000000000000000000006121f2b37434e58616e7a85929ea4aea39992877f766f6a64615e565a5a595a5b5b565d606265666d6f73797d7f7265594c3f3226190c00000000000814212e3a47535f6a74818e98a2aea59f92867d726d63605b535756565758555c60646c717b8491989f9c9fa6b0a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000a141d2834404b55606b74818e97a1a89f92877c6f665b50443b3025190d0304101d2935404b55616c75828f98a2ada1968d80746a60544a3f332a1f12090000000000010d19242f3a444f59616d7a85919ea5aba0958c80736a5f545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5a58524a41362b1f1408000000000000000000000000000000000000000c1825323f4b5865727e8b98a59c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b939a9a9a98928a7d7063564c4135292e3b4855616e7b8692989a9a99938d8074695e52463a2d2f3b4854606b768390959a9b9a969184796d6053473a2d2014070000030e18212a31373a3b454545454545454545454545454545454545454545454545454545454545454545454545454545453f3e3a352e251c1107000000000000030e18212c3945515d676f7d87929fa4aeada39c928d827b726d67615f57575453504a5050504a50535456585a575f616568676d675d5145392c201306000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d100300000000000008131e28313a46525e68717e8a939ea9a99e938e83909da9a09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000a15202a36414c56606d7883919da5aea3998f82766c61554c41342a1d140a0000000000000714212d3a4754606d7a79746f6c6564615e5659575553504a504f4f4f504d5254565960636c717d86929fa5ada2978c8073665c5144382c1f120600000915222f3c4855626f7b8895a2a99c8f8376695c504336291d14212d3a46535f697683909caaa99c928d939aa4a1978a7e7164574d42362a1c11202d394653606c7986939faca5998c7f7266594c3f3326190c00000000000000000000000000000714202d3946525e6875828f9ca9a197897c6f7c8996a1aa9d9083776a5f5347392e23180c00000000000000000000000000000000000815212e3a47535f6a75818e97a2ada59f92877e726d625f5854524c4e4d4d4d4e4f4c525456545c6062666d70726d62564a3e3125180b0000000004101d2935404b55626e7b87939faaaa9d938a7e716b625b5350494a49494a4b4b51535a61696e7b86929fa7abb0b2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000020b18232e39434f59606d7a85919ea6a3999083786c60564d41362a1f150b0d1b242c3945515d67707d8a949eaaa59e9184796d60584e42382e21180e0000000000000008131e28323e46525d68707d8a939ea9a79f92877c6f665c505050505050505050505050505050505050505050505050505050504e4c4741382f241a0e0300000000000000020507080a0a0a0a0a0a0a0a0c1825323f4b5865727e8b98a59c8f8275695c4f4236291c0f0a0a0a0a0a0a0a0a090907030000000000000000000000000000000000000000020e1a26313b4a56626d7380878c8e8d8b867f726b6155443a30252d3a46535f69707d858b8d8e8c8881796d60574d42362a2c38444f59616e7b838a8d8e8d8a847b6e675d5145392c201306000000060f1820262b2e2f3838383838383838383838383838383838383838383838383838383838383838383838383838383833322e2a231c130a000000000000000915202b37434e58606d79849199a3aeaea49c918c80786e69605d55534d4a4846443f4343443f444648494b4d4d535558555d605d554c4135291d1104000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d10030000000000030d19242f3a434f59616d7a85929ea5ada2978e817f8b98a5a09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00030d1b26323946525e68727f8b95a0aca89f92877c6e625a50433a2f22180b020000000000000713202c3945525d686d6d6763605b5354524c4c4a4846443f43434243434246474a4f545a616b707e8a939eaaa99e9185796d6053463a2d20130700000915222f3c4855626f7b8895a2a99c8f8376695c504336291d1c28333f4a54616e7b87939faca2978d8088939fa99c8f8276695e5346382d2217202d394653606c7986939faca5998c7f7266594c3f3326190c00000000000000000000000000000814212e3b4754616e7b86929fab9e9285796c7884919eab9f95887c6f62544a4034281c100400000000000000000000000000000005111d2a36414c56626f7c87939fa9aa9e938b7e716c625b534e474641414040414142414547494a5053545c606365625b51463a2e221609000000000613202c3945515d6774818e9aa4aea2988e81746c61595146443f3d3d3d3d3e40454650575f69717e8b95a0acb8b2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000007121d27303d45525d68717e8a949eaa9f958b7f72685e52463e31271d1216202b37434e58606d7984919ea6a99e938a7d70675d51463d30261c0f0600000000000000010c16202935414c56616c75818e97a1ada3999083786d60584e424343434343434343434343434343434343434343434343434341403c362f261d130800000000000003090e1214151717171717171717171825323f4b5865727e8b98a59c8f8275695c4f4236291c1717171717171717171615130f0a040000000000000000000000000000000000000009141f2e3a45515b646e737c7f81817f7b726d62594f4432281e2b37424d57616b707a7e81817f7c756d675c51453b302527323d46525e696e787d8081807d786e695f554b4035291d100400000000060e151a1e21222b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2625221e18110a01000000000000020e1a26313a47535f6a73808d96a1abb0a69c928c7f746d665e57514b47423d3b3a38342e362d3338393b3c3e404246484b4c5154514c433a2f24190d01000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d100300000000010b151f2935414c55616b75818e97a1ada69e92857a7f8c99a5a09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a010b151f2b37434e58616d7a85929fa7ada1968d80736a5f53483e31281e10060000000000000004111d2935414c565d60605c555350494746413f3d3b3938332d36353630363a3b3d43485059616c75818e9ba8ada1978a7d7063574a3d3024170600000915222f3c4855626f7b8895a2a99c8f8376695c504336291d1f2b3844505b6673808d9aa4ab9e928579828f9ca99f93877b6e61544a3f33281c202d394653606c7986939faca5998c7f7266594c3f3326190c0000000000000000000000000007131f2c38434e5866727f8c99a3a99a8e81746674808d9aa8a79a8d8073665c5144382c1f14080000000000000000000000000000000713202d3946525e6875818e9aa4aea2988e81756c625a5147433c393530333334342f35393a3c3f44464a505357595651493f35291e1206000000000714202d3a4753606d7a86929facac9f92867a6d615a50473f37332d3030302e34383e454d57606d7884919dabb5b2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000b151e2935414c56616c75828f98a2a79f92857b6e61594f43392f24181e28323a47535f6a73808d96a1aca2978e81756b61554b40342b1e150a000000000000000000040d1924303a44505a616d7a85929ea5aba0958c7f736a5f544a3f3436363636363636363636363636363636363636363636363433302b241d140b010000000000050d141a1e21212424242424242424242425323f4b5865727e8b98a59c8f8275695c4f4236292424242424242424242423221f1b160f0700000000000000000000000000000000000003111d29343f48525c646a6f737474726e69625b51473e33201a26313c454f5961686d727474736f6a605c554b4033291f212a36424d575e666d70737473706d665f574d43392f24180d01000000000003090e1214151f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f191816120d07000000000000000006121e2b37424e57626f7c87929fa8b2a99e948d80736d605c544d45403a37312e2d2b28232a22282b2d2e303131363a3b3e41454745413a31281e130800000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d10030000000007121d27313945515d67707d8a939ea9aa9e948b7e73808d99a6a09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a07121d27313947535f6a74818e97a2ada69e9184796d60584e43362c1f160c0000000000000000010d1924303a444c525453514b46443f3b393630302e2d2b2822292929252a2d2e32383e47505a626f7c8996a1aca99a8d8073675a4d402e23170c00000915222f3c4855626f7b8895a2a99c8f8376695c504336291d202d394653606c7884919eaca79a8d80747e8a97a2a4998c7f73665b5044382b1f202d394653606c7986939faca5998c7f7266594c3f3326190c000000000000000000000000000915222e3b4854606a7784919daba197897d70636f7c8996a1ab9e9285796d6053463b3025190d0100000000000000000000000000000714212e3a4754616d7a86929facab9f92857a6d615a50483f37322d29252726272824292c2d2e34383a3f44464a4c4a463f372d23180d01000000000b1724313e4a5764717e8a98a2aea79a8d8073685e52483e352b272223232423282c333c44505c66727e8b99a3afb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000030c19242f3a44505a616e7b86929fa7a2988e81756b61554b4035291d242f3a44505a626e7c87929fa8a69f92857a6e61594f433a2f22190c030000000000000000000008131e28323e46525e68717e8a939ea9a79f92867c6f665c50443c2f262a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2726241f1a130b020000000000050f171f252a2d2e3030303030303030303030323f4b5865727e8b98a59c8f8275695c4f42363030303030303030303030302f2c27211910070000000000000000000000000000000000010c18232d36404a52585f6266676765615e5651493f352c21141f2a333e474f565e6165676766626058514b43392f20171a25303b454d545c606467686764605c544d453c31281d1207000000000000000002060808121212121212121212121212121212121212121212121212121212121212121212121212121212120c0c0a06020000000000000000000814212e3a47535f6a75818e99a3afada1978f82776c605b504a423b352f2b2621201f1c171d171c1f20212325262a2d2e2f35393a39352f281f160c0100000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d1003000000030c18242f39434f59606d7a84919ea5aea2988f827674808d9aa7a09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0c18242f3943505a626f7c87939fa9ab9f948a7e71675d51463c31241a0d0400000000000000000008131e28323a4145474645403937332d2d2a252422201f1c171c1c1c1a1e2021272c353e4754606a7884919eaba99c90837669544a3f34281c1003000915222f3c4855626f7b8895a2a99c8f8376695c504336291d2935414c5663707d8a96a1aba095887c6f7985929fab9e9184786c6053463a3025192d394653606c7986939faca5998c7f7266594c3f3326190c00000000000000000000000004101d2935404b55626f7c8995a0ab9e9285796d606c7884919eaba1978a7d7064564c41362a1e11050000000000000000000000000004101d2935404b5565727f8b99a3aea3998c8073685e52483f362b26201d191a1a1a1b191d202123282b2e34383a3d3f3e3a352d251b11070000000006121e2b37424d576875818e9baaaca095887b6e62564c41362c231b17161617181c2128343f4a54606d7a86929facb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000008131e28323e46525e69727f8b959faa9e938a7d70675d51453c2f262935414c56616c76828f99a3ab9f948b7e71685e52473e31281d10070000000000000000000000020c16202a36414c56616c75828f97a2ada3999083786d60574e42382d22171d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1b1a17140e08010000000000030d17212931363a3b3d3d3d3d3d3d3d3d3d3d3d3d3f4b5865727e8b98a59c8f8275695c4f423d3d3d3d3d3d3d3d3d3d3d3d3c3b38322b23190f04000000000000000000000000000000000006111b242e3840464e5355595b5a5854524d443f372d231a1018212c353e444c5254585a5b5955544e45403931271d0e141f29333b424a5053575a5b5a5753504a423c332a1f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55626e7b87939fabb1a79e91857a6d655b50443f383029241d1a151312100b060b0f12131516181a1e212224292c2d2c29241e160d040000000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d10030000000b151e2935404b55606b74818e96a1ada69f92867b6e74818e9ba7a09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a101d2935404b55616c76829099a4aea3998f82766c61554b40342a20120900000000000000000000020c1620283035393a3a38342e2b2722201e19171513120f0b060f090e1114141b232b37434e586875828e9ba8ab9e928578665c5044382c1f1206000915222f3c4855626f7b8895a2a99c8f8376695c50433629202d3946525e6875828e9ba8aa9d9083776a74808d9aa7a196897d7063564c4135291d2d394653606c7986939faca5998c7f7266594c3f3326190c00000000000000000000000006131f2c3845515d6774818e9aa8a99a8e8174665c6573808d99a7a99b8f8275685e5246392d20150a000000000000000000000000000613202c3945515d6776828f9cabac9f92867b6e61564c41362d241b1616161616161616161616171c1f23282b2d3032312e29231b130900000000000814212d3a47535f697885919eabaa9d908377695f53443a30241a0f0b060a070c1017232e3845525d687683909ca9b2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000010c16202a36424d57606c78839099a3a59e9184796d60584e41382d2f3845525d68717e8b949faba3999082776c60564c41352c1f160c00000000000000000000000000040e1925303a44505a616e7a85929ea6ab9f958c7f726a5f544a3f33281d140a10101010101010101010101010101010100e0d0b08030000000000000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4b5865727e8b98a59c8f8275695c4f4a4a4a4a4a4a4a4a4a4a4a4a4a4948433d352b21160a00000000000000000000000000000000000009121c262e343c4347484c4e4e4c4746423b322d241b11080f1a232c323a4146474b4e4e4c4947433c342f271f150b0d17202930383f44464a4d4e4d4a46443f38302a21180d0400000000000000000000000306080913131313131313131313131313131313131313131313131313131313131313131313130f0e0c0804000000000000000000000006131f2c3845515c6774818d99a4afab9f958a7e71685d53493f342e261e18130e090706030000000306060809090e121415191d2021201d19130c04000000000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d1003000007121d27303945515d67707d88939fa8aa9f948b7f726975828e9ba8a09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170c19232c3945515d67717e8a949faba89f92867b6e625a50433a2f22180e000000000000000000000000040e161e24292c2d2d2c28231f1b1714110d0808060603000002000205070a111b2732414d5a6774808d9aa7ada19786796d6053463a2d201307000915222f3c4855626f7b8895a2a99c8f8376695c50433629212e3a4754616d7a86929faca3988b7f72656f7c8895a0a89b8e8175685e5246392d202d394653606c7986939faca5998c7f7266594c3f3326190c0000000000000000000000000714202d3a4753606d7985929faba197897c706354626f7c8895a0ac9f92867a6e6154473d32271b0f010000000000000000000000000714202d3a4753606d7a86929faca99c8f8276695e52443a3023232323232323232323232323232323232323232324262322211f1b150e06000000000815222e3b4855616e7b8897a1ada6998d807366574d4232291e1208000000000006111c2935414c566673808d99a6b2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000040d1a25303b44505b666f7c87929fa8a1968d80736a5f53493f3338424e58606d7a85929ea6a79f92867b6e655b50443b30231a0d04000000000000000000000000000008131e29323e46525e68717e8b949ea9a79f92867b6e665b50443c2f261b1106000303030303030303030303030303030100000000000000000000020e1a25313b454d535457575757575757575757575757575865727e8b98a59c8f8275695c575757575757575757575757575756544f473d32271b0f030000000000000000000000000000000000000a141c222a31373a3c4041413f3b3a363029201b12090008111a20283036393a3f4141403c3b373229231d150d03050e171e262e34383a3d4041403d3a38342e261e180f0600000000000000000000030a0f12151520202020202020202020202020202020202020202020202020202020202020202020201c1b18140f09020000000000000000000713202d3a4653606d7985929fabb1a79d9083766c61564c41382d231c140c070100000000000000000000000000020507080d11131413110d080100000000000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d100300020c18232e39424e58606d7984919aa4aea2989082776c6976828f9ca9a09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302417141e2a36424d57606d7984919ea6aca1968d8073695f53483e31281d0f0600000000000000000000000000040c13191d2021201f1c18120f0b060501000000000000000000000000000a192633404c5966737f8c99a6b3a993877a6d6054473a2d211407000915222f3c4855626f7b8895a2a99c8f8376695c504336292b37434e5865727f8b99a3ac9f92867a6d606a7783909daa9f92867a6d6154473c32272d394653606c7986939faca5998c7f7266594c3f3326190c000000000000000000000005121e2a36424d5764717e8a98a2ab9e9185786c60535f6a7784919daca3998c7f7265584e43372b1d1207000000000000000000000000091623303c4956636f7c8999a3aeab988c7f7265574d4232303030303030303030303030303030303030303030303030302f2e2b26201810060000000b1724313e4a5764717d8a97a9b3aa968a7d7063574a3d3124170c000000000000000d19242f3e4a5764717d8a97a4b0a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000009141f28333f4a545f6a73808c96a0a89f92877c6f655b50443a3f4a54606a74808d97a1aca0958c80736a5f53493f32291e1108000000000000000000000000000000020c17202a36414c56616c75828f97a2ada3989083786c60574d41382d22170b02000000000000000000000000000000000000000000000000000005121e2a36424d575e6163636363636363636363636363636365727e8b98a59c8f8275696363636363636363636363636363636360594f43382c1f1307000000000000000000000000000000000000020a101820262b2e2f333434322e2d2a251f170e09000000080e161e252a2d2e323434332f2e2b272018120b030000050c141c23282b2d31343534312d2c28231c150c0600000000000000000000060e151b1f21222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282725201a130c0300000000000000030f1c28333f4a5464717d8a97a2adaca0958a7d70635a50443a2f261b110a020000000000000000000000000000000000000001040607060401000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d1003000a141e2834404b54606a73808d96a0aca79f92867b6e65697683909ca9a09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024171c26303846535e6973808c96a1ada69e9184796d60574d42362c1f160c00000000000000000000000000000002080d1113141313100c0703000000000000000000000000000000030911192733404d5a6673808d99a6afa399877a6d6054473a2d211407000915222f3c4855626f7b8895a2a99c8f8376695c504336292e3b4754606a7783909daba89b8e8175685d65727e8b98a2a3988b7f7265584e43372b2d394653606c7986939faca5998c7f7266594c3f3326190c00000000000000000000000714212d3a46535e6976828f9caaa89a8d8074665b505866737f8c9aa4ab9d9084776a605447392f23180c0000000000000000000000000c1925323f4c5865727f8b98abafa399897c6f6256493c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b37322a22180e0400000d192633404c5966737f8c99a6aea298877a6e6154473b2e211408000000000000000815222f3c4855626f7b8895abb5a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000020b17222d38424e58606d7984919aa4a3999083776c60564c4144505b666f7c87939fa9a49a9183796d60574e41382d20170d0000000000000000000000000000000000050e1925303b44505a616e7b85929fa6aa9f958c7f72695f53493f33271d140a00000000000000000000000000000000000000000000000000000714212d3a46535e696e70707070707070707070707070707070727e8b98a59c8f8275707070707070707070707070707070706f6b6054483b2f2215090000000000000000000000000000000000000000060e151b1f21222628272521201e19140d050000000000050c13191d20212527282622221f1b150c070100000000020a11171c1f202427282724201f1c17110a030000000000000000000006101820262b2e2f39393939393939393939393939393939393939393939393939393939393939393939393534312c251e150c0200000000000006121f2b3844505b6675828e9ba9b3ac9d9184786c6053463e32281d140a00000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d100006111c26303845515c666f7c87939fa8ab9f958c7f72695f6a7783909daaa09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302423232e38424f59616e7b86929fa8aa9e948a7d70675d51453c31241a0d040000000000000000000000000000000000010407070706040000000000000000000000000000000002090e141a232b37434e586875818e9ba8ac9f928679685d5245392c201306000915222f3c4855626f7b8895a2a99c8f8376695c5043362934404b55626f7c8895a0aca196897d706356606d7a86929faa9d9083776a605447392f24394653606c7986939faca5998c7f7266594c3f3326190c00000000000000000000030f1b27333f4953616e7b87939faca096897c6f62544a54616e7b87939faca095897c6f62554b4034291c100400000000000000000000000e1b2834414e5b6774818e9aa7ac9f9286796d6053494949494949494949494949494949494949494949494949494949494847433c342a20150a00000f1b2835424e5b6875818e9ba8ac9f928579695e52463a2d201407000000000000000714212d3a4754606d7a8799a3afa5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000006111c262f3c45515c67707d88939fa99f948b7e71685e52464c56606c78839099a4a99f93887d6f665c51453c2f261b0e0500000000000000000000000000000000000008141e29323e46525e69717e8b949faaa79f92867b6e655b50443b2f261b1106000000000000000000000000000000000000000000000000000815212e3b4854616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d808d9aa79d90837d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d6f6356493c30231609000000000000000000000000000000000000000000030a0f121515191b1b191414110e09020000000000000002080d111314181b1b191615130f0a040000000000000000060b101213171a1b1a171312100c060000000000000000000000030e18222a31373a3c464646464646464646464646464646464646464646464646464646464646464646464642403d372f271e13090000000000000613202d394653606c7985929eabafa49a8c7f72655b5044372c20160b0200000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d10020b17232e38424e58606d79839099a4aea3999083786d60576b7784919eaaa09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30303030343f4a54606b75828f98a3aea3988f82756c61554b40332a201208000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f14191f252a353d47535f6a7784919daaab9e9185786b564c4135291d1104000915222f3c4855626f7b8895a2a99c8f8376695c5043362c3845515c6774818d9aa7ac9e9184786c60535d6875818e9ba8a095887c6f62554b403529394653606c7986939faca5998c7f7266594c3f3326190c0000000000000000000005121f2b3744505b6573808c9aa4aa9e9184776a605446535e697683909caba79a8d8174675c5145382c1f140900000000000000000000000f1c2936424f5c6975828f9ca8aa9e918477675c565656565656565656565656565656565656565656565656565656565655534e463c32261b0f0300101c2936434f5c6976828f9ca9aa9d9084776a564d42362a1e1105000000000000000613202d394653606c7986929faca5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000000000a141d2834404b55606b74818e97a1a69f92857a6d61594f525e68727f8b959faba1978e81746b60544b40332a1d140a00000000000000000000000000000000000000020d17202a36424d57626c76828f98a2aea2989082776c60574d41382d22170b030000000000000000000000000000000000000000000000000c1925323f4c5865727f8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8d929da99f95908a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a83776a5d5044372a1d110000000000000000000000000000000000000000000000030608090d0e0e0c080705020000000000000000000000010507070c0e0e0d090806030000000000000000000000000306070a0d0e0d0a070603000000000000000000000000000a15202a343c43474853535353535353535353535353535353535353535353535353535353535353535353534f4d4841392f251a0f0400000000000916222f3c4955626f7c8897a1adac9f93877b6e6153493f33271b0e040000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d100a141d28343f4a545f6a73808c95a0aba79f92867c6f665c5e6b7885919eaba09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3d3d3d3d3d44505c66707d89939eaaa89f92867b6e615a5043392f21180e0000000000000000000000000000000000000000000000000000000000000000000000000001070c10151b1f252a31363f474f59626e7b8895a0aca99d9083766a5d50432f24190d01000915222f3c4855626f7b8895a2a99c8f8376695c5043362d3a4753606d7985929faba49a8c7f73655b505663707c8996a0a79a8d8174675d5145382c394653606c7986939faca5998c7f7266594c3f3326190c000000000000000000000613202d394653606c7884919eaca6998c7f7366584e434d5765727e8b99a3ab9f9285796d6053473b31251a0e0000000000000000000000111e2a3744515d6a7784909daaa99c8f837669636363636363636363636363636363636363636363636363636363636363625f584e43372b1f120600111e2a3744515d6a7784909daaa99c8f8376695c50433025190e020000000000000005121f2b3744505b657885929eaba5988b7f7265584c3f3225190c000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ac9f9285796c5f5246392c140a00000000000000000000000000000000000000000000000000000000000000000000020b18232e39434f59606d7a85919ea6a2978e81756b605559616e7a85929fa7a69e91847a6d60594f42392e21180b020000000000000000000000000000000000000000050e1a25303b45505a616e7b86929fa6aa9f948b7f72695f53493f33271f14090000000000000000000000000000000000000000000000000c1925323f4c5865727f8b969696969696969696969696969696969a9da4aea79f9d969696969696969696969696969696969083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c464e535560606060606060606060606060606060606060606060606060606060606060606060605b59534b41372c20140800000000000c1926323f4c5965727f8c98a9b3aa9d908377695e5341382d221709000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d06111b262f3844505c666f7c87929fa7aba0958c7f736a5f545f6b7885929eaba09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a4a4a4a4a4a4a4c56606d7883909da5aca0968c8073695f53483e31271d0f060000000000000000000000000000000000000000000000000000000000000000000002050a0f12181d1f262b30363b42465059616b74818e9ba8b1a9998d8073665a4d4033271a0800000915222f3c4855626f7b8895a2a99c8f8376695c50433636424d5764717e8a97a2ac9f93877b6e61534953606c7884919eab9f9285796d6053473c31394653606c7986939faca5998c7f7266594c3f3326190c00000000000000000004111d2935414c5563707d8996a1ab9f94887b6e6155483d4754616d7a86929faca2978a7e7164574d42362a1b110600000000000000000000121e2b3845515e6b7884919eaba89b8f82756f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6a5f53473b2e21150800121e2b3845515e6b7884919eaba89b8e8275685b4f4235281c090000000000000000030f1b27333f495e6b7885919eaba5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000e1b2734414e5a6774818d9aa7ac9f9285796c5f52462f261b11060000000000000000000000000000000000000000000000000000000000000000000007121d27303d45525d68717e8a949ea99e93897d70675c606b75818e97a2aa9e948a7e71685d52473d30271d0f060000000000000000000000000000000000000000000009141f29333f46525e69727e8b949faaa69f92867b6e655b50443b31251a0f0500000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a7a9aeb6b1aba9a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0c0e10101111111110100e0c0b08070502000000000000000000000000000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c68655d53483d3125180c00000000030f1c28333f4a546874818e9ba7b3a79a8d807467574d422f261b1106000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d0b17222d38414d57606d78839099a3aea3999083786d60584e5f6c7985929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d70635756565656565656565e68727f8b95a0aca69e9184796d60574d42362c1f150b00000000000000000000000000000000000000000000000000000000000000000002090e11161b1d24292c32373b42464d535a626b707d88939facada197897d7063564a3d3023170a00000915222f3c4855626f7b8895a2a99c8f8376695c5043363a46535e6976828f9ca9a99c8f8276695e5344505b65727f8c99a3a2978b7e7164574d4237394653606c7986939faca5998c7f7266594c3f3326190c0000000000000000000613202c3945515d6775818e9ba8ab9c908376695f53463a46525d6875828f9ba9a99c8f8276695e5346382d22170b00000000000000000000121f2c3845525f6b7885929eaba99c8f827c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6f6255483c2f22150900121f2c3845525f6b7885929eaba89b8e8175685b4e4235281b0f0200000000000000000b17222d45515e6b7884919eaba5988b7f7265584c3f3225190c00000000000000000000000000000000000000000007121e2a36424d576774818d9aa7ac9f9285796c594f41382d22170b00000000000000000000000000000000000000000000000000000000000000000000000b151e2935414c56616c75828f98a2a59e9184796d6066707d89939ea9a2988f82756c61564c41352b1e150b0000000000000000000000000000000000000000000000020d17202a36424d57606c77828f98a2aea2988f82776c60574d42362a21170d02000000000000000000000000000000000000000000000c1925323f4c5865727f8b989c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9ea0a8b2a9a29f9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000010406090e12141517191b1c1d1e1e1e1e1d1c1b19171514120e09060401000000000000000000000000000000000000000000000000000815212e3a47535f6a767979797979797979797979797979797979797979797979797979797979797979797979756f65594d4034271b0e0000000006121f2b3844505b667783909daab4aa978a7d7064574a3d3124140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d0f1b27333f49535f69727f8c959faba89f92877c6f665c51535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063636363636363636363636d7a85929fa7aa9e938a7d70675c51453b31241a0d0300000000000000000000000000000000000000000000000000000000000000040a0f14191e20272c2f35393c43474d52575e616c717d86929aa4afa99e9185796d6053473a2d20140700000915222f3c4855626f7b8895a2a99c8f8376695c5043333f4953616e7b87939faca2978a7e7164574d424953616e7b86929fa99c8f8376695f5346382e4653606c7986939faca5998c7f7266594c3f3326190c0000000000000000000714212d3a4754606d7a86929faca3998b7e7265574d4236414c5664717d8a97a2ac9f93877b6e6153493f33271b0f03000000000000000000121f2c3945525f6c7885929fabaa9e948f898989898989898989898989898989898989898989898989898989898989898983776a5d5044372a1d1100121f2c3945525f6c7885929faba79a8e8174675b4e4134281b0e010000000000000000061e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c0000000000000000000000000000000000000000020b19232d3a46535e6975818e9ba8ac9f9285796b6053493f33271d120700000000000000000000000000000000000000000000000000000000000000000000030c1924303a44505a616e7b86929fa7a0968c80736a6d7984919da5a79f92867b6e615a50433a2f23190c03000000000000000000000000000000000000000000000000050e1a25303b44505b656e7b86929fa6aa9f948b7e72695e53463f33291f1409000000000000000000000000000000000000000000000c1925323f4c5865727f8b909090909090909090909090909090909196a0aca29792909090909090909090909090909090909083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000001080d1113141a1e2122242628292a2a2b2b2a2a2928262422211e1a1413100d070100000000000000000000000000000000000000000000000915222f3c4855626f7b86868686868686868686868686868686868686868686868686868686868686868686868175685b4f4235281c0f000000000613202d394653606c7985929facaea298887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291d1b242b3744505b656e7b86929fa7aca0968d80736a60544a53606c7986939faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d70707070707070707070707074808d97a2ada2988f82756b61554b40332a1f1109010000000000000000000000000000000000000000000000000000000000040a0f151b1f252a2d3238394045474e53565e61696e757e869298a2acaba1978c7f72675c5145382c1f130600000915222f3c4855626f7b8895a2a99c8f8376695c50433744505b65737f8c99a4ab9f9285796d6053463b46525e6975828f9ca99f94887b6e61544a3f344653606c7986939faca5998c7f7266594c3f3326190c000000000000000006121e2b37424e5765717e8b98a2ac9f92867a6d6154473b313a4653606d7985929faba4998c7f73655b5044372b1f1307000000000000000000121f2c3945525f6c7885929fabb0a69e9c969696969696969696969696969696969696969696969696969696969696969083776a5d5044372a1d1100121f2c3945525f6c7885929faba79b8e8174685b4e4135281b0e020000000000000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c00000000000000000000000000000000000000000a141d2b37434e58616e7b86929facaea298897d70655b5044392e23180c010000000000000000000000000000000000000000000000000000000000000000000008131e28323e46525e69727f8b959fa89f92867b6e727f8c95a0ab9f958b7f72695e52483e31281e1007000000000000000000000000000000000000000000000000000009141f27333f49535f69727f8b949faaa69f92867b6e615a50453b30251a0e050000000000000000000000000000000000000000000a1724313d4a5764707e838383838383838383838383838383838384919eaa9f928583838383838383838383838383838383838174675b4e4134281b0e00000000000000000000000000000000000000000000000000000000000000000000040a0f13191d2021262a2d2e31333436373738383737363433312e2d2a2620201d18120f0a040000000000000000000000000000000000000000000915222f3c4855626f7b889393939393939393939393939393939393939393939393939393939393939393938e8275685b4f4235281c0f000000000814212e3b4754616e7a8798a3aeac9f9285796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c5043362917202a36424d57606c77829098a2aea49a9184796d60584e42535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea6998c7f7d7d7d7d7d7d7d7d7d7d7d7d7e87929fa9a89f92867b6e61594f4339302b221b130b02000000000000000000000000000000000000000000000000000002080d151b20262b30363a3d44484b5153585f62696e747b828b9298a2aaafa49992857a6d60554b4034291c100400000915222f3c4855626f7b8895a2a99c8f8376695c5043394653606c7884919eaba79a8d8074675c514538424d5664707d8a97a1a6998d8073665c5044384653606c7986939faca5998c7f7266594c3f3326190c00000000000000000814212e3a47535f6a7683909daaa99b8f8275685d5246392c3845515c6774818e9aa8ab9e9184786c6053463a2f24180d010000000000000000121f2b3845525e6b7885919eabb8b0aaa9a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a29d9083776a5d5044372a1d1100121f2c3845525f6b7885929eaba89b8e8175685b4e4235281b06000000000000000005121f2c3845525f6b7885929eaba5988b7f7265584c3f3225190c0000000000000000000000000000000000000006111b262f3847535f6a75818e99a3aeb4aa9d9083786c60554b4034281e130800000000000000000000000000000000000000000000000000000000000000000000020c16202a36424d57606c78839099a3a3998f82767b86929fa8a3999083786c60574d42362c1f160c000000000000000000000000000000000000000000000000000000030b17222d38414d57606c77829098a2aea2988f82766c62574d42362a20170d0200000000000000000000000000000000000000000a1623303c4955616c7076767676767676767676767676767676767e8b98a59c8f827676767676767676767676767676767676746f64594c4033271a0d0000000000000000000000000000000000000000000000000000000000000000040b10161b1e24292c2d31363a3b3e3f414343444444444343413f3e3b3a36312d2c29241d1b150f0a04000000000000000000000000000000000000000915222f3c4855626f7b88959f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9b8e8275685b4f4235281c0f000000000916222f3c4955626f7c8895aab4aa9d908477655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c504336291e29323b46535e69727f8b949faaa89f93887d6f675d514646535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea89c918c8989898989898989898989898a9299a3aca1968c7f73695e55504a423d342d251d140b01000000000000000000000000000000000000000000000000050c131920262b32373b4246474f54555d60646a6f747b80868f949fa3aaafa49f93877d70675d5143392f23180c0000000915222f3c4855626f7b8895a2a99c8f8376695c5043414c5663707d8996a1aca095887c6f62554b40343b4653606d7985919eab9e9184796d6053463b4653606c7986939faca5998c7f7266594c3f3326190c0000000000000003101c28343f4a54626e7b88959faba2978a7d7064564c41352934404b55636f7c8996a1aca096897c7063554b4135291d11040000000000000000111e2b3844515e6b7784919eaab3aaa29f9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9ea6b0afaa9d9083776a5d5044372a1d1100121e2b3845515e6b7884919eaba89b8f8275685c4f422e23170c000000000000000006121f2b3844505c667885929faba5988b7f7265584c3f3225190c000000000000000000000000000000000000000b17222d38414f59626f7c87939fabb4b8aca0958a7e71675c51453a2f24190d0300000000000000000000000000000000000000000000000000000000000000000000040e1a25303b44505b666f7c87929fa89f948b7e828f98a2a89f92877c6f665b50453b30241a0d040000000000000000000000000000000000000000000000000000000006111b262f3b44505b656e7b86929fa7aa9f948b7e71695e52463e32291f140800000000000000000000000000000000000000000814202d3944505a616469696969696969696969696969696969727e8b98a59c8f82756969696969696969696969696969696967645d53483c3024180b00000000000000000000000000000000000000000000000000000000000002080d161b21272c2f35393a3e4246484a4c4e4f5051515151504f4e4c4a4846423e3a39352f2b26201b150d070100000000000000000000000000000000000915222f3c4855626f7b8895a2acacb1acaaa9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a89b8e8275685b4f4235281c0f000000000a1724303d4a5763707d8a96a3b0a99c8f82766953493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c5043362925303b44505a616e7b86929fa6aca1968d80746b60554b4046535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeada49c99969696969696969696969696979fa3abab9e918479716d67605c544e463f372f261d130a0000000000000000000000000000000000000000000000060e161e252a32373c43474d5254596063676d71767c81868d92999ea6aeaba39f928c80736b60554c4131271d12070000000915222f3c4855626f7b8895a2a99c8f8376695c504345525d6875818e9ba8aa9d9083776a5f5343392e3844515c6673808d9aa6a1978a7d7063564c414653606c7986939faca5998c7f7266594c3f3326190c0000000000000006121f2b3844505c6673808d99a7ab9f9285796d6053463a30242e394653606c7884919eaba89b8e8174675d5145392c2015090000000000000000101d2a3643505d697683909ca9aea298928f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f949eaab6a99d9083766a5d5043372a1d1000111e2a3744515d6a7783909daaa99c90837669544a3f34281c1003000000000000000713202d3a4653606d7986939faca5988b7f7265584c3f3225190c000000000000000000000000000000000000030f1b27333f4953606b76828f9aa4afb8b5b1a79e9184796d60564c4135291f1409000000000000000000000000000000000000000000000000000000000000000000000009141f28333f4a545f6a73808d96a0a69f92868f949eaaa0968d80736a5f544a3f33291f12080000000000000000000000000000000000000000000000000000000000000a141d27333f49535f69727f8c959faaa69f92857b6e615a50443b3025190e050000000000000000000000000000000000000004101c28333e485055575d5d5d5d5d5d5d5d5d5d5d5d5d5d5d65727e8b98a59c8f8275695d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5b59534a41362b2014080000000000000000000000000000000000000000000000000000000000050d131921272c32383a4145474b4d535557595b5c5d5d5e5e5d5d5c5b595755534d4b4745403937322b262018120c04000000000000000000000000000000000915222f3c4855626f7b8895a2aeb1a7a09d9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9b8e8275685b4f4235281c0f000000000b1825313e4b5864717e8b97a4b1a79b8e8174685b4e412d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c504336292a36414c56616c76828f98a2aea59e9184796d60594f433946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeb6ada8a6a3a3a3a3a3a3a3a3a3a3a3a3a4acafb5aca19690837e79726d666058514941382f261c12090000000000000000000000000000000000000000020a1117202830363c43474e54565e61666b6f74797e83888e92999fa3abaea7a099928b80746e63594f433a2f1f150b010000000915222f3c4855626f7b8895a2a99c8f8376695c50434754606d7a86929faca3988b7f7265584e43302834404a54626e7b88949fa99b8f8275685e52464653606c7986939faca5998c7f7266594c3f3326190c000000000000000713202d3a4653606d7984919eaba89a8d8174665c514538281f2b3744505b6573808d99a7ac9f92857a6d6054473c31261a0e00000000000000000f1c2835424f5b6875818e9ba8ab9f9286828282828282828282828282828282828282828282828282828f9ca9b5a99c908376695d5043362a1d1000101c2936434f5c6976828f9ca9aa9e918477665c5044382c1f1206000000000000000714212e3a4754616d7a879aa4afa5988b7f7265584c3f3225190c0000000000000000000000000000000000010c161f2b3744505b65707d89949facadaba8aaaca1968c7f72685d52453b31251a0e0400000000000000000000000000000000000000000000000000000000000000000000030b17222d38424e58606d7984919ea5a29892989ea6a59e9184796d60584e42382d21170d00000000000000000000000000000000000000000000000000000000000000020b17222d38414d57606c78839098a3ada2978f82756c61564d41362a20170d02000000000000000000000000000000000000000b17222c363e44494a50505050505050505050505050505865727e8b98a59c8f8275695c50505050505050505050505050504e4c4841382f251a0f0300000000000000000000000000000000000000000000000000000000070e171e252a32383d43484c515458575f61646667696a6a6b6b6a6a69676664615f575753514b47433c373229241d160d060000000000000000000000000000000915222f3c4855626f7c8895a2aeaca0959190909090909090909090909090909090909090909090909090908e8175685b4f4235281c0f000000000c1825323f4b5865727e8b98a5b1a79a8d8074675a4d4134271a060000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c50433628323a46525e68717e8b949eaaa99d93897d70675d51473d3146535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeb5aca7a4a1a1a1a1a1a1a1a1a1a1a1a2a3a4a6a9aba89f95908b857e786f6a625b524a41382e241b0e05000000000000000000000000000000000000030b141c2228323a41464e53585f62696e73777c81858b90959b9fa3abaeaaa29f9591877f746e645c52473d31281e0d03000000000915222f3c4855626f7b8895a2a99c8f8376695c50434e5865727e8b98a2ac9f92867a6d6154473c32232e3947535f6a7683909caa9f92867a6e6154474653606c7986939faca5998c7f7266594c3f3326190c00000000000005111d2a36414c5663707d8a97a1aca096897c6f63544b4034281b27333f4953626e7b88959faba2988b7e7165574d42372b1c1106000000000000000d1a2734404d5a6773808d9aa6ab9e91857875757575757575757575757575757575757575757575757a8794a0ada99c8f8276695c4f4336291c10000e1b2835414e5b6874818e9ba7ac9f9286796d6053463a2d201306000000000000000916222f3c4955626f7c8895acb6a5988b7f7265584c3f3225190c000000000000000000000000000000000007131d2834404a54606c7883909da6a9a29e9b9ea5a89f92857a6d60574d42362a20150a000000000000000000000000000000000000000000000000000000000000000000000006111c262f3c45515c67707d89939da9a29fa2aaa99d93897d70675c51463c2f261c0f05000000000000000000000000000000000000000000000000000000000000000006111b262f3c44505b666e7b86929fa7a99e948b7e71685e52463e32291e14080000000000000000000000000000000000000005101a242c33393c3d434343434343434343434343434b5865727e8b98a59c8f8275695c4f4343434343434343434343434341403c362f261d130800000000000000000000000000000000000000000000000000000001091119202930363d44484f54555d606468696e71727476767777777776767472716e696864605d55534e47433c352f281f18100800000000000000000000000000000915222f3c4855626f7b8895a2aeaa9d9183838383838383838383838383838383838383838383838383838383807366594d4033261a0d000000000c1926323f4c5965727f8c98a5b2a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c504336303a44505a616e7a85929ea6ada1978e81746b61554b41353946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeaca39b989494949494949494949495959697999c9fa2a79f9d97928b837c726d645c524a40362d20170c0200000000000000000000000000000000030c151d262d333e444c52585f626a6f757b7f84898e92989d9fa7acadaaa29f98928c837c726d645c524940352b1f160c00000000000915222f3c4855626f7b8895a2a99c8f8376695c5047535f6a7783909daaa89b8e8175685d5246392a202b37424e5764717e8b98a2a3998c7f7265594f4353606c7986939faca5998c7f7266594c3f3326190c0000000000000713202d3946525e6875828e9ba9aa9e9184776b605442392e2318222d3847535f6a7783909dabaa9c908376695f5347382e23170b000000000000000b1825313e4b5864717e8b97a9ada197877a6d6969696969696969696969696969696969696969696e7b8894a1aea79b8e8174685b4e4135281b0e000c1926333f4c5966727f8c99a5afa399887b6e6255483b2d22170b000000000000000a1724313d4a5764707d8a97a3b0a5988b7f7265584c3f3225190c00000000000000000000000000000000010d18242f3844515c66717e8a959faba297928e939eaaa2978d8073695e53463c32261b0b0200000000000000000000000000000000000000000000000000000000000000000000000a141d2934404b55606b74818e97a1adacaeada1978e81746b60554b40342a1d140a000000000000000000000000000000000000000000000000000000000000000000000a141d28333f4a545f6a727f8c959faba69f92857b6e615a50443b3025190e050000000000000000000000000000000000000008121a22282d30313636363636363636363636363f4b5865727e8b98a59c8f8275695c4f423636363636363636363636363433302b251d140b010000000000000000000000000000000000000000000000000000010a131b232b323a41464f54596063676d7175787b7d7f818283848484848382817f7d7b7875716d67625f58534e454039312a221a1209000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d767676767676767676767676767676767676767676767676767676736d63574b3f3225190c000000000d192633404c5966737f8c99a6b2a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c50433635414c56616c75818e97a2ada59e91857a6d60594f433a2f3946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea79b918b888888888888888888888888898b8d8f92989b9fa4a19e9590877f746e645c52483e32291e1308000000000000000000000000000000000a151e262f383f4450565e616a6f757c81868c91969a9fa2aaabaca9a19e98928d857f786f6a625b524a40372e231a0d0400000000000915222f3c4855626f7b8895a2a99c8f8376695c504a54626f7c88959faba196897d7063564c4135291a26313c4753606d7a85929fab9d9184776b60544853606c7986939faca5998c7f7266594c3f3326190c0000000000000714212e3a4754616d7a86929faca7998c807366594f4330271d121b2b37424e5765727f8b99a3ab9f94887b6e62544a3f34281c10030000000000000916222f3c4955626f7c8897a2ada995897c6f625c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c626f7c8895a2afa6998d8073665a4d4033271a0d000a1724313d4a5764707d8a97a8b2ab978b7e7164544a3f33281c0f03000000000003101c28343f4a5466737f8c99a6b2a5988b7f7265584c3f3225190c0000000000000000000000000000000004111d2935404b55606d7984919ea7a89e9285828e98a3a99f92867b6e61584e43372b1d140a0000000000000000000000000000000000000000000000000000000000000000000000020b18232f39434f59616d7a85929eabb8b8ab9e92857a6d61594f43392f22180b0200000000000000000000000000000000000000000000000000000000000000000000020b17222d38424e57606d78839099a3ada2978f82756c61564c41362a20160c02000000000000000000000000000000000000000810171c2023242a2a2a2a2a2a2a2a2a2a2a323f4b5865727e8b98a59c8f8275695c4f42362a2a2a2a2a2a2a2a2a2a2a282724201a130b020000000000000000000000000000000000000000000000000000010a131c252d353d444c525960636b6f757a7e8285888a8c8e8f9090919190908f8e8c8a8885827e7a756f6a625f58514b433c342c241b12090000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d70696969696969696969696969696969696969696969696969696966635b52473b2f23160a000000000d192633404c5966737f8c99a6b2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c5043313a45525d68707e8a939ea9a99e938a7e70685d52473d31283946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea4988b7e7b7b7b7b7b7b7b7b7b7b7b7c7d7e808285898f93999fa7a099928b80746e635a50443a3025190d02000000000000000000000000000006111c263038424a505a61686d747c82888e92999ea0a8abacaca49f9c97928c86807a726d666058514940382f251c11080000000000000915222f3c4855626f7b8895a2a99c8f8376695c50515c6674808d9aa7ac9e9184786c6053463a302419202c3945515d6774818e9aa7a096897c6f63554b53606c7986939faca5998c7f7266594c3f3326190c000000000006131f2b37434e5865727f8b99a3ab9f95887b6e6155483d3222150e1a26313c4754616d7a86929faca6998d8073665c5044382b1f13080000000000000713202d3a4653606d7885929faba5998c7f7266564c4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f5764717d8a97a4b3a9978b7e7164584b3e3125180b000815212e3b4854616e7b8796a1ada79b8e8174665b5044382b1f150a000000000006121f2b3844505c6675828f9ba8b2a5988b7f7265584c3f3225190c000000000000000000000000000000030d18212c3945515d67727f8b96a0aca1968c7f7b86929fa9a3988e81746a5f53473d2f261b1106000000000000000000000000000000000000000000000000000000000000000000000007121d27313d46525d68727f8c99a5b2b1a4978b7e71685e52473d31271d100600000000000000000000000000000000000000000000000000000000000000000000000006111c262f3c44505c666f7c86929fa7a99e938a7e71685e52463e32281e13080000000000000000000000000000000000000000050b101416171d1d1d1d1d1d1d1d1d1d25323f4b5865727e8b98a59c8f8275695c4f4236291d1d1d1d1d1d1d1d1d1d1b1a18140f08010000000000000000000000000000000000000000000000000000000a131c252e373f474f565e616b70767c82868b8f919797999a9c9d9d9e9e9d9d9c9a999797918e8a86817c756f6a605d554e463e362d241b120900000000000000000000000915222f3c4855626f7b8895a2aea3968a7d70635d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5957524940352a1e1307000000000c1926323f4c5965727f8c98a5b2a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c50433a434f59606d7a85919ea5ada2978e81756c61564c41352c2c3946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d706e6e6e6e6e6e6e6e6e6e6f70717376797d828790959ea5a39f928c80736c61564c41362a1e140800000000000000000000000000060f17232e38424a545b606c707a81878f949b9fa3abacaca8a09e9a938f8a857f7a736d68605c544e463f372f261d130a000000000000000915222f3c4855626f7b8895a2a99c8f8376695c5053606d7985929eaba49a8c8073665b504438281e131d2935404b55626f7c8995a0a89b8e8174675d5153606c7986939faca5998c7f7266594c3f3326190c00000000000815212e3b47535f6a7783909dabab9d908376695f53473a2d21140915202d3946525e6875828f9caaab9e9184796d6053463a3024190d01000000000006121f2b3844505c6675828f9baaa99c908376685e524642424242424242424242424242414d566773808d9aa6ada297887b6f6255483c2f221509000714212d3a46535e697884919eabab9e9184796c6053463c31261a110a0708060b0f19202d3a4653606d7985929fabb2a5988b7f7265584c3f3225190c00000000000000000000000000000009141f2a36414c56606d7985919ea8a89e91847973808d97a2aa9f93877c6f62594f41382d22170b00000000000000000000000000000000000000000000000000000000000000000000020b18232e39424e58606d7984919eaab7b3a79a8d80746b60554b4034291e150b000000000000000000000000000000000000000000000000000000000000000000000000000a141d28343f4a545f6a737f8c95a0aba69e92857a6e615a50443a3025190e0400000000000000000000000000000000000000000004080a0a1010101010101010101825323f4b5865727e8b98a59c8f8275695c4f4236291c1010101010101010100e0d0b08030000000000000000000000000000000000000000000000000000000009121c252e374049515960686d747d83898f92989b9ea1a9a5a7a9a9a9a8a8a9a9a9a7a5a9a19e9b98928e88827c736d675f5850483e362d241b1107000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063575050505050505050505050505050505050505050505050504d4b4740372e24190d02000000000b1825323e4b5865717e8b98a4b1a79a8d8074675a4d4134271a060000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c5043404b55606b74818e97a1ada69e92857a6e615a50443a30232c3946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d706361616161616161616262636466666d70757c838e939ea6a49c928b7e71685e52463b3025190e020000000000000000000000030e182128343f4a545c666c737e858e93999ea6acadaaa39f9b96918c87837e79736d68615e56514a423c342d251d140b01000000000000000915222f3c4855626f7b8895a2a99c8f8376695c4d5664717d8a97a1ac9f93877b6e61544a3f3328160d18242f394754606a7784909dab9f92857a6d605453606c7986939faca5998c7f7266594c3f3326190c0000000004101c2834404b54626f7c8895a0aca3998b7f7265574d42372b1e1206111e2a36414c5664717e8a98a2ada196897d7063564c4135291d1105000000000003101c28343f4a5465717e8b98a3ac9f92867a6d61564c4135363636363636363636363946525e6876838f9ca9ab9f9285796d6053463a2d2013070005121e2a36424d576874818e9baaada197897d7063584e43372b231b15141415171b222a36414c56636f7c8997a2adb2a5988b7f7265584c3f3225190c0000000000000000000000000000020e1a26313946525e68737f8c97a1aca0968b7e716d7a85929fa9a4998f82766b6053493f33271d12070000000000000000000000000000000000000000000000000000000000000000000a141d2834404a54606a73808d96a0acacacac9f93877c6f675c51453c30271c1207000000000000000000000000000000000000000000000000000000000000000000000000020b17232e38424e58606d78839099a3ada1978e81756c61564c41362a20160c0200000000000000000000000000000000000000000000000003030303030303030c1825323f4b5865727e8b98a59c8f8275695c4f4236291c0f0303030303030303010100000000000000000000000000000000000000000000000000000000000006101a242e374049525b626b707a818990949b9fa3aaaba9a5a9a19e9d9c9c9b9c9c9e9fa3aba8abaaa29f9b948f8780796f6a615a50483e362c23190e050000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a4343434343434343434343434343434343434343434343403f3b352e251c120700000000000b1824313e4b5764717e8a97a4b1a79b8e8174685b4e412d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8276695c4f4345515d67707d89939da9aa9e948b7e71685e52483e32281e2c3946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063575555555555555555555658545c60636a6f78818e949fa9a49e92857a6d61564c41362a1e1105000000000000000000000009141f2a333b44505c666d78808a92979fa4abaca8a19e98928e89847f7b76716d66615e56524c444039302b221b130b0200000000000000000915222f3c4855626f7b8895a2a99c8f8376695c525e6975828f9ca9a99c8f8276695e5342382d221707121d2b38434e5865727f8c99a3a2988b7e7165584e606c7986939faca5998c7f7266594c3f3326190c0000000006131f2c3845515c6674808d9aa7ac9f92867a6d6154473c31261a0e020d1925303a4753606d7985929faba89b8e8175685d5246392d20150a0000000000000b17232e3a4754606d7a86929faca3998d8073685d52453e352b2729292929262b35414c55616e7b86929faca99b8e8275665c5044382b1f120600020e1a25313d4a5764707d8a98a2aea99b8e82756a5f53473f362b262221212222272b343c46525e6874818e9aa9b3b2a5988b7f7265584c3f3225190c000000000000000000000000000005121e2a36424d57616d7a85929fa9a79d9184786d68737f8c97a1ab9f94897d70655b5044392e23180c010000000000000000000000000000000000000000000000000000000000000006111c262f3844515c666f7c87929fa8a49f9fa3a4999184796d60584e42392e23180c0200000000000000000000000000000000000000000000000000000000000000000000000006111c26303c44505c666f7c87929fa7a99e938a7e71685e52463e32281e130800000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a59c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000030c18222c364049525b636d727d858e939c9fa6acaba49f9c99969791908f8f8f8f90919299989b9fa2aaaca69e99928d847c706c615a50483e352b20170b0200000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3636363636363636363636363636363636363636363633322f2a241c130a0000000000000a1724303d4a5763707d8a96acb6a99c8f827669544a3f33281c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8276695c4f434f59606d7984919ea5aea2988f82756c61564c41362c20162c3946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a48484848484848494a4b4a5153585f666d78828f97a2ada2978e8174685e5246392d20140700000000000000000000020e1a26313b45505a606d78818d929ea1a9aea8a09e96918c86817c78736e6964605c54524c46413a342e271e191009010000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c54616e7b86929faca2978a7e7164574d422f261c11060f1b27323d4754616d7a86929faa9d9083766a5f53606c7986939faca5998c7f7266594c3f3326190c000000000713202d3a4653606d7985929eaba99b8f8275685e5246392a1f15090008131f2c3845515d6774818e9ba8ac9f92867a6d6154473c31261b0f0000000000000613202c3945525d6875818e9ba6ab9f92857a6d605a50473f38322f2e2e2f32373f45515d67737f8c99a3ada2978a7e7164544a3f34281c100300000914202d3a4753606d7985929fabac9f93877c6f625b51483f37312e2e2e2e2d33373e464f59616d7a86929facb8b2a5988b7f7265584c3f3225190c00000000000000000000000000020b1a232d3a46535f6974808d98a2aba0958a7e7166606d7985919ea8a69d9083786c60554b4034281e1308000000000000000000000000000000000000000000000000000000000000000b17222d38424e58606d78839099a3a499939299a3a0968d80736a60544a4034281e140a000000000000000000000000000000000000000000000000000000000000000000000000000a141e28343f4a545f6a73808c95a0aba59e92857a6d615a50443a3024190d04000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a59c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a343e48525b636e737f8792979ea5aba9a19e99938f8c8986858383828282838486888b8e92989da0a7aba39f9691867e716c615a50473d33291d140a00000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2625231e19120a010000000000000916222f3c4955626f7c889aa4afaa9d908477665b5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a89c8f8275695c4f4b55606b74808d96a1aca69f92867b6e615a50443b30241a202c3946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3b3b3b3b3b3b3c3d3e4044464e545c666d7a85929faaa99f92867a6e6154473b2f24180d0100000000000000000005121e2a36424d57626c75818e939da4adaaa29f96918b847f7a74706c65615e5753514b46413a363028231c150c0700000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c5966727f8c99a3ab9f9285796d6053473b3120140a000a16202d3946525e6875828e9ba89f95887b6e6254606c7986939faca5998c7f7266594c3f3326190c00000005111e2a36424d5664717d8a97a1ada2978a7d7164564c41362a180e030004101d2935404b5563707d8996a1ada3988b7f7265584e43372b1c1207000000000004111d2935414c56626f7c88939eaaa2988e81746c61595047433d3c3b3b3c3d4347515a606d7a84919eabaa9f9285796d6053473a2e23170b00000006131f2c3845515c6774808d99a4afa49a8f82766d625a5147433d3b3a3b3b3c3f44465058606b74808d98a2aebab2a5988b7f7265584c3f3225190c000000000000000000000000000a141d2b37434e58616e7b86929faaa69d9083786c605d67727f8b96a0aca0958a7e71675c51453a2f24190d030000000000000000000000000000000000000000000000000000000000050f1c28333f4a545f6a737f8c95a0a89f938786929fa89f92877c6f665c51443c30261c1106000000000000000000000000000000000000000000000000000000000000000000000000020c17232e38424e58606d79839099a3ada1978e81756c61564c4135291f160c010000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a59c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000007121d27303c46505a636d73808c9299a1a9aba39f97928c87837f7c7a7876767575767678797b7e82868b91959ea1a9a8a09892877e716c61594f453b2f261b1106000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1a1916130d0700000000000000000714202d3a4753606d7a86939facac9f9285796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a89c8f8275695c4f515c676f7d88939fa8aa9f948b7e72695e52483e32291e12202c3946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302e2e2e2e2f2f302e34383c424a545d68727f8c98a3aea3998c7f7266554b4135291d11040000000000000000000714212d3a46535f69717e8b939ea5aea7a098928c847e79726d6863605b53534d4645403935302a251e18120b030000000000000000000000000915222f3c4855626f7b8895a2a99c8f8376695c606b7784919daba79a8d8174675c5145382c1f13020005111d2a36414c5663707d8a96a1a79a8d8073665c606c7986939faca5998c7f7266594c3f3326190c0000000714202d3a46525e6975828f9ca9ab9f9285796d6053473a302519070000000c18242f394653606c7884919eabaa9d9083776a5f5347392e23180c0000000000010d19242f3a47535f6a75828f98a3aa9d938a7e716b625a544e4a494847484a4e535b626c74818e96a1ada2988d8073675c5145382c1c110600000004101c2934404b55616e7b87939faaac9f948c7f726c625b534e4a48474748494950535a616a707d88939faaaeb4b2a5988b7f7265584c3f3225190c00000000000000000000000006111b262f3847545f6a75818e99a3ab9f94897d70655b55606d7984919ea7a79e9184796d60564c4135291f140900000000000000000000000000000000000000000000000000000000050e1b242b3844505b666e7c86929fa7a1968d80808d96a0a3999083786d60584e42382e23170b0200000000000000000000000000000000000000000000000000000000000000000000000006111c26303c45515c666f7c87929fa8a99e938a7d70685d52463e31281e13080000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a59c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424e58616c737f8c929fa3aba8a099928c857f7b76726f6d676a6969686969666d6f72757a7e848a92979ea6aaa29993877e716b60574d41382d22170b020000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302417101010101010101010101010101010101010100d0c0a07020000000000000000000613202c3945515d677884919eabaea298887b6e6155483b2e22150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a89b8f8275685c4e58606d7984919aa4aea2988f82776c60574d42362d20170d202c3946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302422222222222323282c3039424c56606d7986929facab9d908377675d5145392c201306000000000000000005111e2a36414d56616e7b86929fa5afa69f9590867f79716d66615d5653504946423b38342e29251e19130c0700000000000000000000000000000915222f3c4855626f7b8895a2a99c8f82766955636f7c8996a0aca095887c6f62554b4034291c100400010d1925303a4653606c7884919eac9e9285796d60606c7986939fb6a5998c7f7266594c3f3326190c0000000814212e3b4754616e7b86929faca89a8e8174675c514538281e130800000007121f2b3844505b6673808d99a7aba095887c6f62544a4034281c1004000000000008131e2b37434e58616e7b86929fa6a59f92867d716c626058575554545556585f626d727e8b939da9a69f92857a6d61554b4034291c0a00000000000c18232f3946535f6974818e98a2aea69f92877e726d625f58565554545556535b60636c717c85929aa29fa2aab4a5988b7f7265584c3f3225190c0000000000000000000000000b17222d38414f59626f7c87939faba59c8f82766b6053515c66717e8a95a0aca1968c7f72685d52453b31251a0e040000000000000000000000000000000000000000000000000000020d17202a36424d57606c78839099a3a69e9184797984919ea5a0958c7f736a5f544a3f34281d140a000000000000000000000000000000000000000000000000000000000000000000000000000a151e2834404b54606a73808d95a0aba59e91857a6d61594f433a2f24190d0400000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a59c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b545f6a717e8a929ca4afa69f9691878079736e696663605d555c5c5c5c545c606265676d71787e858f949da4aba49992877d70695e53493f33271e14080000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a030303030303030303030303030303030303000000000000000000000000000004101d2935404b556976828f9ca9b4aa978a7d7164574a3e31261a0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a89b8e8275685b54606a73808d96a0aca79f92867b6e655b50453b30241b0e13202c3946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024171515151617181c1f27303a45515d6776828f9ca9ac9f93867a6d6054473a2d21140700000000000000000714202d3946525e6874818e98a2aea89f9490837b726d66605c54524c46443f3836312c28231d19130d08020000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f8276695d6774818e9ba8ab9d9083776a605443392f23180c00000008131f2b3844505b6673808c9aa4a1978a7d7164576c79869aa4afa5998c7f7266594c3f3326190c000007131f2c38434f5966727f8c99a3aca196897c6f63554b4034291c1004000000030f1c28333f4a54626e7b8895a0aba79a8d8074665c5144382c1f14080000000000010f1b26323c46535f69727f8c949fa8a29892877e766f6a67636261616263666a6f767f88939fa5a89f948b7f72685d5243392f23180c000000000007121d2b37424d57616e7a85929fa5afa39992877f756f6a6663616161616364656c70767e8692979d989298a2aea5988b7f7265584c3f3225190c0000000000000000000000030f1b27333f4953606b76828f9aa4ab9e93897c6f62594f4a54606c7883909da6a89f92857a6d60574d42362a20150a000000000000000000000000000000000000000000000000000008141f29323b46535f69727f8c959faa9e938a7d70707d89939ea79f92877c6f665c50443c2f261b1106000000000000000000000000000000000000000000000000000000000000000000000000030c18232e39424e58606d79849199a4ada1978e81746b61564c4135291f160c01000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a59c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000030d17212c3845515c666f7c86929fa4ada69f948f847c736d67615e575653514b504f4f4f4a515355555d60666c717a828d929da4aba39992857b6e655b50443b3025190d0200000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000010d18242f414d5a6774808d9aabb5a79a8d817467584e43372b1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a79b8e8174685b5c666f7c87929fa8ab9f958c7f72695f53493f33291f120913202c3946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a080809070c10151e2935404b5566727f8c99a5afa499897c706356493d3023160a00000000000000000814212e3b4754616e7b86929faaaca0969082796e69605c54514a46413a37332d2a251f1c18120d080200000000000000000000000000000000000915222f3c4855626f7b8895a2a99c8f827669606d7a85929faca3998b7f7265584e4331271d1207000000030f1c28333f4a54616e7b87939fa99c8f8275695e6c7986939faca5998c7f7266594c3f3326190c00000915222f3b4854606b7784919dabab9e9184786c605346392f23180c00000000000b17222d3847535f6a7783909dabab9e9285796d6053463b3025190e0200000000000a15202a36424d57606c78828f96a0a8a299928b837c7773706f6e6e6f7073767c828b939aa4a9a1968f82776c60564c4131271d12070000000000010e1a26313c46525e68717e8b939da6aba399928b827c7672706e6d6e6e6f7174787d828b92989d928d86929faca5988b7f7265584c3f3225190c00000000000000000000010c161f2b3744505b65707d89949faca4998f82756a60544744505b65707d89949faba2978d8073695e53463c32261b0b02000000000000000000000000000000000000000000000000040e1925303b44505a616e7b86929fa7a2988f82756c6b75818e97a2a3999083786d60574d41382d22170b0300000000000000000000000000000000000000000000000000000000000000000000000007121d27303c45515c676f7c87939fa8a99e938a7d70685d52453d31281d1307000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b989a9a8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000009141f2a36424d57606d79849198a2aea89f948f827a6f6a605d55524d4947454043424243404446484b51545b60686d78808d929da6aba1979082776c60564c41362a1e140800000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000071724313d4a5764707d8a99a3aeaa9e9184776a5f5347392e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a79a8e81746758606d78839099a3aea3999083786d60574d41382d21170d0013202c3946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000040c18242f3e4a5764717d8a97a4b5ab988b7e7265584b3f3225180c0000000000000004101c2934404b5566737f8c99a3aea69e9184796d675f57514b44403935302b27221b1a14100c0700000000000000000000000000000000000000000915222f3c4855626f7b8895a2a89c8f82756965717e8b98a2ac9f92867a6d6154473c3221150b01000000000b17222d3846535e6976828f9ca99f93877b6e616c7986929faca5998c7f7266594c3f3326190c0004101d2935404b55636f7c8996a0aca7998d8073655b5044372b1d1207000000000006111c2b37434e5865727f8b99a3ada1978a7d7064564c41362a1e11050000000000040e1a26313b44505b666d7a849196a0a7a39f94908984807d7c7b7a7b7d8083878f949fa4a9a19791847a6e655b50443a301f150b0100000000000009141f2a36414c56616c74818e949ea6aba39f948f88837f7d7b7a7a7b7c7e8184898f949f9e938d807f8c98a5a5988b7f7265584c3f3225190c0000000000000000000007131d2834404b54606c7883909da6ab9f93877c6f62584e433f4953616b76828f9ca5a99f92867b6e61584e43372b1d140a0000000000000000000000000000000000000000000000020c16202a36414d56626c76828f98a2a79f92867b6e61616d7a85929ea69f958c7f72695f53493f33271f1409000000000000000000000000000000000000000000000000000000000000000000000000000b151e2834404b55606a73808d96a0aca59e91847a6d60594f433a2f24180d040000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b8d8d8d8d8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000020e1a25313a46535f69737f8c95a0aaaaa0959082796d685f58514b46423c3a39352f36352e34383a3c40454a50565e666c74808d939ea8a99f948b7e71685e52463b3025190d00000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facaca096887b6f62544b4034281d12070000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a79a8d8074675f6a737f8c95a0aba79f92867c6f665c50453c2f261b0f050613202c3946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000071623303d495663707c8996a3afa5998c7f7266594c3f3326190c0000000000000006131f2c3845515c677683909cabab9f94897d6f675d554d454039342e29241f1b17110e0904000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a89c8f827569697683909caaa89b8e8275685e5246392d201303000000000006111c2a36424d5764717e8a97a2a4998c7f73656c7986929faca5998c7f7266594c3f3326190c0006131f2c3945515d6774818e9aa8ab9f95887b6e6253493f33271b0b010000000000000f1a26313c4754616e7a86929faca99c8f8275685e5246392d20140600000000000009141f28333f4a545e686e7b8490959da4a69f9c95918d8a88878788898c90939a9fa6a69f9791857c6f685e53493f32281e0d0300000000000000030e1925303b44505a606d78828f939fa4aba69e9c94908c8988878788898b8e91969c9f9f938e8179808d99a6a5988b7f7265584c3f3225190c000000000000000000010d18242f3845515c66717e8a95a0aba3998e81746a5f53463d38414f59626f7c89939eaba3988e81746a5f53473d2f261b11060000000000000000000000000000000000000000000008131e28323a46525e68717e8b949faaa0958b7f72695e5e68717e8b949fa79f92867b6e655b50443b31251a0e05000000000000000000000000000000000000000000000000000000000000000000000000030c18232e39434e58606d7984919aa4ada1968e81746b60554b4135291f160c010000000000000000000000000000000000000000000000000000091623303c4956636f7d80808080807e7165584b3e3225180b000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57616e7b86929fa8aea3989183796d675d564e45403a36302d2c2924292923282c2d2f35383f444c545b606c78828f96a1ada69f92857a6e61564c41362a1c1106000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677683909cabb2a8998d8073665c5145392e23180d0400000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a6998d807366666e7c86929fa7aba0958c7f736a5f544a3f332a1d140a000613202c3946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000915222f3c4855626f7b8895a2aea6998d8073665a4d4033271a0d000000000000000714202d3a4753606d7986929faca99c9083766b60554c433c342e28231c19130f0b06000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a89b8f8275686e7b88949faba196897d7063564c4135291d11050000000000000e1a25313b4653606d7985929fab9e9184786c6c7985929faca5998c7f7266594c3f3326190c000714202d3a4753606d7985929fa2ab9d9083776a5f5341382d22170b000000000000000a15202d3946525e6875828f9caaa29f92867a6e6154473b2d22170b000000000000030b17222d38424c565e696e7a838d929da0a7a7a09d9a969594949596999d9fa4a9a19e9490857c6f6a5f564c41382d20160c00000000000000000008141e29323e44515c666d79818d9399a0a7aca69f9c99969494949496979a9ea19f99938c817874818e9ba7a5988b7f7265584c3f3225190c00000000000000000004111d2935414b55606d7984919ea7aa9f92867b6e61584e43342f3d4754606a75828f99a3aa9f93877c6f62594f41382d22170b000000000000000000000000000000000000000000040d1924303a44505a616e7b85929fa6a3999083786d605756626c76828f98a3a3989082776c60574d42362a20170d0200000000000000000000000000000000000000000000000000000000000000000000000007121d27303d45515d676f7d88939fa8a89d93897d70675d51453d31281d120700000000000000000000000000000000000000000000000000000915222f3b4854606b6f7474747474716c62564a3d3124170b00000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e6974818e98a3aea89f92867c6f675d554c443c352f2a2520201d181c1c181c1f2024292d333a424a505b666d7a84919ea6ada2978d8074685e5246382e23170b000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000004111d2935414b5566727f8c99a3afab9e9184796d60554b4034281f160c02000000000000000000000000000000000000000000000300000000000000000000000000000915222f3c4855626f7b8895a2a5998c7f72666c78839099a3aea3999083786d60584e42382e21180b02000613202c3946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000916232f3c4956626f7c8995a2afa79a8d8074675a4d4134271a0e01000000000000091623303c4956636f7c8999a3aea5988c7f7265594f433a3128231d18120d08030000000000000000000000010000000000000000000000000000000915222f3c4855626f7b8895a2a89b8e82756673808d99a6ac9e9184786c6053463a3025190d0100000000000009141f2c3845515c6774808d9aa7a096897d706b7885929eaba5998c7f7266594c3f3326190c000b1825313e4b5864717e8b98959595998b7f7265574e422f261b11060000000000000005111e2a36414c5664717e8a98959595998c7f7265544a3f33281c0f0300000000000006111c262f3a444d575e686e79818990959c9fa3aba6a3a2a1a1a2a3a6a8a7a09d97928b827b6f6a5f584e443b2f261b0e04000000000000000000020d17202834404a545d676d78808790959c9fa4aba9a5a3a1a0a1a1a2aca49f9c95908780786d75828f9ca8a5988b7f7265584c3f3225190c0000000000000000030e18212c3945515d67727f8b96a0aca2988d8074695e53463c312b37434e58626e7b87929faaa4998f82766b6053493f33271d120700000000000000000000000000000000000000010c161f2935414c56616c75828f97a2a89f92877c6f665c50505a626e7b86929fa79f948b7f72695e53463f33291f1409000000000000000000000000000000000000000000000000000000000000000000000000000b151e2935404b55606b74808d96a0aca59e9184796d60594f43392f24180d030000000000000000000000000000000000000000000000000007131f2c38434f596063676767676765625a50453a2e2115090000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b86929faaaca1968c7f726a5f554c433a3229241d1a1413100d07070c101213181c22282f383f4a545e68707d8a949faba99f92867a6e61544a3f34281c10030000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b86929facada1978b7e71675c51453c31281e140b0400000000000000000000000000000000000406070b1008080602000000000000000000000915222f3c4855626f7b8895a2a5988b7f7269727f8c959faba89f92877c6f665c51463c30261c0f0600000613202c3946535f6c7986929faca09386796d6053463a2d20130700000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000001050a1724303d4a5763707d8a96a3b0a6998d8073665a4d4033271a0d000000000000000b1724313e4a5764717d8a97abb4a396897c706356493d31281f18120c0700000000000000000000030506090e0909070300000000000000000000000915222f3c4855626f7b8895a2a79b8e81746d7984919eaba49a8c8073665b504438281e13080000000000000004101c2834404b55626f7c8895a0a89b8e8175687885919eaba5998c7f7266594c3f3326190c00101d293643505c697682888888888888877a6d6154473c3121140a0000000000000000010d1925303b4753606d79868888888888888377665b5044382b1f1206000000000000000a141d28323b454d565e676d747d838a8f92999a9c9e9fa3a49f9f9d9b9895918c857f786e695f584e463c32291d140a0000000000000000000000050e18232e39424b555d666d737d838a8f93999a9c9e9fa3a39f9e9c9a9a938f8a837c736d667683909ca9a5988b7f7265584c3f3225190c000000000000000009141f2a36414c56606d7a85929ea8a99f92867a6d61574d42342a27323d47535f6a74818e98a3ab9f94897d70655b5044392e23180c0100000000000000000000000000000000000007131d28313a46525d68717e8a939ea9a1968d80746a60544a47535f69737f8c95a0a69f92867b6e615a50453b30251a0e05000000000000000000000000000000000000000000000000000000000000000000000000030c18242f39434f59606d7984919aa4ada1968d81746b60554b4035291f150b01000000000000000000000000000000000000000000000000030f1b27323d464f54565a5a5a5a5a585650483f34291d11050000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6673808d99a3aea99e9184796d60584e433a31282018130e090604010000000406070d11171d262d38424c56616c76828f9ca7aea2988d8073665c5044382b1f12060000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e6975828f9ba7b1a99e9184796d60574e433930261d160d070100000000000000000000000003070c101313181d1514120f090300000000000000000915222f3c4855626f7b8895a2a4978b7e716e7b86929fa7aca0968d80736a60544a40342a1e140a0000000613202c3946535f6c7986929faca09386796d6053463a2d20130700000000000000010507070b0b0b0b0b0b0b0b0b0b0b111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e0b0b0b0b0b0b0b0b0b0b0b0a0805000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0a0b0b080d11151c26303e4b5865717e8b98a4b1a5988c7f7265594c3f3226190c000000000000000b1825323e4b5865717e8b98a4aea194877b6e6154483b2e21160d0700000000000000000003060b0f1213161b1615130f0a040000000000000000000915222f3c4855626f7b8895a2a79a8e8174707d8a97a1ac9f93877b6e61544a3f3328160c0200000000000000000c18232e3947535f6a7783909daa9f92867a6d7784919eaaa5998c7f7266594c3f3326190c000815222f3b4855626e7c7b7b7b7b7b7b7b6e685e5246392d20130200000000000000000008141f2c3845515d676e7b7b7b7b7b7b7b7c786c605346392d20130600000000000000020b162029333b444d555d606b70787d82868a8d8f919298999392908e8b88847f79726c665e564e463c342a20170b0200000000000000000000000007121c273039434b545c606b6f787d82868a8e90919299999291908e8b87827d786f6b606a7783909daaa5988b7f7265584c3f3225190c00000000000000020e1a26313946525e6873808c97a1ada1978c8073685e52453b3122202b37434e58616e7b86929faaa69d9083786c60554b4034281e13080000000000000000000000000000000000030d18242f3a434f59616d7a85929ea5a59e9184796d60584e42424d57606d7883919aa4a2988f82766c62574d42362a20170d020000000000000000000000000000000000020608080c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07121d27313d45515d67707d88939fa8a89f93887d70675d51453d31271d1207000000000000000000000000000000000000000000000000000a16212b343d4348494d4d4d4d4d4b4a453f362d22180c01000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabada1978b7e71675c51463c31281f160e07010000000000000000000000060b141c262f3a444f59636f7c8995a0abaa9e9185796d6053463a2d22170b0000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5763707d8995a0acaca1968c7f736a5f554b42382f281f18120d08060200010000000406060b0f12181c1f20242a22211f1a150e06000000000000000915222f3c4855626f7b8895a2a3978a7d7076828f98a2aea49a9184796d60584e42392e22180c020000000613202c3946535f6c7986929faca09386796d6053463a2d201307000000000002080d1113141818181818181818181818181e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b1818181818181818181818181715110c0600000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024171717171819191e20262e38424f596874818e9ba7b4aa978a7d7164574a3e3124170b000000000000000c1926333f4c5966727f8c99a5ada093877a6d6054473a2d2114060000000100010406060b0f12171b1f20232823221f1b160f0700000000000000000915222f3c4855626f7b8895a2a79a8d817475828f9ba9a99c8f8276695f5342382d22170400000000000000000007121d2b37434e5865727e8b98a2a3988b7f727784909daaa5998c7f7266594c3f3326190c000814212e3a47535f6a6e6f6f6f6f6f6f6e695f564c41362a1e110500000000000000000004101d2935404b555f696e6f6f6f6f6f6f6f6c665b5044382b1f12060000000000000000050e172129323b434b515960656c70757a7d818384858686868583817f7b77726d67605b544d443c342a22180e0500000000000000000000000000000b151e273139424a505960656c70767b7e818385868686868583817e7b76706c6560596b7784919eaaa5988b7f7265584c3f3225190c0000000000000005121e2b37424d57616e7a86929fa9a89e92857a6d60564c4133291f1a26313c46525e6973808d98a2aca0958a7e71675c51453a2f24190d03000000000000000000000000000000010b151f2935404b55616b74818e97a1aa9e938a7d70675d51463c3c44515c666f7c88939fa99f948b7e71695e52463e32291e130800000000000000000000000000000003090f1214151919191919191919191919191919191919151f2935404b55606b74818d96a1aca49a9184796d60594f43392f24180d03000000000000000000000000000000000000000000000000040f19222b32383b3c41414141413e3d3a342d241b110600000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a97a1adab9e9285796d60554b40342a1f160d040000000000000000000000000000020a141d28323e4854606b7783909dabada1978a7d7063544a3f33281c0f0300000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000020e1a25303b4854606b7783909da6b0a89f92867b6e675d544a42393129241d1914120e090d0d070c101213171b1f23282c2d31362f2e2b2620180f060000000000000915222f3c4855626f7b8895a2a396897c717e8b949faaa89f93887d6f675c51463c30271c1006000000000613202c3946535f6c7986929faca09386796d6053463a2d20130700000000050c13191d2021252525252525252525252525252b3844515e6b7784919eaaa79a8e8174675b4e4134282525252525252525252525252524211d171009000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024242424242526252a2d31373f4a54616b7885919eabaea298887b6f6255483c2f221509000000000000000c1926333f4c5966727f8c99a5ada194877a6e6154473b2e2117110e090d0e080d111314171c1f22272b2d3034302f2c2721191107000000000000000915222f3c4855626f7b8895a2a6998d80737a86929faca2978a7e7164574d422f261c1106000000000000000000000f1b26323c4754606d7a86929faa9d9083777683909ca9a5998c7f7266594c3f3326190c0006121f2b37434e585f62626262626262615f574d443a3025190d01000000000000000000000c18242f39434d575f6162626262626262605b544a3f33281c0f03000000000000000000050f172029313940454f535b6064686d7174767879797a79787775726f6a65605d55504a423b322a22181006000000000000000000000000000000030c151f2730383f444f535b6064696e7174767879797979787674716e6864605b535e6b7884919eaba5988b7f7265584c3f3225190c000000000000020b1a232d3a46535f6974818d98a2ada1968c7f72675d51443a30211715202a36424d57616d7a85929fa9a79e9184796d60564c4135291f140900000000000000000000000000000007121d27313945515d67707d89939ea9a2988f82756c61554b403434404a54606b74818d97a1a69f92857b6e615a50443a3025190e0400000000000000000000000000060e151a1f212226262626262626262626262626262626262626242f39434f59606d7984919ea5aca0968d80746b60554b4035291f150b0100000000000000000000000000000000000000000000000007101921272c2f30343434343432312e29221b1209000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e586874818e9ba9b2a8998d8073675c5143392f22180d0400000000000000000000000000000000020b16202c38434f5965717e8b99a3afa99b8e8175665b5044382b1f120600000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000009141f2c38444f5963707d89939eaaaea3989183796d665c544b433c352f2924211e1a1b1a1a1b181c1f2022272b2e34383a3e433b3a37312a21180e0300000000000915222f3c4855626f7b8895a2a295887c7b85929fa6aca1968d80746b60554b40342b1e150b00000000000613202c3946535f6c7986929faca09386796d6053463a2d201307000000050e161e252a2d2e32323232323232323232323232323844515e6b7784919eaaa79a8e8174675b4e41343232323232323232323232323231302d29221b12090000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30303030313131323036393c4347505c66707d8997a1adab9f9285796d6053463a2d201307000000000000000c1925323f4c5865727f8b98a5afa295887c6f6255493d3227221b1a1b1a1a1b191d202122282b2d3337393c413c3b38322b23190f040000000000000915222f3c4855626f7b8895a2a6998c7f737f8c99a3ab9f9285796d6053473b3120140a00000000000000000000000a15202c3945525d6875818e9ba8a095887c76828f9ca9a5998c7f7266594c3f3326190c00020f1a26313c464e535555555555555555534d453c32291e1308000000000000000000000007121d27313b454d53555555555555555553504a42382d22170b0000000000000000000000050e171f272f353d41495053565e616467696b666d6d676c6a6865625f5853514b443f382f29201810070000000000000000000000000000000000030d151e262e343d41495053565e616467696b666d6d666b696764615e565350495e6b7884919eaba5988b7f7265584c3f3225190c0000000000000a141d2b37434e58616e7b87929faaa89e9184796d60554c4132291e0f0e1a25303b46525e68737f8c97a1aca1968c7f72685d52453b31251a0e0400000000000000000000000000030c18232f39434f59606d7984919ea5a79f92857b6e61594f433a2f2e39424f59606d7a84919ea6a2978f82756c61564c41362a20160c020000000000000000000000060f1820262b2e2f333333333333333333333333333333333333333333313d45515d67707d89939da8a89f93887d6f675d51453d31271d120700000000000000000000000000000000000000000000000000070f161b1f222327272727272524211d1811090000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a7885919eabaca096887c6f62554b4031271d1006000000000000000000000000000000000000040e1b27323d4754616d7a86929facab9e9285796c605346392d20130600000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000002101c27333d4854606b75828f98a3aeaaa0958f81786d665d554e45403935302e2b262827272723282c2d2d3337394045464b504847433c332a20150900000000000915222f3c4855626f7b8895a2a194877b828f97a2ada59e9184796d60594f43392f22190c0300000000000613202c3946535f6c7986929faca09386796d6053463a2d2013070000020c1620283036393a3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e44515e6b7784919eaaa79a8e8174675b4e413e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3d39342d241b100600000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3d3d3d3d3d3e3e3f404146474e535c606d7883909da9b3a99c8f8275665c5044382b1f1206000000000000000a1724303d4a5763707d8a96a8b2a5988b7e7265594f443b332d2b262727272824292c2d2d3338393f4446494e4948443d352b21160a0000000000000915222f3c4855626f7b8895a2a5988b7f7783909daba79a8d8174675d5145382c1f1302000000000000000000000004111d2935414c5663707c8996a0a79a8d8075828e9ba8a5998c7f7266594c3f3326190c00000a15202a343c4347484848484848484847423c332a20170d020000000000000000000000010b151f29333b4246484848484848484846443f382f261c1106000000000000000000000000050d151d24292f383f44464c5254575a5c545c60605c555d5b5855534e4745403a332d261d170e0700000000000000000000000000000000000000030c141c23282f383f44464d5254575b5d545c60605c545d5b5854524d4644515e6b7884919eaba5988b7f7265584c3f3225190c000000000006111b262f384754606a75818e99a3aca0968b7e71675c51433a2f20170d09141f2935414c56606d7985919ea8a89f92857a6d60574d42362a20150a000000000000000000000000000a151e2934404b55606b74808d96a1ab9f958b7f72695e52473e312827303d45525d68717e8a949ea99e948a7e71685e52463e32281e130800000000000000000000030e18212a31373a3b3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f414b55606b74818e96a1ada49a9184796d60594f43392f23180c0400000000000000000000000000000000000000000000000000040a0f1315161a1a1a1a1a181715110c06000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8897a1adaa9e9184776a5f5443392e1f150b00000000000000000000000000000000000000000a16202d3946525e6876838f9ca9ada197887c6f6255493c2f22160700000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000b16212c38444f59616e7b86929fa5afa79e938e81786d675f57514b46413b3a3731343433342e34383a3c3f44464b5153575d55534e463c31261a0f03000000000915222f3c4855626f7b8895a2a5988b7f8b949ea9a99d93897d70675d51473d31271d10070000000000000613202c3946535f6c7986929faca09386796d6053463a2d201307000008131e28323a4146474b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b515e6b7784919eaaa79a8e8174675b4e4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b49453e362d22170c00000915222f3c4855626f7b8895a2aea3968a7d7063574a4a4a4a4a4a4a4a4b4c4d4c5254585f626e73808d95a0acada1978a7e7164544a3f34281c1003000000000000000815222e3b4855616e7b8896a1aca99c8f83766b60564d443f383731343334352f35393a3c3f4446495053565b56544f473d32271b0f0100000000000915222f3c4855626f7b8895a2a4978b7e7c8995a0aca095887c6f62554b4035291d10040000000000000000000000010d19242f3a4653606c7884919eab9f928579818e9aa7a5998c7f7266594c3f3326190c0000030e18222a31373a3b3c3c3c3c3c3c3b3a37312a21180e0500000000000000000000000000030d17212931363a3b3c3c3c3c3c3c3c3938332d261d140a0000000000000000000000000000030b12181d262d33373a4146474a4e504a505353514b504e4c4847433c39352f28221c140b05000000000000000000000000000000000000000000020a11171d262d33373b4246474b4e504a515353514a504e4b4746413b45515e6b7884919eaba5988b7f7265584c3f3225190c00000000000b17222d38414f59626f7c87939faba79d9184786d60554b4031281e0e05030d1925303a45515d67727f8b96a0aca2978d8073695e53463c32261b0b02000000000000000000000006111c26303845515c676f7d88939fa8a3999083786c60574d42352c1f1e2935414c56616c75828f98a2a69e92857a6d615a50443a3024190d040000000000000000000915202a333c4347484c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4f59606d7a84919ea5aca0968d80736b60554b40342920150a000000000000000000000000000000000000000000000000000000030709090e0e0e0e0e0b0b09050100000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a9b2a79a8e817467584e4330271d0d03000000000000000000000000000000000000000005111d2a36414c5666737f8c99a6b3a9998c7f7266594c3f2f24180c00000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000000005101c27333d46535f69727f8b939ea7afa59e938e81796e6a605d55524c48474242414040414240444648495053545c606469625f584e43372b1f1509000000000915222f3c4855626f7b8895a2a79b918b919ba6ada1978e81746b60554b40352b1f150b000000000000000613202c3946535f6c7986929faca09386796d6053463a2d20130700010d1925303a444c525458585858585858585858585858585858585e6b7784919eaaa79a8e8174675b58585858585858585858585858585858585650483e34291d1105000915222f3c4855626f7b8895a2aea3968a7d706357575757575757575758595a565e61646a6f76808d929ca7b1a79e9185796d6053473a2e23170b00000000000000000714212d3a46535f697884919eabab9f94897d70685e5650494642424140414142414547494a5053535b6063676360594f44382c1d120700000000000915222f3c4855626f7b8895a2a3978a7d818d9aa7ab9d9083776a605443392f24180c0000000000000000000000000008131f2b3744505b65727f8c99a3a2978a7e808d9aa6a5998c7f7266594c3f3326190c000000060f1820262b2e2f2f2f2f2f2f2f2e2d2b261f180f06000000000000000000000000000000060f171f262a2d2e2f2f2f2f2f2f2f2d2b28221c140b0200000000000000000000000000000001070b141b22272b3036393a3e41433f444647454044423f3c3a37312c29241d17110a02000000000000000000000000000000000000000000000000060b141b22272b30363a3b3e414340444646444043413e3b39363045515e6b7884919eaba5988b7f7265584c3f3225190c00000000030f1b27333f4953616b76828f9aa4ab9f958a7e71665c5043392f1f160c000008131e2935404b55606d7984919ea7a99f92867b6e61584e43372b1d140a00000000000000000000020b17232e38424e58606d7984919aa4a89f92877c6f665b50453b30231a19242f3a43505a616e7b86929fa7a1978e81756c61564c4135291f160c0100000000000000020f1a26313c464e53555959595959595959595959595959595959595959595959595959595d68707d8a939ea9a89f93877c6f675c51453d32271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536774818e9aa7b5ab978b7e7164584b3e3225150b000000000000000000000000000000000000000000010d1925303d495663707d8996a9b2a89b8e827568554b4035291d1004000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000b16212a36424d57626d74818e95a0a8afa59e938e837b736d67615d5655534e4f4e4d4d4e4e4a515355535b6062666d71766e6a5f53473c31261a0e030000000915222f3c4855626f7b8895a2ada39b989ba3ada59e91857a6d60594f433a2f23190d03000000000000000613202c3946535f6c7986929faca09386796d6053463a2d2013070005111d2a36414c565e616565656565656565656565656565656565656b7784919eaaa79a8e817467656565656565656565656565656565656564625a5045392d211508000915222f3c4855626f7b8895a2aea3968a7d706363636363636363646464656768686e71767c828d929ca4aeaaa0958c7f72675d5145382c1c1106000000000000000005121e2a36424d576773808d99a4afa69e91847a6e68605b53534d4e4e4d4d4e4f4c525456545b6062656c6f746f6b605448392f23180c00000000000915222f3c4855626f7b8895a2a396897d85929faba3998b7f7265584e4331271d120700000000000000000000000000030f1b27333f4953616e7b86929fa99c8f827f8c99a6a5998c7f7266594c3f3326190c00000000060e151a1f212222222222222222211e1a150e060000000000000000000000000000000000060d141a1e212222222222222222201f1c17110a02000000000000000000000000000000000000020a11171b1f252a2d2e31342e34383a3a38342f35322f2e2b26201d18130b06000000000000000000000000000000000000000000000000000000020a11171b1f252a2d2e31342e34383a3a38342e34312e2d2a3845515e6b7884919eaba5988b7f7265584c3f3225190c000000010c161f2b3744505b65707d89949faca69d9083786c60544a3f31271d0d040000020d18242f3944515c66717e8a95a0aca3988e81746a5f53473d2f261b11060000000000000000000a141d28343f4a545f6a73808d96a0aca1968d80736a5f544a3f33291f11131e28313e46525e69727f8b959fa99e938a7d70685d52453d31281d13070000000000000006121f2b37434e585f6266666666666666666666666666666666666666666666666666666666666b75818e97a1ada4999184796d60584e43372b1f130600000000000000000000000000000000000000000000000000000000000002060808131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657683909da9aea399887b6e6255483b2f221508000000000000000000000000000000000000000000000814212d3a4754606d7a8796a1adaa9d918477675d5145392c1f1306000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000050e1a26313b45515b606d798390959fa7afa59e9590867f79726d6865625f575b5b5a5a5a5b545c606264656c6f73797e837c6e62574d42372b1f14090000000915222f3c4855626f7b8895a2aeada7a5a7ada99e938a7d70685d52473d31281d110700000000000000000613202c3946535f6c7986929faca09386796d6053463a2d201307000713202d3946525e686d717171717171717171717171717171717171717784919eaaa79a8e8174717171717171717171717171717171717171716c6256493d3024170a000915222f3c4855626f7b8895a2aea3968a7d707070707070707070707171727375777a7e82878f949ca4aeaaa2989083786d60554b4035291d0a000000000000000000020e1a26313b4855626e7b87939fa9aca09691837a716c65615f575b5a5a5a5b5c565d606265666c6f73787c817d6f63554b4034291c1004000000000915222f3c4855626f7b8895a2a6998d808d97a2ac9f92867a6d6154473c3221150b0100000000000000000000000000000b17222d3846525e6975828f9ca99f9388818d9aa7a5998c7f7266594c3f3326190c0000000000030a0f1214151515151515151514120e09030000000000000000000000000000000000000003090e1214151515151515151513120f0b0600000000000000000000000000000000000000000000060b0f13191d2021242723282b2d2d2c2923282522211f1b15110d0701000000000000000000000000000000000000000000000000000000000000060b0f14191e2021242823282c2d2d2c2823282521202b3845515e6b7884919eaba5988b7f7265584c3f3225190c00000008131e2834404b54606c7883909da6ab9f94897d70655b5042382e1f150b0000000007121d2834404a54606c7883909da6aa9f93877c6f62594f41382d22170b000000000000000006111b262f3844505c666f7c87929fa8a59e9184796d60584e42382d20170d0c161f2a36424d57606c78839099a3a59e91857a6d60594f433a2f24180d030000000000000814212e3a47535f6a6e727272727272727272727272727272727272727272727272727272727272727a85919eababa0968d80736a6054473b2e2215080000000000000000000000000000000000000000000000000000000003090e121415202020202020201b1a17140e080100000000000000000000000000000000000000000000000000000000000613202d394653606c7885929facac9f9286796d6053463a2d201307000000000000000000000000000000000000000000000613202c3945515d677885919eabac9f93867a6d6053473a2d201407000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333f45515c676e7b8390959fa6aea7a098928c857f7a75716e6a6a68676766676869666d6f7174787c80858a8e8175695f53473b31261a0e0000000915222f3c4855626f7b8895a2aeb8b3b2b3ada1978e81756c61564c41352c1f160c0000000000000000000613202c3946535f6c7986929faca09386796d6053463a2d201307000714212e3a4754616d7a7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e85929eaba99c90827e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7164584b3e3125180b000915222f3c4855626f7b8895a2aea6998c807d7d7d7d7d7d7d7d7d7d7d7e7f808284878b8f939a9fa6aea9a19892867c6f665c5043392f24180c000000000000000000000914212e3a47535f6974818e97a1aba8a09591857e78736e696968676667686869686d6f7275797c8084898e8174675c5145382c1f1308000000000915222f3c4855626f7b8895a2a89c928d929ca9a89b8e8275685e5246392d20130300000000000000000000000000000006111b2a36424d5664707d8a97a1a49a938d929da9a5998c7f7266594c3f3326190c00000000000000020608080909090909090808060200000000000000000000000000000000000000000000000205070809090909090909060603000000000000000000000000000000000000000000000000000003080d111314171b171c1f20201f1c181b191515120f0a04010000000000000000000000000000000000000000000000000000000000000000000003090e111414181b181c1f20201f1c181b18141e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c0000010d19242f3845515c66717e8a95a0aca59c8f82766b6053493f30261c0d0300000000010c18232e3944505b65707d8a949faba4998f82766b6053493f33271d1207000000000000000b17222d38414d57606d78839099a3a99e938a7d70675d51463c2f261c0e05040d1a25303b44505b666f7c87929fa8a1978e81746b61554b4135291f150b0100000000000815222f3b4855626e7c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f828f9ca9b2a89f92877c6f6256493c2f231609000000000000000000000000000000000000000000000000000000060e151a1e21222d2d2d2d2d2d2d2726241f1a130b02000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8798a2aeaa9d918477665c5044382c1f12060000000000000000000000000000000000000000000004111d2935414b556976838f9ca9afa499887b6e6255483b2f221508000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000030d18212934404b555e696e7a838f949fa3abaaa39f97918c86827e7b78777574737374757577797b7e8185898d929792877b6e61574d42362a1c110600000915222f3c4855626f7b8895a2aebbc5bcb0a69e92857a6d615a50443a30231a0d040000000000000000000613202c3946535f6c7986929faca09386796d6053463a2d201307000916222f3c4955626f7c888b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9297a1adab9f94908b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b86796c5f5246392c1f13000915222f3c4855626f7b8895a2aea89c928c8a8a8a8a8a8a8a8a8a8a8a8b8c8d8f9196979c9fa4acaba69e9792867d706a5f544a3f31271d12070000000000000000000006121e2b37424d57616d7a859199a3aba7a097928b847f7b787675747374747576787a7c7e8285898c91969285796d6053473a3025190d010000000915222f3c4855626f7b8895a2aea49c999ca4ada1968a7d7063564c41362a1d1105000000000000000000000000000000000e1925303b4653606d7985919eaca49f9a9da4aea5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070b060b1012131413100c070c09080603000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b070c1012131312100c070b121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000004111d2935414c55606d7984919ea7ab9e93897c6f62594f41382d1e150a00000000000007121c27333f4953616b76828f9ca5ab9f94897d70655b5044392e23180c020000000000030f1b27333f49535f69727f8c95a0aba2978e81756b61554b40342a1d140a000009141f28333f4a545f6a73808d96a0a99d93897d70675d51453d31271d120700000000000b1824313e4b5764717e8a8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8f949faab7afa3998f8276695c504336291d100300000000000000000000000000000000000000000000000000060f181f262b2e2f393939393939393433302b241d140b000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a89c8f827569544a3f34281c100300000000000000000000000000000000000000000000010d18242f414e5b6874818e9ba7b5ab96897d7063564a3d3023170a000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000060f18232f39434d575e686d79828c9299a0a7aca9a19e99928f8b888583828180808181828486888a8e9297999ea1998e8174695f5346382d22170b00000915222f3c4855626f7b8895a2aebbbeb3aa9e948a7e71685e52483e32281e1108000000000000000000000613202c3946535f6c7986929faca09386796d6053463a2d201307000916222f3c4955626f7c88959898989898989898989898989898989898989ea1a9b3b0a69f9c9898989898989898989898989898989898989285796c5f5246392c1f13000915222f3c4855626f7b8895a2aeaea49c99969696969696969696979797989a9b9ea0a8a9acaba79f9d948f857d706b60584e42382e1f150b0100000000000000000000020e1a26313c46525e68707d879299a2a9a9a19e96918c888583818180808182838587898b8e9297999ea0988a7e7164564c4135291d11050000000915222f3c4855626f7b8895a2aeaea8a6a8aeac9e9184786c6053463a3025190d010000000000000000000000000000000009141f2c3844515c6673808d9aa6afaca7a9aeb2a5998c7f7266594c3f3326190c00000000000000020608080e0e0e0e0e0e0e0706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306070706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607070604000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c00000613202c3945515d67727f8c96a1aca4998f82756a6054473d2f261b0c03000000000000000b17222d38414f59626f7c89939eaba69d9083786c60554b4034281e1308000000000005121f2b3744505b656e7b86929fa7a79f92857b6e61594f43392f22180b020000030b17222d38424e58606d7984919ea5a59e9184796d60594f43392f24180c00000000000b1824313e4b5764717e8a979999999999999999999999999999999999999999999999999999999999999c9fa6b0bbb5ab9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000030e18212a31373a3b4646464646464641403c362f261d0c030000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a79b8e8174685b4e412e23170c000000000000000000000000000000000000000000000000071a2733404d5a6673808d99a6b1a4978b7e7164584b3e3125180b000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313b454d565e676d787f8690959ea0a8acaba39f9c989792908e8e8d8d8d8e8f909299979b9ea1a9abab9f92877b6e61544a3f33281c0f03000915222f3c4855626f7b8895a2aeafafaea2988f82756c61564c41362c20160c00000000000000000000000613202c3946535f6c7986929faca09386796d6053463a2d201307000916222f3c4955626f7c8895a2a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4abadb3afafb0aba9a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49f9285796c5f5246392c1f13000915222f3c4855626f7b8895a2aeafaea8a6a3a3a3a3a3a3a3a3a3a3a4a4a5a6a8aaa9a7a8a19e9a959089827a6f6b60594f463c30261c0d0300000000000000000000000009151f2a36414c56606b717e8792979fa6aca8a09d9997928f8e8d8d8d8e8f8f919795989b9fa2a9aaaa9c8f8275685e5246392d2013070000000915222f3c4855626f7b8895a2aeafafafafafa49a8c8073665b504438281e1308000000000000000000000000000000000004101c2834404a54626e7b88949fabafafafafafa5998c7f7266594c3f3326190c0000000000030a0f1214151b1b1b1b1b1b1b1312100c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c0005111e2a36414d56606d7a85929ea8ab9f93877c6f62584e43352b1d140a000000000000000006111b262f3e4754606a75828f99a3aca0958a7e71675c51453a3024190d0100000005121e2a36424d57606c77829098a3ab9f958b7f72685e52473e31271d10060000000006111c262f3c45515d67707d89939ea9a1968d81746b60554b4035291d1004000000000b1824313e4b5764717e8a97a4a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a9aab0afafafaa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000009151f2a333c424748535353535353534e4c4741382f1e150b0000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a69a8d8073675a4d4034271a060000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2a5998c7f7266594c3f3326190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f29333b444c555d666d727c838b91969da0a7aaaca8a9a29f9d9b9a9a999a9b9c9d9fa3aba7abacaaa9a19e998e8174665b5044382b1f1206000915222f3c4855626f7b8895a2a3a3a3a69f92857b6e615a50443a30241a0e0400000000000000000000000613202c3946535f6c7986929fa3a09386796d6053463a2d201307000916222f3c4955626f7c8895a2a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39f9285796c5f5246392c1f13000915222f3c4855626f7b8895a2a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2a2a2aba49f9e9c9a9796918d88837d756e6860594f473d342a1e150a00000000000000000000000000030d1925303a444f59616c717d8590949ea0a8acaaa9a29f9c9b9a999a9b9b9c9ea1a9a5a8ababa8a69f9c92867a6d6154473a2e2114070000000915222f3c4855626f7b8895a2a3a3a3a3a3a39f93877b6e61544a3f3328160c020000000000000000000000000000000000000c18232e3947535f6a7683909caaa3a3a3a3a3a3998c7f7266594c3f3326190c00000000060e151a1f212228282828282828201f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030709091313131313131311100e0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000714202d3946525e6873808d97a1a3a3998e81746a5f53463d32231a0b020000000000000000000a141d2b38434e58626e7c87929faaa79e9184796d60564c4135291d11040000000714212d3a46535e69727f8b949faaa3999083776c60564d41352c1f150b0000000000000a141d2935404b55606b75818e97a2a89f93887d70675d5145392c1f1306000000000b1824313e4b5764717e8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000020e1a26313c454d5355606060606060605a58524a4130271c120700000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a6998c807366594d4033261a0d000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000030d172029323a434b545c606a6f787e848b9195999da0a7a6a8aaaaa8a7a6a6a7a8a8aaaba9a7aca49f9d9a97928d8782786c605346392d201306000915222f3c4855626f7b88959696969696948b7e72695e52483e32291e11080000000000000000000000000613202c3946535f6c7986929696969386796d6053463a2d201307000916222f3c4955626f7c889596969696969696969696969696969696969696969696969696969696969696969696969696969696969696969285796c5f5246392c1f13000915222f3c4855626f7b8895969696969696969696969696969696969595959993918f8d8b8884807c76706b615e564f463d352b22180c03000000000000000000000000000008131e29323d47505a616b707b828a91969c9fa3aba9aba9a8a7a6a7a7a8a9abaaa8a6a9a19e9b9894908b867d7063564a3d3023170a0000000915222f3c4855626f7b889596969696969696968f8376695f5342382d22170b0000000000000000000000000000000000000007121c2b37424e5764717e8b9896969696969696968c7f7266594c3f3326190c000000060f1820262b2e2f353535353535352d2c28231c150c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f131516202020202020201e1d1a17110b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000814212e3b4754616e7b86929696969692867b6e61584e43342b20110800000000000000000000020b1b27323d47535f6a74818e98969696968c7f72685d5245392c201307000004101c2834404b55616e7b86929696969692877c6f655b50443b30231a0d03000000000000020b18242f39434f59616d7a85929696969a9184796d6053473a2d201407000000000b1824313e4b5764717e8a9696969696969696969696969696969696969696969696969696969696969696969696969696969083776a5d5044372a1d1104000000000000000000000000000000000000000000000006121e2b37424d575f6c6c6c6c6c6c6c6c67645c5242392e23180c00000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1a6998d8073665a4d4033271a0d000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e172028313a424a50585f666d72787e84888c909597999b9e9fa2aaa1a1a1aba39f9e9c9a989a93908d8985807b756c665b5044382b1f1206000915222f3c4855626f7c888989898989898982776c60574d42362c20170d000000000000000000000000000613202c3946535f6c7986898989898986796d6053463a2d201307000916222f3c4955626f7c888989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898986796c5f5246392c1f13000915222f3c4855626f7c88898989898989898989898989898989898989888887868483817e7b78746f6a636059524c443d342b23191006000000000000000000000000000000020d17202b353e48505960696e777e848a8f92999a9c9e9fa3aba1a1a1a49f9f9d9b999797928e8b88837e7a706b6054483c2f2216090000000915222f3c4855626f7c88898989898989898989897e7164574d422f261c110600000000000000000000000000000000000000000e1a26313c4753606d7986898989898989898989897f7266594c3f3326190c0000030e18222a31373a3b414141414141413a38342e271e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f22232d2d2d2d2d2d2d2a2a27221d160e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000e1b2834414e5b677481898989898989898074695e53463c3122190f0000000000000000000000000a16202b37434e58616e7b86898989898989857a6d6054473a2d211407000006131f2c3845515c6776828989898989898980736a5f53493f32291f1108000000000000000007121d27313d46525e68717e898989898989898073675a4d4034271a0d010000000b1824313e4b5764717e898989898989898989898989898989898989898989898989898989898989898989898989898989898983776a5d5044372a1d110400000000000000000000000000000000000000000000000814212e3a47535f697679797979797979746e64544a4034281c1004000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8074675a4d4134271a0e000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161f2830383f444e545c60666d71777c8084878a8c8f9192989394959494999291908e8c8a8683807d79736e69605b544a3f33281c0f03000714202d3a4753606d797d7c7c7c7c7c7c7c7a6d655b50453b30241b0e050000000000000000000000000000091623303c4956636f7d7c7c7c7c7c7d776c605346392d201306000714212d3a4754606d797d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6f6356493c30231609000714202d3a4753606d797d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b7a79787674716e6a67625f58544f46413b322b221911080000000000000000000000000000000000050e19232c363e474f575e656c71787d82868a8d8f919299949594949a9392908e8c8b8885827e7b76716d6760594f44382c2014070000000714202d3a4753606d797d7c7c7c7c7c7c7c7c7c7c796d6053473b3120140a0000000000000000000000000000000000000000000915202c3945515d676f7c7c7c7c7c7c7c7c7c7c7c7b6e6154483b2e21150800000a15202a343c4347484e4e4e4e4e4e4e4644403930271c1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111921272c2f30393939393939393736332e2720170e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c00091623303c4956636f7d7c7c7c7c7c7c7c7a6d60574d42342a201007000000000000000000000000040f1a26313c46535e696f7c7c7c7c7c7c7c7d7a6d6154473a2e21140700000713202d3a4653606d797d7c7c7c7c7c7c7c796d60584e41382d20170d000000000000000000010b151f2a36414c56626c717c7c7c7c7c7c7c7d6f6356493c30231609000000000714212e3a4754616d7a7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6f6255493c2f2216090000000000000000000000000000000000000000000000000815222f3b4855626e7b868686868686868074665c5144382c1f1308000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0a79a8d8174675a4e4134271b0e000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d161e262e343c424a51545c60646a6f73777b7d8082848586878788878786868583817f7d7a7773706d67615f57504a42382d22170b00000613202c3945515d676d70707070707070706d685e53493f33291f12090000000000000000000000000000000915222f3b4854606b6f7070707070706c655b5044372b1f1205000613202c3945515d676d70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706f6b6054483b2f221509000613202c3945515d676d70707070707070707070707070707070706f6f6f6e6d6c66696764625f5855544e48443d363029201910080000000000000000000000000000000000000007111a242c353d454d535b60666c71757a7d8082848687888888878686858382807e7b7975726e6965605d554f473d33271c10040000000613202c3945515d676d70707070707070707070706d675c5145382c1f130200000000000000000000000000000000000000000004101d2935404b555f6a6f707070707070707070706e695e53463a2d21140700020f1a26313c464e53555b5b5b5b5b5b5b53514a42392e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19232b32383b3c4646464646464644433f393229201108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3b4854606b6f707070707070706d685d52453b3122180e00000000000000000000000000000a15202a36424d575f6a6f707070707070706d685e5246392d201307000006131f2c3845515c676d70707070707070706d675d51463c2f261b0e0500000000000000000000030d1925303a44505a626b6f7070707070706f6b6054483b2f221509000000000713202d3946525e686d70707070707070707070707070707070707070707070707070707070707070707070707070707070706f6a6054473b2e221508000000000000000000000000000000000000000000000007131f2c38434f596673808c93939393939285796d6053463a2f24190d010000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1a69a8d8073675a4d4034271a0d000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c141c2328303940444a5053585f6266696e7173757779797a7b7b7b7a797978767472706d686763605c55534d443f382f261c1106000004101d2935404b555d606363636363636363615e564c41382d21170d000000000000000000000000000000000713202c38444f596063636363636363605b53493f33271b0f030004111d2935414b555d6063636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636360594f44382c1f13070004101d2935404b555d6063636363636363636363636363636363636362626261605b545a5855534e4947433c38332a251e170e0700000000000000000000000000000000000000000008121a232b333b414950545b6064686d70737678797a7b7b7b7a7a7978777573716f6c6565615f5754514c433d352b21160b0000000004101d2935404b555d606363636363636363636363605c554b4034291c1004000000000000000000000000000000000000000000010d18242f39434e585f6263636363636363636363615e574d42362a1e12050006121f2b37434e585f6268686868686868605c544a4034281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16212b353d44484953535353535353514f4a443b32231a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919ea4a4988b7f7265584c3f3225190c0007131f2c38434f59606363636363636363605d564c4133291f10060000000000000000000000000000030e1a25313b454e585f6263636363636363615e564c41362a1d1105000004101c2834404b555c606363636363636363605d554b40342a1d140a00000000000000000000000008131e29323f48505960636363636363636360594f44382c1f13070000000005111e2a36414c565e6163636363636363636363636363636363636363636363636363636363636363636363636363636363636260584e43372b1f130600000000000000000000000000000000000000000000000915222f3b4854606b7784919e9f9f9fa1978a7d7064564c4135291d11040000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a6998c807366594d4033261a0d000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e272e34383f44464e5355575e616466686b666d6d6e6e6e6d6d666b69676564615e565653514b46423c332d261d140a000000010d18242f39434b5153565656565656565654524c443a2f261b0f0500000000000000000000000000000000030f1b27323d474f545656565656565653504941382d22170b0000010d18242f3a434b5154565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656544f473d32271b0f0300010d18242f39434b51535656565656565656565656565656565656565655555453504a4e4b4847433c3b37322c272119140d05000000000000000000000000000000000000000000000008111a21292f383f444a5053565d60646769666c6d6e6e6e6e6d6c656a68666462605b5355534d4745413a312b231a0f0500000000010d18242f39434b5153565656565656565656565653514b43392f23180c000000000000000000000000000000000000000000000007121d28313c464e53555656565656565656565654534d453b31251a0e02000814212e3a47535f6a6e747474747474746d665c5144382c1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d474f5456606060606060605d5b554d44352c21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b788491979797978b7f7265584c3f3225190c00030f1b27323d474f54565656565656565654524c433a2f21170d0000000000000000000000000000000009141f29333c464e53555656565656565654524c443a3025190d010000000c18232e39434b5153565656565656565653514b43392f22180b02000000000000000000000000020c17202d363f474f545656565656565656544f473d32271b0f0300000000010d1925303a444c5254565656565656565656565656565656565656565656565656565656565656565656565656565656565655544e463c32271b0f030000000000000000000000000000000000000000000004101c2834404a54636f7c8996a0acacb3a99b8e8275685d5245392c2014090000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a6998c7f7366594c403326190d000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151c23282e34383c4347484d535457595c545c606061626161605c545d5b595754524c4a46454039373128221c140b020000000007121d28313940454749494949494949494746413a32291d140a0000000000000000000000000000000000000b16212b353d44484949494949494946443f382f261b110600000007131d28313a41454749494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494948443d352b21160a00000007121d2831394045474949494949494949494949494949494949494949484746443f413e3b3a37312e2b26201c160e080200000000000000000000000000000000000000000000000000080f171d262d33383f44464c5254575a545b60616162616160605b535b5958555350494846423b39352f281f1a110800000000000007121d28313940454749494949494949494949494745403931271d12070000000000000000000000000000000000000000000000010c161f2a343c434749494949494949494949494846423b33291f140900000815222f3b4855626e7c81818181818181786d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38444f5960636c6c6c6c6c6c6c6a675f55473d33271c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b78848b8b8b8b8b8b7f7265584c3f3225190c00000a16212b343d434849494949494949494745413a31281e0f0500000000000000000000000000000000030d17212a343c434749494949494949494746413a32291e13080000000007121d27303940454649494949494949494745403931271d10060000000000000000000000000000050e1b242d353d4448494949494949494948443d352b21160a00000000000008131e29323a41464749494949494949494949494949494949494949494949494949494949494949494949494949494949494947433c342b20150a000000000000000000000000000000000000000000000006121f2c3844515c6674818d9aa8b2b9b8ac9f92867a6d6054473b30251a0e0200000000000000000000000000000000000000000000000b1724313e4a5764717e8a97a4b0a79a8d8174675a4e4134271b090000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b1a5988b7e7265584b3f3225180c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c23282c32373b3c4246484a4d4f4a5053545455545453514b504e4c4a4746413d3a38342e2b261f17110a020000000000010c161f282f35393a3d3d3d3d3d3d3d3d3a3936302920170b02000000000000000000000000000000000000040f19232b32383b3c3d3d3d3d3d3d3937332d261d140a00000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b38322b23190f04000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3c3b3a3938332d312f2e2b26221f1b15100b0500000000000000000000000000000000000000000000000000000000050b141b22272d33383a4145474a4d4a50535455555554535350494f4d4b4846443f3b3a36312c29241e160d0800000000000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3a38342f271f150b01000000000000000000000000000000000000000000000000040d18222a32373b3c3d3d3d3d3d3d3d3d3d3d3b3a36312921170d0300000a1723303d4a5663707d898e8e8e8e8e867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b6f79797979797979777167594f44382c20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717e7e7e7e7e7e7e7c6e6255483b2f2215080000040f19222b32383b3c3d3d3d3d3d3d3d3a39352f281f160c000000000000000000000000000000000000050f18222a32373b3c3d3d3d3d3d3d3d3a3936302920170c0200000000000b151e272e34383a3d3d3d3d3d3d3d3d3a38352f271f150b0000000000000000000000000000000009121b232b32383b3c3d3d3d3d3d3d3c3b38322b23190f04000000000000020d1720293036393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322b22190e0400000000000000000000000000000000000000000000000713202d3a4653606d7985929eabafacafaea3988b7e7165574d42362a1e12050000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afa89b8f8275685c4f423025190e0200000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b0a3978a7d7064574a3d3124170a000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c11171c1f262b2e31363a3b3e40423f4446474848484746454043413f3d3a3936302d2c28231d1a140b060000000000000000040d161d24292c2d30303030303030302e2d2a251e170e05000000000000000000000000000000000000000007111921272c2f303030303030302d2b27221b140b020000000000040d161d24292c2d3030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2c27211911070000000000040d161d24292c2d3030303030303030303030303030303030302f2f2f2e2d2b28222522211f1a15130f0a0400000000000000000000000000000000000000000000000000000000000000020a11171c22282b2f35393a3d403f444647484848474746443f42403e3c3937332d2d2a26201d19130c04000000000000000000040d161d24292c2d30303030303030303030302d2c29231d150d03000000000000000000000000000000000000000000000000000006101820262b2e2f303030303030303030302e2d2a251f170f050000000a1723303d4a5663707d89969b9b9b93867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8686868686868683776b6155483c32261b0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303c4955616c717171717171716e6a5f53473a2e21140800000007101921272c2f30303030303030302d2c29241e160d040000000000000000000000000000000000000006101820262b2e2f303030303030302e2d2a251e170e05000000000000030c151d23282c2d30303030303030302d2c29241d150d03000000000000000000000000000000000009111921272c2f30303030303030302f2c27211911070000000000000000050e171e252a2d2e30303030303030303030303030303030303030303030303030303030303030303030303030303030302f2e2b2720191007000000000000000000000000000000000000000000000004111d2935414b5563707d8a97a1aba39fa3abaa9c8f8376695e52463a2d20150a00000000000000000000000000000000000000000000000815222e3b4855616e7b8894a8b2a99d9083766a564d42362a1e11050000000000000000000000000000000000000000000003101c28343f4a546875828f9ba8b3a995897c6f6256493c2f231609000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c10151b1f21252a2d2e31332e34383a3a3b3b3b3a3a38342e3432312e2d2a25201f1c18120e090300000000000000000000040c12181d2020232323232323232321201e19130d0500000000000000000000000000000000000000000000070f161b202223232323232323201f1b17110a0200000000000000040c13181d2021232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323221f1b160f0700000000000000040c12181d202023232323232323232323232323232323232323222221201f1c17181514120f0906030000000000000000000000000000000000000000000000000000000000000000000000060b11171c1f24292c2d312d3338393a3b3b3b3b3a3937332d33312f2d2b2722211e1a14110d08010000000000000000000000040c12181d20202323232323232323232323201f1c18120b0300000000000000000000000000000000000000000000000000000000060e151b1f21222323232323232323232321211e1a140d05000000000a1723303d4a5663707d8996a3a7a093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b7683909393939395897d7063584e43372b1f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3945505a6164646464646464625f574e42372b1e120600000000070f161b1f22232323232323232321201d19130c04000000000000000000000000000000000000000000060e151b1f21222323232323232321201d19130c050000000000000000030b12181c1f202323232323232323201f1d18120b0300000000000000000000000000000000000000070f161b20222323232323232323221f1b160f0700000000000000000000050d13191e2021232323232323232323232323232323232323232323232323232323232323232323232323232323232322221f1b150e070000000000000000000000000000000000000000000000000613202c3945515d6775818e9ba9a3999299a3ac9f93877b6e6154483c32261b0f00000000000000000000000000000000000000000000000714202d3a4753606d7a8696a1acab9f928578695e52463a2d2014070000000000000000000000000000000000000000000006121f2c3844505c667784919daaada297877a6e6154473b2e211408000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151a1e2121242623282b2d2d2e2f2e2e2d2c282328262421201e191313100c07000000000000000000000000000001070d10131416161616161616161413110d0802000000000000000000000000000000000000000000000000040b0f13151616161616161613120f0b060000000000000000000001070d11131416161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161615130f0a0400000000000000000001070d1013141616161616161616161616161616161616161616151413120f0b060808060200000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f13191d20212422282b2d2e2e2f2e2e2d2d2b2722262522201f1b1714120e090401000000000000000000000000000001070d10131416161616161616161616161413100c0701000000000000000000000000000000000000000000000000000000000000040a0f131516161616161616161616161514120e090300000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38444f5964707d8a95a09fa79c8f82766a5f53473b30251a0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111c28333e4850555758585858585855534e453c31261a0e020000000000040a0f131516161616161616161413110d08010000000000000000000000000000000000000000000000040a0f131516161616161616161413110d08020000000000000000000000070c10131316161616161616161413100c0701000000000000000000000000000000000000000000040b0f1315161616161616161615130f0a0400000000000000000000000002080d11131416161616161616161616161616161616161616161616161616161616161616161616161616161616161615130f0a04000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929fac9f9286929fa7a49a8c7f7266584e43372b1c11060000000000000000000000000000000000000000000006131f2c3945515d677884919eabaea298877a6e6154473b2e211409000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9e928578685e5246392d201407000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306090e121415171a171c1f202121222121201f1c181b19171413110d080604000000000000000000000000000000000000010406070a0a0a0a0a0a0a0a0707050100000000000000000000000000000000000000000000000000000000030709090a0a0a0a0a0a0605030000000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0909070300000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090909080706060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080d11131417171c1f20212222222120201f1b171a181513120f0b06050200000000000000000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0706040000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a08070502000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d4653606c7884919da9ab9f94887c6f62574d42362a1d13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222c363e45494a4b4b4b4b4b4b4847423c332a2015090000000000000000030709090a0a0a0a0a0a0a07060401000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a070705010000000000000000000000000000000406070a0a0a0a0a0a0a0a0706040000000000000000000000000000000000000000000000000000030709090a0a0a0a0a0a0909070300000000000000000000000000000000010507070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000005111e2a36424d5664717e8b98a2ab9b8e818e95a0ac9d9084776a5f5347382d22170b0000000000000000000000000000000000000000000004101d2935404b556975828f9ca8b3aa968a7d7063574a3d30251a0e020000000000000000000000000000000000000000000915222f3c4855626f7b8899a3aea99c8f837669564d41362a1e1105000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b060b10121314151515141313100c070c0a07070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040607060b0f121314151515141413120f0b060b0906050300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a161f2b3744505b65717e8b96a1ada69b8e8174695e52463a2f24180d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a242c33393c3e3e3e3e3e3e3e3b3a37312a21180e030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e6976828f9caaa4998a7d83919daaa095887c6f62544a3f33281c0f03000000000000000000000000000000000000000000000c18242f404d5a6673808d99abb5a6998d807366574d42362a1e1105000000000000000000000000000000000000000004101c2834404b5465727e8b98abb5ab9a8d8074675a4d413025190e02000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306070708080807070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e111113131313131311100e0a06000000000000000000000000000000000000000000000003080b0e0e13131313131313070604010000000000000000000000000000000000000000000000000000000000060a0e1011131313131313100f0d0a050000000000000000000000000000000000000000000000000000000000000000000004060712131313131313100f0d0a050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606070808080807060503000000000000000000000000000000000000000000000000000000000000000000000000000000010407070a0d0f10111111110f0e0c0907060300000000000001030306060606030301000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606d7984919eaaac9f92867b6e61554b4035291c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121a22282d30313131313131312f2e2b2620180f06000000000000000000030608091313131313131313131313131313131313131313131313131211100f0d0a0707040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b87939fac9f93867a808d9aaba79a8d8073665b5044382b1f120700000000000000000000000000000000000000000000071724303d4a5763707d8a99a3aea99d908376695e52463a2d20160b000000000000000000000000000000000000000006131f2c3845515c6675818e9ba8afa4998a7d7164574a3e3124170800000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b12171b1d1e2020202020201e1d1a16110b040000000000000000000000000000000000000001090f14181a1b202020202020201413110d080100000000000000000000000000000000000000000000000000030b11161a1d1d2020202020201d1c1a16100a03000000000000000000000000000000000000000000000000000000000001070c1013141f2020202020201d1c1a16100a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314171a1c1d1e1e1e1d1c1b19161312100c060000050a0d0f1013131313100f0d0a0500000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3845515c66727f8c98a2aea3998d8073675d5145382e23170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c21232425252525252522211e1a150e060000000000000000030a0f12151520202020202020202020202020202020202020202020201f1f1e1d1b19171413110d0805020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5865727f8c99a4aa9d9083777d8a99a4ab9e9184786c605346392f24180c000000000000000000000000000000000000000000000714212d3a4754606d7a86929facac9f93877b6e6154473d33271c0e05000000000000000000000000000000000000020b14202d3a4653606d7985929fabac9f93867a6d6054473a2d21140700000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000000306080913131313131313131313131313131313131313121211100f0e0c09070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161d23272a2b2d2d2d2d2d2d2a2927221c150e050000000000000000000000000000000000020b131a202427282d2d2d2d2d2d2c21201d19130c040000000000000000000000000000000000000000000000050d151c2226292a2d2d2d2d2d2d2a2926211c150d04000000000000000000000000000000000000000000000000000000030b12181d1f202c2d2d2d2d2d2d2a2926211c150d04000000000000000000000000000000000000000000000000020507080b0d0f1011111111100f0e0c0a0706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1013191d2021242729292a2b2b2a29272523201f1c17110f0a1016191c1d202020201d1c1a16110a030000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2834404b54606d7a85929fabab9f92857a6d60544a3f34281c100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c111417171818181818181514120e09030000000000000000060e151b1f21222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a28262421201d1914120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7783909dabaa998d80737a86939faca197897d7063554b4035291d10040000000000000000000000000000000000000000000613202c3945515d677683909cabafa49a8b7f7265594f44382c20170b0200000000000000000000000000000000000a141d2a36424d5763707d8a97a2adab9d908376685d5245392c20130700000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000030a0f121515202020202020202020202020202020202020201f1f1e1d1c1a19161413110d08060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1720282e3336383939393939393736332e2720170e00000000000000000000000000000000000b151d252b303335393939393939392d2c29241e160d04000000000000000000000000000000000000000000030d171f272e3336373939393939393635322d261f160d0000000000000000000000000000000000000000000000000000030d151d24292c2d393939393939393635322d261f160d0300000000000000000000000000000000000000000306090e121415181a1c1d1e1e1e1d1d1c1a19171413110d0705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f161c1e24292c2d30333536373837373634322f2d2c28231c1b151b212628292d2d2d2d2a2926221c150d0400000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3945515d6773808d99a3ada2978b7f72665c5044382b1f160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0b0b0b0b0b0b0b0808060200000000000000000006101820262b2e2f3939393939393939393939393939393939393939393939393938363533302d2c2924211e1a140f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953626e7b8895a0aca298897d707783909daaa99b8e8174675d5145392c1f130800000000000000000000000000000000000000000004111d2935414b5566727f8c99a4afac9d9083776b6054483e32291d140a0200000000000000000000000000000006111c262f3846525e6975828e9ba9afa3998c7f7266564c4135291d110400000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000060e151b1f21222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2b2a2827252321201d191413110d070300000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f202a32393f434446464646464644423f393129200f05000000000000000000000000000000020b1d272f373c4041464646464646463a39352f281f160c0100000000000000000000000000000000000000000b151f2931393e424446464646464643423e3831281f0f06000000000000000000000000000000000000000000000000010b151f272f35383a4546464646464643423e3831281f150a000000000000000000000000000000000000030a0f12151a1e21222427282a2a2b2b2a2a2927252321201d1814110e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b21272c3035393a3d4042434444444442413f3c3a38342e2b2620262d323536393939393635322d271f160d03000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000103040405040302000000000000000000000000000000000000000000000000000000000000000000000000000007121d2935414c55616e7b86929faca99e9184786d6053463d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222a31373a3c46464646464646464646464646464646464646464646464645444342403d3a39352f2d2a251f1b150d080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808d99a7ac9f9285796d73808d9aa9ac9f9285796d6053473a3025190d010000000000000000000000000000000000000000010d18242f3b4754616e7b87939facaca095897d70635a50443a2f261b140b0400000000000000000000000003091117222d38424e57616e7b86929facac9f92867b6e6154473b3024190d0100000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000006101820262b2e2f3939393939393939393939393939393939393939383836353432302d2c292420201d18130f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000030d1721323c444b4f51535353535353514f4a433b3121170d0300000000000000000000000000000a141d2f3941484c4e535353535353534745413a31281e13080000000000000000000000000000000000000006111c27313b434a4f50535353535353504e49433a3121180e03000000000000000000000000000000000000000000000007121d27313940454752535353535353504e49433a31261c1005000000000000000000000000000000040a0f151a1f21262a2d2e313335363738383736363432302d2c2924201e19140d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009101820262b33383a4145474a4d4f50515151504f4e4c4946443f3837322a31383e42434646464643423e3831281f150a000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014080b0e1011111111100e0c09070604000000000000000000000000000000000000000000000000000000000000000000000d19242f3a46525e6874818e9aa4aca0968a7e7164594f43382c1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0c0f10111111100f0e0b0808060200000000000000000000000000000000000000000000000a15202a343c4347485353535353535353535353535353535353535353535353525251504e4c4a4745413b3a36312b262019130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabab9b8f827567707c8997a1ada2988a7e7164564c41362a1e11050000000000000000000000000000000000000000000714202d3a46525e6976828f9ca7b1a79c9083766c61564c41382d261d160d0b06040000000000000206090e141a2328333f4a545f6a74808d99a3afa79c8f8276695e52463a2d1e13080000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000030e18222a31373a3c464646464646464646464646464646464646464545444342413f3c3a39352f2d2c29241f1c17110c07000000000000000000000000000000000000000000000000000000000000000000000000000009141f2933444e565b5e6060606060605d5b554d4333291f14090000000000000000000000000006111c262f414b53595b6060606060605f54514c433a2f24190d010000000000000000000000000000000000000a16222e39434d555b5d6060606060605d5a544c43332a1f150900000000000000000000000000000000000000000000000c18242f39434b51535f6060606060605d5a544c43382d21160a0000000000000000000000000001080d151b20262b2e31363a3b3e404243444444444342413f3d3a39352f2d2a251f19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a121b222a31373d44484c5254575a5c5c5d5e5e5d5c5a585653504a47433c363a42494e5053535353504e4a433a31271c11050000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201415181a1c1d1e1e1e1d1b19161313100c07000000000000000000000000000000000000000000000000000000000000000008131e2a36414d56626e7b87939faca89d9083766b6054483c31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000070c10121316191b1d1e1e1e1d1c1a181514120e09050200000000000000000000000000000000000000030f1b26313c464e535560606060606060606060606060606060606060606060605f5f5e5d5b595754524c4846423b373129241e160d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54636f7c8996a1aca3998b7e71646d7985929eabaa9c8f8275685e5246392d20150900000000000000000000000000000000000000000005111e2a36424d5764707d8a95a0acab9f948a7e71685e53493f382f281f1c1313100c070c0c0c090e12141a1f252a353e44505b666e7b87929fabab9f95897d7063564d42362a1e0c020000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000a15202a343c43474853535353535353535353535353535353535353525251504f4d4c494745413d3a39352f2b28221c18120b030000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b455660676b6c6c6c6c6c6c6a675f55453b30251a0e020000000000000000000000000b17222d3842535d64686c6c6c6c6c6c6c6a5d554c4135291d11040000000000000000000000000000000000000e1a26333e4a555f676a6c6c6c6c6c6c69665e54453c31261a0e0000000000000000000000000000000000000000000004101d2935404b555d606c6c6c6c6c6c6c69665e54493e32261a0d000000000000000000000000040c131920272b31373a3c4246484b4d4f5051515150504f4d4c4a4745413b39363029241e160d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131c242d343c43474f55565d60636668696a6b6a6a69676562605c54544e4642424c545a5c606060605d5a544c43382d22160a0000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2021222527292a2b2b2a2a282623201f1c18120f0a040000000000000000000000000000000000000000000000000000000000010e1925303b47535f6975828f9ba6ab9f95897c6f63574d42372b1e130800000000000000000000000000000000000000000000000000000000000000000000000000040a0f12181c1f202326282a2a2b2b2a29272522211e1a15110e0802000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b69686663605d5654534d47433c352f281f191008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6674818e9aa8ac9f92867a6d616674818e9aa9ac9f92867a6d6154473c31261a0e000000000000000000000000000000000000000000020e1a25303b4653606c7883909da6b0a69e91857a6d655b5049413a312c27201f1c18191919191a1a1e21252a31363f47505a606c78829099a3afa59d9083766b6054443b3025190e000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000030f1b26313c464e53556060606060606060606060606060606060605f5f5e5e5d5b5a585654514c4a4745403a38332d28231d150c090200000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57677277797979797979777167574d42362a1e12050000000000000000000000030f1c28333f4a54646f747979797979797975675d5145392c201306000000000000000000000000000000000000101d2936424f5b677177797979797979767066574d42372b1c110600000000000000000000000000000000000000000006131f2c3845515d676d787979797979797670665a4e4235291c0f0000000000000000000000060d161e242932373c4347484d5355575a5b5d5d5e5e5d5d5c5a585654514b4746413b352f2820160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000008121c252e373f464e53596063686d70737576777777777574726f6d66625f58524d45545e66696c6c6c6c69665e544a3e32261a0d0000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2b2e2f32343637373837363533302d2c28231d1b160f0a040000000000000000000000000000000000000000000000000000000008141f2b37424d57626f7c89949faba79b8f8275695f53463a3025190d000000000000000000000000000000000000000000000000000000000000000000000003090e151b1c23282c2d30333536373837373634322e2d2b26201e19140d08010000000000000000000000000000000815212e3a47535f6a767979797979797979797979797979797979797979797979797877767573706d6866615e57534e45413a312b221a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabab9c8f8376685e63707d8997a2ada3998b7f7265574d42372b1b110600000000000000000000000000000000000000000009141f2b3744505b65717e8a949faaada1978f82776c605b534b433e38332d2c28232626252626262b2e30363b42465159616c737f8c949fabaa9e938a7d7063594f4432291f1409000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6968676563605d555753514b46443f38342e271e1a140d0500000000000000000000000000000000000000000000000000000000000000000714212d3a46535e6977848686868686868377695e52463a2d201407000000000000000000000006121f2b3844505b667481868686868686877a6d6054473a2d211409000000000000000000000000000000000000111d2a3744505d6a77838686868686868276695f5347382e23170b0000000000000000000000000000000000000000000714202d3a4753606d79858686868686868276695d5043362a1d1000000000000000000000070f181f282f353d43474e5355575f61646668696a6b6b6a6969676563605d5554524d45413a32281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000040d1a242e37404951585f626b70767a7d8082838484848382817f7c79746f6a615e574f54667076797979797670665a4e4235291c0f0000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a31373a3b3e41434444444443413f3c3a38342e2c27211b150b06000000000000000000000000000000000000000000000000000000020e1a26313c4754606a7683909ca7ac9f93877b6e61564c4135291d1207000000000000000000000000000000000000000000000000000000000000000000060e151a20272b2e34383a3d3f42434444444342413e3b3a37312d2a251e19130c0400000000000000000000000000000915222f3c4855626f7c868686868686868686868686868686868686868686868685858483817f7d7a77726e69625f58524c433c342c231a1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664707d8a97a2ada3998b7e726556606d7985929fabab9d908377695f5347382d22170b000000000000000000000000000000000000000000030f1b27333f4953616c76828f98a3aea99e948d80746c655d554f48443d3a38342e333232333331373a3b42464d535b626c717e87939fa6aea2988f82756b6155473d3320170d02000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000815212e3a47535f6a7679797979797979797979797979797979797979787877767574726f6d676764605d5553504a454039302a251f170e08000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87969393939395877b6e6154483b2f23180c00000000000000000000000613202d394653606c79859293939393998a7d7064574a3d30251a0e0200000000000000000000000000000000000c1825323f4b5865727e8b9893939394887b6e61544a3f34281c10030000000000000000000000000000000000000006121e2b37424d5764717e8b97939393978b7e7164584b3e3125180b000000000000000000071019222a313a41454e54585f6266696e717375767777777776757472706d6766615e56524c443a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000010c16202c364049515b626a6f777d82878a8d8f8f909191908f8d8b8985817c756e6961595b667682868686868276695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a3c4247484b4d4f50515151504e4c494645403938322b262017110a0200000000000000000000000000000000000000000000000000000915202b38434e5863707d8a95a0aca4998d8174685e5246392e23180c0000000000000000000000000000000000000000000000000000000000000000070f1820262b323739404446494c4e50515151504f4d4b4847423c39363029241e160d08000000000000000000000000000915222f3c4855626f7b8893939393939393939393939393939393939393939a93929291908e8c8a86837f7b756f6a605d564e463d352c23190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6875828f9ba9ac9f92867a6d61545c6674818e9ba9ab9f95887b6e6253493f33271b0f030000000000000000000000000000000000000000000b17222d3841505a626e7b86929fa5afa69d928d80776d676159544f4946454040403f3f3f40414247484d52575e616d727e879299a4afa49f92857b6e61594f44352b210e0500000000000915222f3c4855626f7b8895a2a3a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c868686868686868686868686868686868686868585848382807f7c7a7774706d6763605b54514b423e363029201a11090100000000000000000000000000000000000000000000000000000000030f1b27333f495365717e8b98a89f9fa7988b7e7265554b4034291c1004000000000000000000000916232f3c4956626f7c8997a19f9f9f9a8d807467574d42362a1e120500000000000000000000000000000000000714212d3a4754606d7a86929f9fa6998d8073665c5044382b1f1408000000000000000000000000000000000000000814212e3a47535f697683909ca99f9f9285796d6053473a2d2014070000000000000000071019222b343c434c515860626a6f73777b7e808283848484838382807f7d7a76726e68605d564c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323e48515b636d727c83898f939a999b9c9d9e9d9d9c9a9897928e87817b706b62606c7985929393908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d60534746484d5355585a5c5d5e5e5d5d5b595653514b48433d373228221c140b0300000000000000000000000000000000000000000000000000030f1b27323d4653606c7883909da8ab9f92867a6d61554b4034281c10040000000000000000000000000000000000000000000000000000000000030b1218212a31373d43474a515356595b5d5d5e5e5d5c5a5855534d4746413b352f281f1a11090100000000000000000000000915222f3c4855626f7b88959f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa49f9f9f9e9c9b999993908c87817c746d6860584f473d352b21170b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facaa9c8f8276685e525463707d8a97a2ada7998c8073655b5044372b1f120700000000000000000000000000000000000000000006111b262f3e47535f69727f8c939ea7aea49d928d8179706b6360595653514b4d4c4c4c4c4d4e4d5355575e61696e767f879299a3aba69d928b7e71695e52473e33231a0f0000000000000915222f3c4855626f7b8895969696968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b88939393939393939393939393939393939992929191908e8d8b898684817d7a75706c66605c545046423b332c231b130a0200000000000000000000000000000000000000000000000000000005121f2b3744505b6575818e9ba8acaca89c8f8275675c5145382c1f130600000000000000000005121e2a36424d576673808d99a9b3acaa9d918477695e52463a2d20140700000000000000000000000000000000000613202c3945515d6774818e9ba7ab9e9184796d6053463b3025190e02000000000000000000000000000000000004101c2834404a54626e7b88949faba79a8d8074675d5145382c1f130600000000000000050e19222b343d464e555d606a6f757b8084888a8d8e9090919190908f8d8b8986837f7b756d685d5245392c20130700000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a44505a636d737f8690959c9fa4aca8a6a4a2a1a2a3a4a9a29f9a938e857d726d626f7b8898a29c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d60534d5354575f626567696a6a6b6a69686663605c54544e47433c332d261d150d03000000000000000000000000000000000000000000000000000a161f2b3744505b65717e8b96a1ada2988c7f73675c5145382c1f160b00000000000000000000000000000000000000000000000000000000030c151d2328333c42474e54545c60636668696a6b6a6a696765615f5754524c45413a312b231b130a01000000000000000000000915222f3c4855626f7b8895a2acacaea9a7a4a4a4a4a4a4a4a4a4a4a4a4a4a5a5a6a7a9a9a8aba49f9d99928e87817a6f6a60594f473d33291d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765717e8b98a3aea3988b7e7164564c53606d7985929fabab9e9184786c605346392e23180c000000000000000000000000000000000000000000000a141d2b37424d57626d75818e95a0a7aea49d938f847d76706b6663605c555a59595859595b575f6265696e747b828c9399a3aba69f948d80746c61574d42352c2111080000000000000915222f3c4855626f7c888989898989897d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b88959f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9e9c9b9a989a93918e8a86827d78726d66615a524d453e362d251c140a0100000000000000000000000000000000000000000000000000000613202d394653606c7885929eabb8b8ac9f9285796d6053473a2d20140a0000000000000000000714212d3a46535f697784909daab7b8aca095877b6e6154483b2e21150a000000000000000000000000000000000004111d2935414c55636f7c8995a0aca1978a7d7063564c41362a1e1105000000000000000000000000000000000006121f2c3844515c6673808d9aa6ab9f95887c6f62554b4035291d1004000000000000020c17202a343d464e585f676d747c82888d919697999b9c9d9e9e9d9c9c9a989992908c86817a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c56616c737f8b9298a0a7aca8a09e9a979695959697999c9fa29f9792887f726d717e8b98aa9c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3afa39986796d6053575e6166696e717476777777777674726f6d66626058534e443f382f271f150c03000000000000000000000000000000000000000000000000030f1b27333f4953606d7984919ea9aa9e9185796d6053463d33271c10040000000000000000000000000000000000000000000000000000020c151e272e343f454d53586062666d70727576777777767574716e6966615e56524c433d352d251b130a000000000000000000000915222f3c4855626f7b8895a2aeaea49d9a979797979797979797979797979899999a9c9fa2a9aaacaba39f99938d847c706b60594f453b2f261b1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e697683909caaac9f92867a6d605447515c6674818e9aa8aca196897c6f63544b4034281c1004000000000000000000000000000000000000000000020b1a26313c45515b606d798390959fa7aea59e96918a827d77736f6d67686766656566666869696e71767b80868f949fa4aba69f948f82786d605a50453b30231a10000000000000000714202d3a4753606d797d7c7c7c7c7c7d7a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2acacafa9a7a5a5a5a5a5a5a5a5a5a6a6a6a8a9a9a8a7aca49f9e9a99928f8a847f79716c615e5750483f372e261c130a00000000000000000000000000000000000000000000000000000915222f3c4855626f7c8897a1adb9b8aea2988a7d7063574a3d31261a0f0200000000000000000815222e3b4855616e7b8895a0acb8bab1a8978b7e7164584b3e31261b0f0300000000000000000000000000000000010d19242f3a4854606b7784919daaa99b8f8275685e5246392d20160a00000000000000000000000000000000000713202d3a4653606d7985929eabaa9d9083776a5f5343392f24180c0000000000000008131e29323c464e58606a6e7a81878f94999ea0a8a6a8a8a6a6a6a7a8a8a7aba39f9c9992887b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d68707e8a919fa3aaa9a19e96918d8a898888898a8c8f92989d9f9a938b7f7274818d9aa79c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ac9f928679665c5e61696e73787b7e80828384848483817f7c79746f6a625f58504a423931271e150b000000000000000000000000000000000000000000000000000b17222d3844515c66727f8c97a2ada1978b7e7164594f44382c20150a00000000000000000000000000000000000000000000000000000a141e273039404551575f626a6f75797d7f81838484848382807e7b77736e68605d564f473f372d251b12090000000000000000000915222f3c4855626f7b8895a2aea99d928d8b8b8b8b8b8b8b8b8b8b8b8b8b8b8c8c8d909297999da0a7acaba49f9691867d706b60574d41382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939faca99b8e8275675d51454b5463707c8996a1ada89a8d8174665c5145382c1f13080000000000000000000000000000000000000000000009151f2a333f45515d676d7a8390959da5ada8a19e948f8984807c7977757373727272737476787b7e82878d92989fa6ada49d948f82796d665c51483e33291f1108000000000000000613202c3945515d676d707070707070706d685e5246392d20130700000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeafa59d9a98989898989898989899999a9b9c9d9fa3aba8abaaaba39f9b96918b847e766e69615a514940382e251c120900000000000000000000000000000000000000000000000004101c2834404b5465727f8c98a9b3aeacaeaa9a8d807467584e43372b1f12060000000000000004111d2935414c5565727f8b98a7aeacaeb4a89b8e817568584e43372b1f1206000000000000000000000000000000000008131e2c38434f5965727f8c98a3ac9f92867a6e6154473d32271b0f0100000000000000000000000000000005121e2a36424d5764717d8a97a1ada2988b7e7265584e4331271d1207000000000000030c1925303a444e58606a6f7c848d93999ea6aaaba39f9d9b9a99999a9b9c9ea1a9a7aba395887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606d7a85929ea3aea7a097918a84807d7c7b7b7c7d7f82858a90959e9f918b7e7783909da99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ac9f9285796c61686e747b8084888b8d8f90919190908e8c8985817c766f6a605b544b433930271d120700000000000000000000000000000000000000000000000006111b2834404a54606d7a85929faaa99d9083776b6155483c32261b0f0200000000000000000000000000000000000000000000000006111c263039434b515b63696e767c8185898c8e90909191908f8d8b8884807a746d68605951493f372d241b0f0600000000000000000915222f3c4855626f7b8895a2aea79a8d807e7e7e7e7e7e7e7e7e7e7e7e7e7e7f80818385888c90959da0a7afa8a09892877d70695e53493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5866727f8c9aa4ada2978a7d7064554c414653606c7884919eabab9f9285796d6053463a2f24190d01000000000000000000000000000000000000000000030e18212935404b555e686d7a838e939ea2a9aca69f9c96918c89868382807f7f7f7f80818385888b8f93999fa3aaa9a19e928d82796d675d544a40362d20170d000000000000000004101d2935404b555d6063636363636363615e564c4135291d110500000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea99d938e8c8c8c8c8c8c8c8c8c8c8c8d8e8f919299989b9ea1a9acaca8a19e96918b827b706c625b524a40372e241b0f06000000000000000000000000000000000000000000000006131f2c3845515c6676828f9ca9aaa29fa2aa9e9184786a5f53473a2e211408000000000000000613202c3945515d6776828f9caaa29fa2aaab9e9185786a5f53473a2e2115070000000000000000000000000000000000010f1b27323d4754616d7a86929faca3998c7f7266594f43382c1d13070000000000000000000000000000000714212d3a46535e6976828f9ca9ac9f92867a6d6054473c3221150b010000000000000b151e2a36414c565f6a6f7c8691969fa4aba69f9c9992908e8d8c8d8d8e909297969a9da095887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6673808c97a1adaaa09590857d7873716f6e6f70717275797d838a92979f92877d87929fa99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9e9285786b6c707a81868c9196989a9c9d9d9e9d9c9b9998928e89827c736c665d554b43392e23180f060000000000000000000000000000000000000000000000000c18232e3945515d6773808d98a3aca095897d7063584e43372b1f14090000000000000000000000000000000000000000000000050f17232e38424b555c606d727b82898e9298999b9c9d9e9d9d9c9a9896918c86807a706b625b51493f362d21180b02000000000000000915222f3c4855626f7b8895a2aea3968a7d717171717171717171717171717272737476787b7f838990959ca3adaaa29992857b6e655b5044372b1f150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7784909dacab9f9285796d6053463a44505b6573808d99a7ada2978a7d7064564c4135291d110400000000000000000000000000000000000000000000060f18242f39434c565e686d79818b92979fa4ababa8a09e999892908e8d8c8c8b8c8c8e909297989c9fa4ababa39f97918a80786d675d554b42392e241b0e050000000000000000010d18242f39434b51535656565656565654524c443a3025190d0100000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea79a8e817f7f7f7f7f7f7f7f7f7f808081838486888b8e92979b9fa2aaaca8a19e948f857e726d645c524940362d22180c03000000000000000000000000000000000000000000000713202d3a4653606d7985929faca2989298a2a196887b6e6255483b2f24190d010000000000000714212d3a4754606d7a86929fa2989298a2a9a197887b6f6255483c2e23180c0000000000000000000000000000000000000a16202d3946525e6875818e9ba8ab9d9184776b6054483a2f24180d0100000000000000000000000000030f1c28333f4a54616e7b87939faca79b8e8174675d5145392c20130300000000000007121d27303946525e686f7c869298a0a8a8a19e94908a86838180808081818385878a8d909595887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929ea9aea29890837a716c6664636262636466666d71777d85909599928a9299a3a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3aa9e9184776d737d858d92999ea1a8a5a3a3a3a3a5a7a7aaa29f9b948f877f786d675d554b40342821180e03000000000000000000000000000000000000000000000007121c2935404b55616d7a86929faba79c8f82766a5f53473b30251a0e01000000000000000000000000000000000000000000030d172128343f4a545c676d757f868f949b9fa2aaa8a7a5a5a5a6a8a7a8a09e99928d857d726d625b51483e332a1d140a000000000000000915222f3c4855626f7b8895a2aea3968a7d706464646464646464646464646566666769696e72777c838c919ba3adaba2978f82776c6053463d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626f7c8895a0aca89a8e8174665c5145383f4953626f7c8895a0aca99b8f8275685d5245392c201409000000000000000000000000000000000000000000000007121d28313a444c565d676d747e858e93999fa3aaacaaaaa39f9d9b9a99989899999b9c9ea1a9a9acaba39f99928d857e736d665d554b433930271c12090000000000000000000007121d283139404547494949494949494746413a32281e13080000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d727272727272727272737373757677797c7e8185898e92989fa2aaaca69f9792877f736e645b51483f342a1e150b000000000000000000000000000000000000000000000a1623303d495663707c8998a2ab9f9285929fa8998c7f7266564c4135291d1104000000000003101c28343f4a5464717d8a99a39f92859297a2a9988c7f7265544b4034281c1004000000000000000000000000000000000005111d2935414c5663707d8996a0aca096897c6f63554b4135291d11040000000000000000000000000006121f2b3844505b6673808c99a4aca095897c6f63554c4135291d11040000000000000c18232e3942505a616d7a849198a2aaa69f96918a837e7a7775737373747576787a7d8084888c887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707d8997a1adac9f92867b6e68605b545655555657545c60646c707b8390959f979fa3aba99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3a99c908376737f8a92979fa39f9d9a9897969696989b9ea1a9aca69f99928c81796d675c51453f332a1f15090000000000000000000000000000000000000000000000000d18242f3a46525e6874818d99a4ab9f94887c6f62574d42362a1d130700000000000000000000000000000000000000000009141f29333b44505c666d79818c92999fa6aba39f9d9a999898999c9fa2a9aba39f9791877f726d625a50453c2f261b11060000000000000915222f3c4855626f7b8895a2aea3968a7d706358585858585858585858585859595a575f61666b6f787f8c919ba5afa99f948a7d7064584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6673808d9aa7ada196897c6f63544b40343847535f6a7784909dacac9f92867a6d6054473b31251a0e0200000000000000000000000000000000000000000000010c161f28323a444c555c606c717a81878e92989c9fa3aba8aaaaa8a6a6a5a5a5a6a7a9aba9aca49f9c99928e87817a716c605c544b433931271e150b0000000000000000000000010c161f282f35393a3d3d3d3d3d3d3d3a3935302820160c020000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7065656565656565656666676869676d6f7175787c81868d92989ea5aea9a299938c80736d635a50463c30271d1207000000000000000000000000000000000000000004111d2935414c566673808c99aaa3998e828e9ba89c908376685d5245392c201306000000000006121f2b3844505c6674818e9bab9c8f8285929fa89c8f8275665c5145382c1f13060000000000000000000000000000000000010d1925303a4653606c7884919eaba89b8e8174675d5145392c20150a000101010101010101010101010613202d394653606c7884919eabab9d9184776b6054433a2f24190d01000000000004101c2834404b54616c75828f96a1aaa79f9490847d76716d6768676666676869686d7074777b7f847b6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a9b3a9998c8073695e56504a494848494a4a50535961696e7a839197a2acafb5a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3a89b8e8275808c919ea19e9993908d8b8a89898a8b8e92979ea0a8aba39f938f82796d605b51453c31261a0e04000000000000000000000000000000000000000000000007131d2a36414c56616e7b87939faca69b8e8174695e52463a2f24180d0000000000000000000000000000000000000000020e1a25313b45505a606d78818e939fa3a9a19e9992908d8c8b8c8d8f92979d9fa7a9a199928c7f726c61574d41382d22170b0000000000000915222f3c4855626f7b8895a2aea3968a7d7063574b4b4b4b4b4b4b4b4b4b4b4c4d4e4d53555960666d737f8c939daab0a69d9083776a6054473b2e2215070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabab9e9184786c605346392e37434e5866727f8c9aa4aea3988b7e7165574d42362a1e12050000000000000000000000000000000000000000000000040d162028323a434b515a62686d747b81868b8f9299999c9d9fa3aaa2a2a3a2aba39f9e9c999a93908b86817b746d68615a504a423931281f150c03000000000000000000000000040d161d24292c2d303030303030302e2d29251e160e04000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d70635959595959595959595a5b555c606265656c6f747a80868e939fa2aaaba49f928c7f736c62584e43392e23180c02000000000000000000000000000000000000000613202c3945525d687683909da99f92867e8a97aa9f92867a6d6054473a2d22170b00000000000713202d3a4653606d7985929ea6998d8083909da99f9285796d6053463a2d20130800000000000000000000000000000000000008131f2b3744505b65727f8c99a3ac9f92857a6d6054473c31261a0f0e0e0e0e0e0e0e0e0e0e0e0e0e111e2a36414c5663707d8a96a1ada3998c7f7265594f4331281e130800000000000006131f2c3845515c66717e8a949ea8a99f9590827a706b64605d555a595a5a5b565e616367696e7377786c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875818e9ba8ada297887b6e62574d443f3c3b3c3d3e3f44464f575e686e7b85929fa9b2b6a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3a79a8d807e8b929c9d97928c8783807e7d7c7c7d7f81858a91969da4aea59e948e81756d62574d42372b21160a0000000000000000000000000000000000000000000000010d1925303a46535f6975828e9ba6ac9f92867b6e61554b4035291c11060000000000000000000000000000000000000005121e2a36424d57616c74818e939ea5a59e97928c8683817f7e7f8082858a90959fa3aaa39f918b7e71695f53493f33271d120700000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3e3e3e3e3e3e3e3e3e3f3f40414246484f545c606d74818e98a2aeaca095897c6f6256493c2e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b5563707d8996a1ada7998d8073655b5044372b313c4854616e7b87939facaa9c908376695e53463a2d21150a000000000000000000000000000000000000000000000000040e1620283039404550565e61696e747a7e8286898c8f9192989595969695959992918f8d8a87837f7a746e69605d5650443f3830281f160d030000000000000000000000000000040c12181d20202323232323232321201d19130c0400000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574c4c4c4c4c4c4c4d4d4e4b515355535b6063686d737a818a9298a1a9afa49c918b7e716a5f554b4034281e1408000000000000000000000000000000000000000714212d3a4754606d7a86929faa9d91847c8898a3a3998a7e7164544a3f33281c0f0300000000091623303c4956636f7c8997a1a9978a7e818e9ba7a298897c706356493d2f24190d010000000000000000000000000000000000030f1b27333f4953616e7a86929faca2988b7e7165584e43372b1d1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a202d3946525e6875828f9ba8ac9f92867a6d6154473d3221160c010000000000000713202d3a4653606d7984919ea6ada1979083796d68615954514c4d4d4d4e4e4c525457575f6166666c665b5044382b1f1206000000000000000000000000000000000000000000000000000000000000000000000000101d2a3743505d6a7683909da9ab9f9285786a5f53453b332d2f2f302e34383e454d565f69727f8b97a1adb6a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9e918486929f9b938e857f7b767472707070707274797e848d929ca3ada69e938b7f72695f53473d32271b0f03000000000000000000000000000000000000000000000008131e2b37424d57626f7c88949faba3998d8073675d5145382e23170b000000000000000000000000000000000000030e18212d3a46535e69717e8b939da5a49d938e857f7a76747272727375797d838b9298a2aaa39f92867b6e655b5044392e23180c00000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d313131313131313132333331363a3d424a505b616e7b86929facb1a79a8d807367544b4034281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6774818e9ba8aca095887c6f6253493f33272d3a46535e697683909cabac9f93877b6e6154483c32271b0f00000000000000000000000000000000000000000000000000040e161e272e343e444c52575f62686d72767a7d808284858788888989898887868483807d7a76726d68615f57524c443e342e261e160d040000000000000000000000000000000001070d101314161616161616161413110d08020000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3f3f3f3f3f4040404240454649495053565d60686e757e869197a1a9ada39f92867c6e675c51453b3025190d020000000000000000000000000000000000000a1724313d4a5764707d8a99a3a89b8e827886929fab9b8e8174665b5044382b1f120600000005121e2b37424d576773808d9aa9a297887b7f8b98acaa998c807366564c4135291d11040000000000000000000000000000000000000b17222d3846525e6875828f9ba8aa9d9083766a5f5347392e23272727272727272727272727272727272e3a4754616d7a86929faca89b8e8275685e5246392d20130400000000000006131f2b37434e5865727e8b96a1ada79e92857a6e675d564f47454140404041424146474a4d5355545b605b544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daaaa9d9184776a584e4333282222222323282b333b434d57606d7984919eabb6a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada1979192999b918b817a726e6867656463636365666d7179808c919ca4aea59f92867b6e62594f44382c1f14090000000000000000000000000000000000000000000000020e1a26313c4754606a76828f9ca7ab9f92857a6d60544a3f34281c100300000000000000000000000000000000000915202c38434f59616e7b86929fa5a59d928d817a726d686766656566666d70777f869298a2aea2989083776c60554b4034281c1004000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3025252525252525252626262a2d30383f46525e6874808d9aaab4aa9d908377665c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabac9d9084776a5f5341382d222a36424d5765727e8b99a3aea49a8c7f7266584e43372b1c110600000000000000000000000000000000000000000000000000040c151d2328323a41464d53565e6165686d70737577797a7b7c7c7c7c7b7b79787673706d6865615e56534d45413a3228231c140c0400000000000000000000000000000000000000010406070a0a0a0a0a0a0a0707050100000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d323232323333342e34383a3c3f44464c52565e616c717c859197a1aaaea2989083796d60564c41362a1e1308000000000000000000000000000000000005121e2a36424d576774818d9aaba5998c7f7783909daa9e9285796c605346392d2013090000000714212d3a46535f697784919daa9f9285787c899aa4a99d908376685d5245392c20130700000000000000000000000000000000000006111b2a36414c5663707d8a96a1ab9f95887b6f62544b4034343434343434343434343434343434343438444f5965727f8c99a3aca196897d7063564c41362a1d11050000000000000815222e3b4754606a7784919da8aca0958a7e71685e554c443e39352f3333343036393a3d4246484a5053504a42382d22170b00000000000000000000000000000000000000000000000000000000000000000000000000111e2b3844515e6b7784919eaaaa9d9083776a554b4035291d151516171c2129313c45515c67737f8c99a9b3a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b2a9a19e9f9c928b7f746d67615e565857565657545c60676d747f8c929da7aea3988f82756b6054483b31251a0e02000000000000000000000000000000000000000000000009141f2b37434e5863707d8995a0aca2978b7f72665c5044382b1f160a00000000000000000000000000000000020e1a26313b4854606b75818e98a2a89e938d80756d68615e56595859545c60646d727d86929fa5aa9f958b7e71675c5145382c1f150a000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302418181818181818191a1a1e21262e36414d5663707d8998a2aeac9f9286796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717e8a98a2aea49a8c7f7266584e432f261b25313b4754616d7a86929facac9d9184776a605447382e23170b0000000000000000000000000000000000000000000000000000030b1218202830363c42474c5254565d60636669656c6e6e6f6f706f6f6e6d66696664615e5654524c46423b352f282017110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3026262626262723282c2d2d33373a41454c525a616a6f7b859298a2aeaaa0958c7f73685e52463a3025190d00000000000000000000000000000000000714202d3a46525e697784919daaa896897d74818d9aa7a197897c6f6256493c30251a0e0200000815222e3b4855616e7b8895a0a99c8f82767a86939fac9f92867a6d6054473a2d211409000000000000000000000000000000000000000e1925303b4653606c7884919eaba79a8d8073665c5145414141414141414141414141414141414141414854606b7784919dabab9e9184786c6053463a3025190d010000000000000916232f3c4956626f7c8996a0acaa9d9083786c60564c433a322c2924262727252a2d2e31363a3b3f4446443f382f261c110600000000000000000000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7783909daaab9e918578675d5145392c231c19151312171f2934404b55626f7c8997a2ada99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b2adab9f958c80736d605d55524d4b4a49494a4a50555c606d74808d95a0acaa9e94897c6f63574d42362a1e12050000000000000000000000000000000000000000000000030f1b27323c4855616b7783909da8a99e9184786d6053463d32271b0f0300000000000000000000000000000006121e2b37424e57636f7c89939eaaa1968e81756e605d56524c4c4b4c4b51535b626b717e8a929da9a79e9184796d6053463c32261b0f030000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170b0b0b0b0b0c0c090e12141c25303b4653606d7985929facafa399887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875828f9caaac9f93877b6e6154483c312114202d3946525d6875828f9baaaca095887c6f62544a3f34281c1003000000000000000000000000000000000000000000000000000000070e161e252a31373a4146474c52545659535b606162626363626261605c545a5754524c4746413a363129241e160d060000000000000000000000000000000000000000000000000000020507080a09070705010000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241919191a1a181c1f2022272b30353b4146505860696f7c86929fa6b0a79f92867a6e61564c41362a1b1106000000000000000000000000000000000815212e3b4854616e7b8796a0aca196877a717e8b98a9a9998c807366574d42362a1e11050004111d2935414c5665727f8c98a8ab998c80737784919daaa3998a7d7064574a3d31251a0e0200000000000000000000000000000000000008141f2b3844505b6673808c99a4ab9e9285796d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4c56636f7c8996a0aca3998c7f73655b504437281e130800000000000005111e2a36414c566774808d9aa8aea2988a7e71655b50443b3128201d191a1a1b191d2021262a2d2d33383938332d261d140a0000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9ac9f93867a6d6053473e342e292421201f1c18232f3a4653606d7985929faba99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcb1a79d9083786d605b514c46413f3d3d3d3d3f444b515b606d7883909da6b0a69b8f8275695e53463a2d2114070000000000000000000000000000000000000000000000000a15202c38444f5964717e8a96a1aca0968a7d7164594f43382c1f14090000000000000000000000000000000814212e3a47535f6a75828f9ca5a79e9184796d605c524c46413f3f3f4045465159616c74818e97a2ada1968b7e7164584e43372b1f13060000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000002050a141f2c3845515c667784919daab5ab96897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facab9c908376695e53463a2d21141d2935414c5664717e8a98a2aea79a8d8074665c5044382b1f120700000000000000000000000000000000000000000000000000000000050c13191f262b3036393a4145474a4d495053545555565656555453504a4d4a4746413a3936302a261f19130c040000000000000000000000000000000000000000000000000003090e12141516161413110d0802000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170c0d0d070c101313171b1f242930363e464e57606a727f8b949fabaea2988d8174685e5246382d22170b000000000000000000000000000000000b1825313e4b5864717e8b97a8ab9e9184786f7b8897a2aa9d908377695e52463a2d201407000713202c3945525d6876838f9ca9a4998a7d7074818e9ba7ab9a8d817467574d42362a1e1205000000000000000000000000000000000000030f1c28333f4a54616e7b87939faca1978a7d7164575a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5d6874818e9ba8ac9f92867b6e6153493f3327160c020000000000000714202d3946525e687784919daaab9f9285796d6053493f32291f16110d080d080d1113141a1e2122282b2d2b28221c140b0200000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa9afa4998a7e71645a50443f3835302e2d2b2823282b3844505c667683909ca9a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b8ab9f95897d70665c5045413a36303130302e34394045505c66707d89949faaac9f93877b6e6154483b2f24180d01000000000000000000000000000000000000000000000004101c27333d4653606d7984919ea9a89d9083766b6054483c31261a0e0200000000000000000000000000030f1c28333f4a54626e7b87939faca0958a7e71675d5145413a3630322e34383f47505a616d7a85929faba89d9083776a5f53473b2e2115090000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000004101c2834404b546976838f9ca9b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b99a3aea3998b7e7265574d42362a1e121924303a4753606d7985929fabab9e9185796d6053463a2f24180d010000000000000000000000000000000000000000000000000000000002080d151a1e252a2d2f35393a3d403f4446474849494949484846443f403d3a3936302d2a251e1a140d0801000000000000000000000000000000000000000000000000040a0f141a1e2021232321201d19130e090300000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000406060b0f13191e252a343d454e58626d76828f99a3afaa9f92867a6d6153493f33271b0f03000000000000000000000000000006121f2b37434e586875818e9ba8a89b8e82756c7985929eaba095877b6e6154473b2e23180c000714212d3a4754606d7a86929fac9f93867a6d727e8b98aaaa9e918477695e53463a2d211406000000000000000000000000000000000000000b17222d3846535e6976828f9ca9a99c8f82766967676767676767676767676767676767676767676767676d7a86929faca99c8f8275695e5241382d22170b000000000000000814212e3b4754616e7a8795a0aca89b8e8275675c5141382d20170d0401000000010507090e1214171c1f201f1c17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a97a1adab9c8f82766c6159504a45413d3b3a38342e3534343f4a546875828f9ba8a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b6aa9d9083776b60544a3f352f2a2524232323282e343f4a54606b76828f9ca9afa4998c7f7265554b4135291d11040000000000000000000000000000000000000000000000000b161f2c3844505c66727f8b97a1ab9f95897c6f63574d42372b1e13080000000000000000000000000006121f2b3844505b6674808d9aa4ab9d9184786c60554b4035302a252523282c353e46525e6873808c99a3aca095887c6f6255493c31251a0e0200000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000c18232e424f5b6875828e9ba8b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697683909cabac9f92867a6d6154473b31251a0e131f2c3845515c6774818e9ba9ada197897d7063554b4035291d100400000000000000000000000000000000000000000000000000000000000003090e13191d2024292c2d302d3337393b3b3c3c3d3c3c3b3a38342e312e2d2a25201e19130e090300000000000000000000000000000000000000000000000000070e151b1f252a2d2e30302e2d29241e1a140d05000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000003080d1419222b333d46515b626e7b87929facaea3988c7f72655b5044372b1f120500000000000000000000000000000815212e3a47535f6a7885919eabaa988c7f726575828f9ba8a7988b7e7165554b4034281c1004101c28343f4a5464717e8a99a3aa9d908377686f7c8898a2aca096877b6e6154483b2d22170b0000000000000000000000000000000000000006111c2a36424d5764707d8a97a1ac9f93877b747474747474747474747474747474747474747474747474747f8b98a2ada1978a7d7064574d422f261b1106000000000000000a1724303d4a5763707d8a96a7b1ab988b7e7165554b402f261b0e050000000000000000000205060b0f1213120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929ea9ab9f948b7e716b605c54524c4a4846443f42424141414e5b6774818e9aa7a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b2a8988b7f7265594f42382e241e19171616171d232e38424f5963707d8997a1adab9d908376675d5145392c20130600000000000000000000000000000000000000000000000003101c28343f4a54606d7985929eaaa79b8f8275695f53463a3025190d000000000000000000000000000613202d394653606c7884919eaca3998b7e71655b50433a2f241e1918181c232935414c56616e7a86929faca7998d807366574d42362a1e120500000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000001071c2936424f5c6975828f9ca8b6ac96897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b88949fabaa9b8f8275685d524639291f1409101c2934404b5563707d8997a1ada99b8e8175675d5145392c201408000000000000000000000000000000000000000000000000000000000000000002080d1113191d20212322272b2d2e2f2f30302f2f2e2d2c28232421201d1913110d0802000000000000000000000000000000000000000000000000000007101820262b30363a3b3d3c3a3935302a251f170f050000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000002081019212b343f47535f6a74818e9aa6b0aa9e9184786c605346392d20130700000000000000000000000000000915222f3c4855626f7b8897a1ada298897c6f65727f8c98a9a89b8f8275675c5145382c1f1306121f2c3844505c6675818e9babaa9a8d8073676d7985929faba8988b7e716553493f33271b0f03000000000000000000000000000000000000000e1a25313b4653606d7985919eaca4998f828080808080808080808080808080808080808080808080808084919eaaab9e9185796d6053463b3020140a00000000000000000c1926333f4c5966727f8c99a5afa399887b6f6255483c2e22140a000000000000000000000000000003060606030000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6773808c96a1aba69f92867d726d66605d56575453504a4f4f4e4d4d4d5a6673808d99a6a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0aca096877b6e6154483d30261c130e080a060c121c26303d4653606c7885919eabac9f92867a6d6054473a2d211407000000000000000000000000000000000000000000000000000c17232e3845515d6773808c98a2ac9f93877b6e61564c4135291d12070000000000000000000000000a1623303d495663707c8997a1ac9f92867a6d6053493f31281d130d080c101925303a46525e6876828f9ca9aa9e918477695e53463a2d21140700000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0101010100000306070c121f2b37434e586a7783909daaafa49a887b6f6255483c2f2215090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5866737f8c99a6aea2988a7e7164564c413529170d030c18232f3a4653606d7984919eabac9f92857a6d6053473b3025190e020000000000000000000000000000000000000000000000000000000000000000000105080d11131417171b1f202122222323232221201f1c17171413110d080501000000000000000000000000000000000000000000000000000000071018222a32373b42464849494746413a36302921170e0500000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000070f19222b37424e57626e7b88949fabaca096887c6f6255493c2f24180d0100000000000000000000000004101c2834404a5465727f8c98a9ac9f9285796d626f7c8897a1ac9f9285796d6053463a2d20130913202d3a4653606d7985929faba3988a7d70636675828f9ca8a89b8e8175655b5044372b1f12050000000000000000000000000000000000000009141f2c3844515c6673808d9aa4ab9f948f8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d9196a0aca6998d8073665c5044382c1f120200000000000000000e1b2835414e5b6874818e9ba7ac9f9286796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55606d79849199a3aba29892877f78726d68666361605c545c5b5b5a5a595a6673808d99a6a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0aa9e918477695e53463a2b1e140a01000000000a151f2b3844505b6674808d9aa7afa399897d7063564a3d3023170a0000000000000000000000000000000000000000000000000006111c2935404b55616d7a86929faba4998d8074685e5246392e23180c000000000000000000000004111d2935414c566773808d9aa9a89c8f8275685d5241382d1f160c02000008131e2a36414c5665717e8b98a8aca096877b6e6154483b2e21150600000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170e0e0e0e0e060b0f1213181d232e3a47535f6a7885919eabac9f93867a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a7784919daaab9f9285796d6053473a302419070007121f2b3844505c6674808d9aa8aea2988a7e7164564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000001040707060b0f121314151616161615151312100c06070705010000000000000000000000000000000000000000000000000000000000040e18222a343c43474d5254565654524c46423b332920170d02000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000007101a26313c47535f6976838f9cacb2a8998c807366554b4035291d100400000000000000000000000006121f2c3844515c6675828f9ca8a99c8f837666606c7885929eaba298897d7063564a3d31261a0f1623303d495663707c8997a2ac9f92867a6d6066727f8c99aaab9e9285786c605346392d2013070000000000000000000000000000000000000004101c2834404a54616e7b87939faca69f9c9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9ea0a8ab9f94887b6e61544a3f34281c10030000000000000000101c2936434f5c6976828f9ca9aa9e918477665c5144382c1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3945515d67707d879299a2aaa299928c847e7a7673706e6d666a696867676666656673808d99a6a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0a89b8e827568574d42362a190c020000000000030f1c28333f4a5463707d8996a9b3ab998c7f7266594c3f3326190600000000000000000000000000000000000000000000000000000c18242f3946525e6874808d99a3ab9f92867a6d61554b4034281c1004000000000000000000000713202c3945525d687783909daaaa988c7f7265564c412f261b0d04000000020e1925303b4854616e7b8796a0aca8978b7e7164584b3e2e23170c00000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241b1b1b1b1b1b1b171c1f2023292f35414c56626f7c8897a1adaa9d908477685d5245392c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8896a0aca99b8e8174675d514538281e13080003101c28343f4a54626f7c8896a0acaa9c8f8276685e5246392d20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506080809090a09090807060300000000000000000000000000000000000000000000000000000000000000000000000a15202a343c464e53575e616363615d56524d453b32291e1408000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000915202b37424d5765717e8b9aa4afaa9d908377675d5145392c2013060000000000000000000000000713202d3a4653606d7985929facaa998c8073665b6574818e9babaa9a8d807467584e43372b1f121e2b37424e576773808d9aa9a99c8f8276675d626f7c8998a2ada197887c6f6255493c2e23180c00000000000000000000000000000000000000000c18232e3947535f6976838f9ca9b0aba9a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7aaacb2a99c8f8376695f5342382e23170c000000000000000000111e2a3744515d6a7784909daaa99c90837669544a4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2935414b55606b717e8792989fa6a39f95918b86837f7d7b797876757574747373727173808d99a6a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0a6998c7f7366594c4031251a0d000000000000000b17222d3b4754616e7a8797a1ada89b8e8175685b4e422d22170b000000000000000000000000000000000000000000000000000007121d2a36414c56616e7b87929faca2988c7f73675c5145382c1f160b000000000000000000000714212d3a4754606d7a86939faca398887c6f6255493c3022140a00000000000814202d3a46525e697784919eaaa79b8e817468544a3f34281c1003000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30272727272727282822282b2d2f34394045525d68737f8c99a9b0a69a8d807467564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6674808d9aa8ada197897d7063554b4035291d100400000b17232e384754606a7784919daaac9f92867a6e6154473c31261a0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e585f62696e706f6d68615e574d443b3025190d000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000030e1a26313c4754616e7a87939facac9f93867a6d6053473a2d201407000000000000000000000000091623303c4956636f7c8998a2aea398897d70635364717e8a99a4aa9e9184776a5f53473a2e2114212e3a47535f6a7784919eaaa7988b7f726555606d7985929faba9988c7f7265554b4034281c10040000000000000000000000000000000000000007121c2b37424d5764717e8a97a2adb7b5aca6a4a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a4a6acb7b9ada2978a7e7164574d4230261c1106000000000000000000121e2b3845515e6b7884919eaba89b8f8275685c4f422e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a434f59626c717e868f949d9fa7a09d99928f8c8a8786848382828180807f7f7e7e818f9ba8a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0a4978a7e7164574b3e31241809000000000000000614202d3946525e687885929eabaa9d9083776a53493f33271b0f0300000000000000000000000000000000000000000000000000010d1925303a46535f6975818e9ba6aa9e9185796d6053463d33271c10040000000000000000000a1723303d4a5663707d8999a4ac9f9286796d6053463a2d201307000000000005121e2a36424d576875818e9ba8aa9d908377665c5044382c1f1206000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3434343434343434352d3338393b40454b515b606d7a85919eabab9f94897c6f6256493c3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985919eabab9e9185796d6053463a2f24180c00000006111c2b37434e5866737f8c99a7afa3998c7f7265584e43372b1b110600000000000000000000000000000000000000000000000000000000000000040607090c0e1010111111100f0d0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f6a6f767b7c7c7a756e695e564c41362a1c12070000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000915202d3946525e687783909daaafa499897c6f6356493c30231609000000000000000000000004111d2935414b556673808c99aaac9f9286796d6054616d7a86939faca096887b6e6255483b2f2419222f3b4855626e7b8896a0aca095887b6e61555c6675828f9ca8a99c8f8276675c5145382c1f130600000000000000000000000000000000000000000e1a26313c4653606d7985929eabb8aca29b9895959595959595959595959595959595959595989ba2acb8ab9f9285796d6053473c3120150a00000000000000000000121f2c3845525f6b7885929eaba89b8e8175685b4e4235281b07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313d47505a626c717b828a90959a9ea1a39f9c9996999291908f8e8e8d8d8c8c8b8a8f939eaaa99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3afa296897c6f6356493c302316090000000000000005111e2a36414c566976838f9ca9ab9e918578655b5044372b1f1205000000000000000000000000000000000000000000000000000008131e2a36424d57626f7c88949faba1978b7e7164594f44382c20150a0000000000000000000c1926323f4c5965727f8c98abaa9d908377665c5044382c1f12060000000000020e1a25303f4c5965727f8c98a5ac9f9286796d6053463a2d201307000915222f3c4855626f7b8895a2aea3968a7d7063574a41414141414141414141423f4446484b51555c606d74818e97a1ada4998f82766a6054483b2e1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707d8997a1ada89a8d8074665c5044382b1d1207000000000f1b27323c4855616e7b88959fabab9d9083776a5f5347382d22170b0000000000000000000000000000000000000000000000000000000003070c10131416191b1c1d1e1e1e1d1b1a171414110e0905020000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a6f7c8387898986827b6e685e5246392e23180c0000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000005111e2a36414c566774818d9aa7b5ab988b7f7265584c3f3225190c00000000000000000000000613202c3945515d677683909ca9a99c8f8376675d525e687683909ca9a8988c7f7265564c4135291d2935414c5665727f8c98a8aa9d908477695f535465727f8c98a9ac9f9286796d6053463a2d201308000000000000000000000000000000000000000009151f2c3845515c6774808d9aa7b1a69b908b888888888888888888888888888888888888888b909ba6b1a79a8d8074675c5145382c1f130300000000000000000000121f2c3945525f6c7885929faba79b8e8174685b4e4135281b0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2b353f48505a61696e767d83898d9197989b9d9fa3a39f9e9d9c9b9a9a99999898979b9ea5afa99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3aea195887b6e6255483b2f22150800000000000000020e192530414e5b6874818e9ba7ac9f9286796c605346392d2013060000000000000000000000000000000000000000000000000000020e1a26313b47535f6a76828f9ca7a99d9083776b6155483c32261b0f0200000000000000020f1b2835424e5b6875818e9ba8a79b8e817468544a3f34281c1003000000000000091723303d4a5663707d8996abaea399887b6e6255483b2f221508000915222f3c4855626f7b8895a2aea3968a7d7063574e4e4e4e4e4e4e4e4e4e4e4f4a505355555c60676d747f8c939da9a59f93877d6f63584e43382c1f0c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6775818e9ba9aca096897c6f62544a3f34281c0b01000000000a15212d3a46535f697683909dababa095887b6e6253493f33271b0f0300000000000000000000000000000000000000000000000000060b1012181d1f20232528292a2b2b2a2a28272421201e1a14120e090300000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626f7c8690959699938f847a6e61544a4034281c100400000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000020e1925303e4b5865717e8b98a4b1a79a8e8174675b4e4134281b0600000000000000000000000714212d3a4754606d7a86929facaa998c7f7366554c5666727f8c99a8a99c8f8376685d5245392c202d3946525e687683909ca9a9998d807366574d55626f7c8897a2ada298897d706356493d3024190d010000000000000000000000000000000000000004101c2834404b55626f7c88959faba4988b7e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7e8b98a4ab9f95887c6f62554b4034291c100400000000000000000000121f2c3945525f6c7885929faba79b8e8174685b4e4135281b0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d19232d363f4850575f616c70767c8084888b8e919299969798999a9a9b9b9c9c9c9d9d9ea1a9b3a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada194877a6e6154473b2e2114080000000000000000081a2734414d5a6774808d9aa7afa399877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000009141f2b37434e5863707d89959faba095897d7063584e43372b1f14090000000000000004111d2935414b556a7783909daaa6998c7f7366594c402e23170c000000000000000815222f3b4855626e7b8899a4afab978a7d7064574a3d3124170a000915222f3c4855626f7b8895a2aea3968a7d70635a5a5a5a5a5a5a5a5a5a5b5b5b545b606264676d7179808c919ca5a49d938c80736b6054463d32271b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929facaa9e9184776a605442382e23170b000000000005121e2a36424d5765727f8b99a3afa7998d8073655b5044372b1f12070000000000000000000000000000000000000000000000060b11171c1f24292c2d3032353637373837363533312e2d2a25211e1a140f0a03000000000000000000000000000000000000000000000000000000000000000713202d3946525e6876828f989fa7a49f968e8174665c5144382c1f120600000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000816232f3c4956626f7c8995abb5a99c8f8276695c4f432d22170b00000000000000000000000a1724313d4a5764707d8a99a3aea298897c6f63564955626f7c8896a1ac9f92867a6d6054473a2d222e3a4754616d7a86929faca197897c6f62564953606c7985929fabaa998d807366564c4135291d110500000000000000000000000000000000000000000c18232e3947535f6a7683909daaa79b8e81746e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e74818e9ba7aa9d9083766a5f5343392f23180c0000000000000000000000121f2b3845525e6b7885919eaba89b8e8175685b4e4235281b070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111b242d363e454d535a61646a6f74787c7f81848688898a8c8c8d8e8e8e8f8f9090919297a1ada99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093877a6d6054473a2d21140700000000000000000d1a2633404d596673808c99a6b5ab94877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000030f1b26323c4854606b7783909da8a79c8f82766a5f53473b3025190e010000000000000613202c3945515d677885929eaba4978a7e7164574b3e31241806000000000000000713202d3a4653606d7986939faca5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d70676767676767676767676767686869666c6e7175797e848d929ca3a19e928d81786c60594f44342b21160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c5664717e8a98a2aea7998c7f7366584e4330261c11060000000000020e1a26313b4754616d7a86929facab9e9184786c605346392e23180c000000000000000000000000000000000000000000020a11171c23282b2f35383a3c3f4143434444444342403e3b3a36302d2a261f1b150c070100000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a87949faab1afa89f9286796d6053463a2d20130700000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000814212e3b4754616e7a8799a3afaa9d9184776a544a3f33281c0f0300000000000000000005111e2a36424d566774808d9aabac9f9285796d605346535f6a7884919eaba3998a7d7164544a3f332834404a5464717e8b99a3ab9e9185786c605346505b6675828f9ba8aa9d908377685d5246392d201307000000000000000000000000000000000000000007121d2b37434e5865717e8b98a2ac9f92857a6d6262626262626262626262626262626d7985929faba2988b7e7165584e4331271d12070000000000000000000000111e2b3844515e6b7784919eaaa89b8f8275685c4f422e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242c333c42475055586062676a6f727577797b7c7e7f8080818182828383838485929eaba99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000c1926333f4c5966727f8c99a5aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000a15202c38444f5964717e8a96a0ab9f94887c6f62564d42362a1d13070000000000000714212d3a4754606d7a8797a2ada396897c706356493d3023160a0000000000000006131f2c3845515c667885929eaba69a8d8073675a4d4034271a0d000915222f3c4855626f7b8895a2aea3968a7d7474747474747474747474747474757677797b7e81858b91969da29f97918b80786d665b50473d3222190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6876828f9caaab9f95887b6e6155483d3222140a000000000000000914202d3946525e6875828f9caaaca196897c6f63554b4034281c100400000000000000000000000000000000000000060b141c22282e34383a404547494c4e4f50515151504e4d4a4746423b3a36312b262018120b0300000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a6b0bcbaaea298887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000613202d394653606c7986929facab9f928578665b5044382b1f12060000000000000000000714202d3a46525e697784919daaa99c8f8276665c51454e586774818d9aaaab9b8e8174665b5044382c3844515c6675828e9babaa9a8e8174655b50444a5465727f8b98a9ac9f93867a6d6154473a2e2114090000000000000000000000000000000000000000000f1b26313c4753606d7985929faba2988b7e71645755555555555555555555555764717e8b98a2ac9f92857a6d6054473c3121150b010000000000000000000000101d2a3743505d6a7683909da9a99d9083766a554b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121a212a31373e44494e5456585f626568666d6e707172737374757575767677777e8a97a4a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000c1925323f4c5865727f8b98a5aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000004101c27333d4653606d7884919ea9a69b8e8174695e52463a2f24180d0000000000000815222f3b4855626e7c8895a9b3a195887b6e6255483b2f2215080000000000000004101c2834404b546a7784909daaa89b8e8175685b4e4235281b0f000915222f3c4855626f7b8895a2aea89c8f82818181818181818181818181818182838485888b8e92989e9f9c98928d857e746d665c544a3f352b211007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facab9d908376695f53473a2d2114020000000000000005111d2a36414c5664717e8a98a2aea89a8e8174675c5145382c1f1308000000000000000000000000000000000001090f181d262d33383f44464b515356585b5c5d5e5e5d5d5b5a5754524d4846423b373129241d150d060000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdbfb4aa96897c706356493d3023160a00000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000006121f2b3844505b667885919eabaea29886796c605346392d2013060000000000000000000814212e3b4754616e7b8795a0acaa998c7f7266544b404a5763707d8a98a2ab9e9285796c605346392d3a4653606d7985929faba2988a7d706353493f4855626f7b8897a1ada4998a7d7164574a3e31261a0e0200000000000000000000000000000000000000000a15202c3945515d6774818d9aa7aa9c908376695f53484848484848484848535e6976828f9caaa79a8e8174675d5145392c2013030000000000000000000000000f1c2935424f5c6875828f9ba8ab9e918478675c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f181f262b33393d4347494e535558545c606163646566676768686969696a717e8a97a4a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000c1926323f4c5965727f8c98a5ada194877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000b161f2b3844505c66727e8b97a1ac9f92867b6e61554b4035291c110600000000000a1623303d495663707d8996a3b4ab94877a6d6154473a2e21140700000000000000000c18232e434f5c6976828f9ca9a99c8f8276695c4f4336291c10000915222f3c4855626f7b8895a2aeaa9e948f8d8d8d8d8d8d8d8d8d8d8d8d8e8e8e8f919298979b9e9999928f8a85807a716c605c544a42382d23190f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424d5765727f8b99a3afa3998b7f7265574d42372b1e120600000000000000010d1925303a4753606d7a85929facab9f9285796d6053463a3024190d01000000000000000000000000000000020a131b222a2f383f444a5053555d60636568696a6a6b6a69686664615e5755534d47433c352f271f180f0700000000000000000000000000000000000000000000000000000a1623303d495663707d8996a8b2bdbcb1a795897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000030f1c28333f4a546b7784919eaab4aa93867a6d6053473a2d2014070000000000000000000b1825313e4b5864717e8b97a7aea298897c6f6256493c4753606d7986929faca197897c6f6256493c303d4a5663707d8998a2ac9f9285796d6053473a4653606c7985929eabab9a8e817467574d42362a1e1205000000000000000000000000000000000000000004101d2935404b55626f7c8895a0ab9f94887b6e61544a3f3b3b3b3b3b3b4854616e7b87939faca095897c6f62554b4135291d11040000000000000000000000000e1b2734414e5a6774818d9aa7ac9f9386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a22282d32373b3c4347484c4a505355565759595a5b5b5b5c5c5d64717e8a97a4a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093877a6d6054473a2d21140700000000000000000d192633404c5966737f8c99a6afa49a877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000003101c28343f4a54606d7985929eaaa3998d8073675d5145382e23170b00000000000a1724313d4a5764707d8a97a3aea39986796d6053463a2d2013070000000000000000071c2835424f5b6875828e9ba8a99d9083766a5d5043372a1d10000915222f3c4855626f7b8895a2aeb0a69e9c9a9a9a9a9a9a9a9a9a9a9a9a9a9b9b9c9d9fa3a196918c8986827e79736d67625a504a42382f261c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f697683909dabac9f92867a6e6154473c31261a0e0200000000000000000813202c3945515d6775818e9ba9ada2978a7d7164564c4135291d11050000000000000000000000000000020b141c252d343c424a50545c6064676d6f72747676777777767573716e6966615f57534e454039312921191007000000000000000000000000000000000000000000000000000815222e3b4855616e7b8896a1acb6b4ab9f95877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000b17222d44515e6a7784919daaada094877a6d6154473a2e211407000000000000000006121f2b37434e586874818e9ba7ab9f9285796d6053463a45515d6775828f9ca8a9998c807366564d4237434e586774808d9aaaab9b8f8275675c51453844505b6575828e9ba8aa9e918477695f53463a2d2114060000000000000000000000000000000000000000010d18242f394754606a7783909daaa6998c8073665b5044382f2f2f38444f5966737f8c9aa4aa9d9084776a6054433a2f24180d010000000000000000000000000c1825323f4b5865727e8b98abafa499887c6f6255493c2e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e171c20272b2e31373a3c3f3f444648494b4c4d4d4e4e4f4f505865717e8b98a4a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada094877a6d6154473a2e21140700000000000000010e1a2734414d5a6774808d9aa7ac9f9386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000b17232e3845515d67737f8c98a2ab9f92857a6d60544a3f34281c1003000000000b1825323e4b5865717e8b98a4ac9f928679665c5144382c1f120600000000000000020e1b2835414e5b6874818e9ba7aa9e9184776b5e5144382b1e11000915222f3c4855626f7b8895a2aeb8b0aaa8a7a7a7a7a7a7a7a7a7a7a7a7a7a7a8a9aaacab9e91847f7d7976716d67605d5550443f3830261d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b88959fabaa9c8f8276685e5246392a1f150900000000000000000004101d2935404b5563707d8a97a1ada99b8f8275685d5246392d20140900000000000000000000000000010b141d262e373f464e545b60666d7075797c7f8182838484848381807d7b77736e69625f58514b433b332b221910070000000000000000000000000000000000000000000000000714212d3a46535f697884919ea4acaaa39d908377685e5246392d20130700000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000061d2a3744505d6a7783909daaaea194877b6e6154483b2e21150800000000000000000814212e3a47535f6a7884919eaba89c8f8275665c504438404b5565727e8b98a7aa9d908377695e52463a47535f6a7784919eaaa4998b7e7164554b40343f495365727e8b98a9aca096887b6e6155483b2d22170b00000000000000000000000000000000000000000007121d2b37434e5865727e8b98a2ab9e9184786c6053463a30242f3b4854606b7784919eaca3988c7f7265584e4331281d130700000000000000000000000000091623303c4956636f7c8999a3aeab988b7e7265554b4034281b11060000000000000000000306060a0c0b0906010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111921272c2f30322d2c2e2f2e34383a3b3d3e3f4040414242424c5965727f8c98a5a99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3aea195887b6e6255483b2f22150800000000000000030f1b27333f49536875828e9ba8ab9e928578665c5044382c1f12060000000000000105090b0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c06111c2935404b55616d7a85929faba2978b7f72665c5044382b1f160a000000000c1925323f4c5865727f8b98a5ab9e9285786b544a4034281c100400000000000000010e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12000915222f3c4855626f7b8895a2aeb1a7a09d9c9c9c9c9c9c9c9c9c9c9c9c9c9d9d9ea1a9a49f9286827f7c77716d67605952443f382f261e140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434e586673808c99a7aea2988b7e7164564c41362a180e03000000000000000000010d18242f3a4653606d7985929eabac9f92867a6d6154473b31261a0e0200000000000000000000000009131d262f38404951585f666c71787d8185898b8e8f90919190908e8d8a8784807b756f6a605d554d453c342b22190e05000000000000000000000000000000000000000000000005121e2a36424d5765727e8b939a9a9a98928a7d7063564c4135291d110500000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000004111e2b3744515e6a7784919daaada194877a6e6154473b2e21140800000000000000000815222f3b4855626e7b8896a1ada9988c7f7265544a3f343b4854616e7b8795a0aca095877b6e6154473c4855626f7b8896a0ac9f93867a6d6154473a2f3b4855626e7b8896a1ada8988b7e7165544a3f33281c0f030000000000000000000000000000000000000000010f1b27323c4754606d7a86929faca196897d7063564c41352935404b55636f7c8996a0ac9f92867a6d6154473d3221160c01000000000000000000000000000714202d3a4753606d7a86929faca89b8e8275675c5145382d22170d04010000000205060b0f121317181815120d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19232b33383c3d3f3a39352f2b282c2d2e3031323334343535404d5a6673808d99a6a89c8f8275695c4f4236291c0f0000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3afa296897c6f6356493c302316060000000000000005121f2b3744505b657783909daaaa9d9084776a544a3f34281c10030000000000060c1215181819191919191919191919191919191919191919191918242f3946525d6874808d99a3a99e9184786d6053463d32271b0f030000000c1926333f4c5966727f8c99a5ab9e9185786b5e52452e23180c0000000000000000010d1a2734404d5a6773808d9aa6ab9e9285786b5f5245382c1f12000915222f3c4855626f7b8895a2aeaca095908f8f8f8f8f8f8f8f8f8f8f8f8f9091929795989b98928f8c88837e79706b635c504941382d22170b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4854606a7784919eaaac9f92867a6d6053473b3025190d010000000000000000000007121f2c3844505c6674808d9aa8aea3998b7e7265574d42362a1e1205000000000000000000000007101b252f38404a525b626a6e787e848a8e9298989b9c9d9d9e9d9c9b999795918c87827c736d675f574e463c342a20170b0200000000000000000000000000000000000000000000020e1a26313b4a56626d7380878c8e8d8b867f726b6155443a3025190d0100000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000003101c28343f4a546b7784919eaab4aa93877a6d6054473a2d2114070000000000000003101c28343f4a5465727f8b98a9ada297887c6f6255493c2e3a46535e697784909daaa7988b7e7165554b414c5666727f8c99a8a99c908376685e5246392e3a47535f697884919eaba89b8e8275665b5044382b1f12060000000000000000000000000000000000000000000a15202c3945525d6874818e9ba7a89b8e8175685d5245392c3945515d6774818e9ba8a89b8e8175685e5246392d20130400000000000000000000000000000613202c3945515d677683909ca9ab9f9285796d6053493f33271f16110d080c090e1114171c1f20232524221d181109010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212b353d44484a4c4745413a37312d2b262324262627242c38444f596975828f9ca8a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0a4978a7e7164574b3e2d22170b000000000000000613202d394653606c7985929faba89b8f8275685c4f422e23170c00000000000911181d22242526262626262626262626262626262626262626262626262935414c56616e7b86929faca0968a7d7164594f43382c1f14090000000d192633404c5966737f8c99a6ab9e9184786b5e5145382b1e070000000000000000000d1a2733404d5a6673808d99a6ab9f9285786c5f5245392c1f12000915222f3c4855626f7b8895a2aeaa9d90838283838383838383838383838383848586888b8e92979c9895908b847d736e605b53493f332720150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a54626f7c8996a0aca99b8e8175675d514539291e1408000000000000000000000003101c28343f4a54626f7c8996a0acab9c908376695f53463a2d21150a00000000000000000000030c19222d37404a525c646d727c838a91969b9fa2aaa7a5a3a3a3a3a4a6a6a8a09d99938e8780796e6960584e463c32291d140a000000000000000000000000000000000000000000000009141f2e3a45515b646e737c7f81817f7b726d62594f4432281e13080000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000006121f2b3844505c667885919eabaea39886796d6053463a2d2013070000000000000006121f2c3844505c6675828f9ca8ab9e9285796c605346392d36424d576673808d99a9a89b8f8275675c5146525e687683909da9a8988c7f7265564c41362b37424d576875818e9ba8ab9e9285796c605346392d20130700000000000000000000000000000000000000000004111d2935414c56636f7c8995a0ac9f92867a6d6054473c313a4753606d7985929faba096897d7063564c4135291d1105000000000000000000000000000004101d2935404b5566737f8c99a6aea2988a7e71655b50443b3128201d1919191a1a1e2022282b2d3032312e29231b1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c27333d474f54565854514c47423c3a3731302f2e2e2e2f353d4854606b7885929eaba6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0a6998c807366544a3f33281c0f030000000000000815222f3b4855626e7b8898a2aea6998d8073665a4d4033271a060000000009121b23292e3132333333333333333333333333333333333333333333333333303a46535e6975818e9ba6a89d9083766b6054483c31261a0e0200000d1a2633404d596673808c99a6aa9e9184776b5e5144382b1e110500000000000000000d1a2633404d596673808c99a6ac9f9285796c5f5246392c1f13000915222f3c4855626f7b8895a2aea3968a7d767676767676767676767676767677787a7c7e81858b91969e9d96918980746c655b50443c31261a0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c6674818d9aa8ada1978a7d7063554b403529170d020000000000000000000000000c17232e384854606a7784919eaaab9f94887b6e6155483d32271b0f000000000000000000000b151e2b343f49525c646e737f8690959ea0a8a8a09e9a9897969696989a9d9fa3aba49f99928d837b6f6a60584e443b2f261c11060000000000000000000000000000000000000000000003111d29343f48525c646a6f737474726e69625b51473e3320160c020000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000713202d3a4653606d7986929facac9f928679665c5144382c1f1206000000000000000713202d3a4653606d7985929faba89b8f8275665b5044382b313c4956636f7c8997a2ac9f9285796d60534754616d7a86939faca096887b6e6255483b3026313e4b5865717e8b98a8ada297887c6f6255493c2f24180c000000000000000000000000000000000000000000010d19242f3a4854606b7784919daba3988b7e7265584e4337424d5764717e8b98a2ab9e9184786c6053463a3025190d010000000000000000000000000000010d18242f3b4855616e7b88949fabaa9d9083786c60564c433a322c2924262626252a2d2d3338393d3f3d3a342d251b0e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c38444f59606365605d55534d4846423f3d3c3b3a3b3c40454f5963707d8997a1ada9978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0a89c8f8275665b5044382b1f1308000000000008111e2a36414c5665727e8b98aab2a8978a7e7164574b3e3124180b00000006111b252d343a3d3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f424d57626f7c88949eaa9f95897c6f63574d42372b1e130800000d1a2633404d596673808c99a6aa9e9184776b5e5144382b1e110500000000000000000d1a2633404d596673808c99a6ac9f9286796c5f5346392c2013000915222f3c4855626f7b8895a2aea3968a7d706969696969696969696969696a6a676d6f7175797e848f939ea09e928d80776c60584e43372b1f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabab9e9285796d6053463a2f2418070000000000000000000000000006111c2c38434e586673808c99a7b0a6998c7f7366584e43372b1c1106000000000000000007121d27303d46515b646e74808b9298a0a7a39f9b96918e8b8a89898a8b8d9092999ea1a9a39f9590857c6f6a5f564c42382d22170b02000000000000000000000000000000000000000000010c18232d36404a52585f6266676765615e5651493f352c210e04000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000814212e3b4754616e7a8799a3afaa9e9184776b544a4034281c100400000000000000091623303c4956636f7c8998a2aea9988b7f7265544a3f33282d3a4653606d7985929eaba298897d7063564b5564717e8b99a4aa9d918477695f53473a2e222e3b4855616e7b8896a1aca9998c7f7266554b4035291d100400000000000000000000000000000000000000000008131e2c38434f5965727f8c99a3aa9d9083776a5f53473946535e6976828f9caaa3998c7f73655b504437281e1308000000000000000000000000000000000714212d3a46535f697683909ca7ab9f958a7e71685e554c443e39352f32323330363a3b3f44464a4b4a463f372d20160c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4854606b70726d67615f5755534d4c4a49484748494b5158616b75818e9ba9ada197887b6f6255483c2f2215090000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0ab9f9285796c6053463a302519100b0609090b111a242d3946525e6875828f9ca8aca096877b6e6154473b2e2114080000010c18232d373f454a4b4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c535f6a75828f9ca7a79b8f8275695f53463a3024190d01000d192633404c5966737f8c99a6ab9e9184786b5e5145382b1e060000000000000000000d1a2733404d5a6673808d99a6ac9f9285796c5f5246392c1f13000915222f3c4855626f7b8895a2aea3968a7d70635c5c5c5c5c5c5c5c5c5c5c5d555d606265676d7179818f939ea49c928b7f726a5f53473b31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b5563707d8a97a1ada89a8d8174665c5144382c1d130700000000000000000000000000000f1b27323d4855626e7b8895a0abaa9d9184776a605447382e23170c00000000000000000c18232e39434e58626d74808d929fa3a7a099928e8884817f7d7c7c7d7e8083868c92979da5a7a09792857c6f685e544a3f33281e13080000000000000000000000000000000000000000000006111b242e3840464e5355595b5a5854524d443f372d231a1000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000916232f3c4956626f7c8995abb5a99c8f8376695c50432e23180c0000000000000004111d2935404b5566737f8c99aaada197887b6f6255483c2d222b3844505c6675818e9babaa9a8d80746757515c6775828f9baba99a8d807367574d42372b212d3a46535f697884919eaba99c8f8376675d5145382c1f1306000000000000000000000000000000000000000000010f1b27323d4754616d7a86929fac9f95887c6f62544a404953616e7b87939fac9f92867b6e6153493f3327160c020000000000000000000000000000000005121e2a36424d5764707d8a95a0aca79e92857a6e675d564f474541403f3f40414246474a505356585651493f32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5763707d7f7a746e6966615f5759565555545556555d606a707d8a939eaaac9e9185786c605346392d2013060000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0ada297897c6f63564c413529221c17161515161b232935414c56616e7a86929facaa9e918477695e52463a2d201407000005121d29343f4951565859595959595959595959595959595959595959595959595959595959595863707c89959fac9f93877b6e61564c4135291d1105000c1926333f4c5966727f8c99a5ab9e9185786b5e52452d22170b0000000000000000010d1a2734404d5a6773808d9aa6ab9f9285786c5f5245392c1f12000915222f3c4855626f7b8895a2aea3968a7d70635750505050505050505050504b515355555c60676d78818f97a2a49f92867c6e62574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6775818e9ba9aca196897c6f63544a4034281c100400000000000000000000000000000a16212e3a47535f6a7783909dabaca096897c6f62544a3f34281c100300000000000004101c2834404b55606a727f8b929da4a69e959087817c777472707070707173767a7f858e939fa4a9a29791847a6e665b50443a3025190d010000000000000000000000000000000000000000000009121c262e343c4347484c4e4e4c4746423b322d241b110800000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a79b8e8174685b4e4135281b07000000000000000613202c3945515d677683909ca9ab9e9285786a5f53473a2e1c28343f4a5464717e8a99a3aa9e918477695f53606d7985929faca197897c6f6356493c31261e2a36424d576874818e9ba7ac9f9286796d6053473a2d201408000000000000000000000000000000000000000000000a16202d3946525e6875818e9ba8a79a8d8073665c5144505b65737f8c9aa4a99c8f8275695e5241382d22170b0000000000000000000000000000000000020e1a26313b4653606c7883909da5ada1979083796d68615954514c4d4c4c4d4e4d5254545b606365625b51443a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6976828b85807b77726e69686663626161616264676d727c85929ea5afa49a8d8174655b5044372b1f12050000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b3a99a8d8174685e52463d342b282323222223272c353d45525d68737f8c99a3aea79a8d807367574d42362a1e110500000915222e3a45515b6265666666666666666666666666666666666666666666666666666666666666666b7683909daba4998d8074685d5246392d201307000c1926323f4c5965727f8c98a5ab9e9185786b5e493f33271b0f0300000000000000010d1a2734404d5a6773808d9aa6ab9e9285786b5f5245382c1f12000915222f3c4855626f7b8895a2aea3968a7d7063574a43434343434343434343404547494b51555d666d7a85929faba3988f8275695f53463a2d2114060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929fa3a39e9184786c605346392e23180c00000000000000000000000000000006121e2b37424e5765727f8c99a4a3a89a8d8074665c5044382c1f120600000000000006131f2c3845515c676f7c87929fa4a69e948f837c746f6a6765646363636567686e727a818b9399a4a9a1969082786c60564c41362a1e130800000000000000000000000000000000000000000000000a141c222a31373a3c4041413f3b3a363029201b12090000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000005111e2a36424d566774818d9aa7b6ac988c7f7265594c3f3226190c000000000000000714202d3a4753606d7a86929faca89b8e817568584e43372b1f232e3a4754606d7a86929faca096887b6e625363707d8998a2ab9e9285796c605346392d201a26313e4b5864717e8b97a8aea398897d7063564a3d3025190d0100000000000000000000000000000000000000000005111d2a36414c5663707d8996a0ab9e9285796d60534653606c7884919eaca1978a7d7064564d422f261b110600000000000000000000000000000000000009141f2b3744505b65707d89939da7a99f9590827a706b64605d55595959595a575e6164666c70726d62564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a54616e7b8793928d88837f7b787572706f6e6d6e6f7174797f869297a1ada99f93877c6f6253493f33271b0f030000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b8ac9f92867a6d61594f463e38342e2f2f2f3032383f47505a606d7a85929fabaca095897c6f6256493c30251a0e0200000b1824313d4a56626d727272727272727272727272727272727272727272727272727272727272727272727d8a99a3ab9f92867a6d6154473a2e211407000c1825323f4b5865727f8b98a5ac9f928579655b5044372b1f120500000000000000010e1b2834414e5b6774818e9aa7aa9e9184776b5e5144382b1e11000915222f3c4855626f7b8895a2aea3968a7d7063574a3d36363636363636362f35383a3c40454b545e68727f8c99a8aa9f93877b6e6155483b2d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b98969696968d8073655b5044372b1c1207000000000000000000000000000000020e1a26313c4754616e7b8793969696969285786d6053463a2d201307000000000005111e2a36414c56606d79849199a3a99f948f82796f6a626058585756565758565e61676d747f87939fa5a89f948b7f72685e52463a2f24190d0100000000000000000000000000000000000000000000020a101820262b2e2f333434322e2d2a251f170e09000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000714202d3a46525e697784909daaafa49a897c706356493d3023160a000000000000000a1724303d4a5763707d8a99a3aea8988b7e7265584b3f31261a202c3945525d687683909ca9a8988c7f72655b6574818d9aaaaa9b8e8174665b5044382b1f15212e3b4854616e7b8796a0acaa9a8d807367564c41362a1d1105000000000000000000000000000000000000000000010d1925303a4653606c7884919eaba1978a7d7064564c55636f7c8996a0ac9e9184796d6053463b3020140a00000000000000000000000000000000000000030f1b27333f4953606b74818e95a0a9a79f9490847d76716d6768666565666769696e7174797d7f72685d5245392c20140900000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c6673808d9a9f9a95908c8884827f7d7c7b7a7b7c7e81858c9298a1a9aaa1978e81756a5f5341382d22170b000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0baaea2988d80746b60585046443f3d3c3c3c3c3e44485159616c74818e97a2ada89d9083776a6054473b2e1f14090000000c1825323f4b5865727e7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f86929faca2988c7f7366594c403326190d000b1824313e4b5764717e8a97a4ac9f9386796c605346392d20130600000000000000020f1b2835424e5b6875818e9ba8aa9d9083776a5d5044372a1d11000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302929292929292924292c2d2e3439424c56616e7b8896a0aca4998c7f736653493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d293643505c697682898989898989887c6f6253493f33271b0b00000000000000000000000000000000000915202d3a46525e697682898989898989897d7063574a3d3024170a00000000000713202d3946525e68727f8c96a0aba1979082786d675f58544e4c4a49494a4b4c52555d606d727f8c939ea9a69f92857a6d61564c4135291d1104000000000000000000000000000000000000000000000000060e151b1f21222628272521201e19140d0500000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000020c14212e3b4754616e7b8795a0acac9f93867a6d6054473a2d21140700000000000005111e2a36414c566774808d9aabada196887b6e6155483b2e22151d2935414c5666727f8c99a8a99c8f827667606c7884919eaba3988a7d7064544a3f33281c14202d3a46525e697784919eaaaa9d908377685e5246392d2013070000000000000000000000000000000000000000000008131f2b3744505b65727f8c99a3a99c8f8275685e525d6774818e9ba8a49a8d8073665c5044382c1f120200000000000000000000000000000000000000000b17222d38414f59606d79839097a1a9a69f96918a837e7a7774737272737476787b7e818589877a6d6054473b31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929ea6a7a09d9996918e8c8988888788898b8e92979fa2aaa9a19892857a6e61584e432f261b1106000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b2acaa9f93877d706a615a53504a4a494848494b4f545b626b717e8a939da9aca0968b7e7164584e43372b1f0d02000000121e2b3845515e6b78848c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c9299a3aeaa9e9184776b5e5144382b1e11000a1724303d4a5763707d8a96a3afa49a867a6d6053473a2d20140700000000000000030f1c2936424f5c6975828f9ca8a99c8f8276695c4f4336291c10000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241d1d1d1d1d1d181d1f202328303a46535f697784919eaaab9c8f8276655b5044372b1f12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7d7c7c7c7c7c7c7c6f6a5f5341382d22170b000000000000000000000000000000000005111e2a36424d56616e7b7c7c7c7c7c7c7c7b6e6155483b2e2215080000000003101c28343f4a54616d7a85929fa8a79e92857a6d665d554e47433f3d3d3d3d3e41464c515b626d75818e97a2ada2988d8073685d5245392c20130800000000000000000000000000000000000000000000000000030a0f121515191b1b191414110e09020000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a141e2b37434e5865717e8b98a7b1aa9d908377675d5145392c2013060000000000000714202d3946525e687784909daaab9e918478695f53473a2d21141924303c4855626f7b8896a1ac9f92867a6d626f7c8896a1ac9f92867a6d6053473a2d2217121e2a36424d576774818e9aa7ac9f93877a6d6154473a2e21140900000000000000000000000000000000000000000000030f1b27333f4953616e7b86929fac9f92867a6e6154606d7a85929fac9f93877b6e61544a3f34281c1003000000000000000000000000000000000000000006111b262f3d45515d676e7b859297a0a7a8a19e95908b868381807f7f80818285878b8e91978b7e7265574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d898f949b9fa2a9a8a19e9b99969594949495979a9ea1a9aca49f9791867d6f685e52463c311d140a00000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b2a8a09d9e9992857c716c63605c545756555556585960636d727d86929fa5afa59d9184796d6053463d32271b0f00000000121e2b3845515e6b7884919999999999999999999999999999999999999999999999999999999999999999999fa3abb4ab9e9184786b5e5245382b1f1200091623303c4956636f7c8996acb6a194877b6e6154483b2e2115080000000000000004101d2a3743505d6a7683909da9a89b8e8275685b4f4235281c0f000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241710101010070c101314181e2a36424d576975828f9ca8ac9f9285796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b6f7070707070706f6b60584e432f261b11060000000000000000000000000000000000020e1925303b46535e696e707070707070706e695f53463a2d2114070000000006121f2b3844505c66737f8c98a2aca0958a7e71685e544b433c37323130303030363a4145515b616d7a85929faaaa9f92867a6d6054473a3024190d010000000000000000000000000000000000000000000000000000030608090d0e0e0c0807050200000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000006111c26303847535f6a7683909da9b1a7998c7f7366554c4135291d11040000000000000814212e3b4754616e7a8795a0aca79b8e817468574d42372b1e1215212e3a47535f6a7884919eaba3998a7d7066737f8c99a9ac9c8f8275675d5145392c1c110e1a25303e4b5764717e8a97a7afa49a8a7e7164574b3e31261a0e02000000000000000000000000000000000000000000000b17222d3846525e6875828f9ba8a3998c7f72655764717e8b98a2a99c8f8276695f5342382e23170c000000000000000000000000000000000000000000000a141d2935404b555f696f7c8590959fa4aba79f9d9992908e8c8c8c8c8d8f9297979b9e9c908376695f53463a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4855616b707d82888e92979a9ea1a8a6a5a3a2a1a0a1a2a4a7a7a9a19e9a938e857d6f6b60564c41342a200b0200000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3aca0969192979792867e76706d6665646262626364676b6f767f879298a3aea89e938a7d70665c5144382b20160a00000000121e2b3845515e6b7884919ea5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5acaeb4afab9e9185786b5e5245382b1f12000815222e3b4855616e7b889aa4afa295897c6f6256493c2f2316090000000000000005111e2a36414c566b7884919eaba69a8d8073675a4d4034271a0d000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a03030300000406070c1a2631414e5b6874818e9ba7aea298877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38444f5960636363636363636360594f463c311d140a0000000000000000000000000000000000000009141f2a36424d575e6163636363636363615f574d42362a1e1205000000000713202d3a4653606d7884919eaaaa9d9083786c60564c4239312b2724232324252a2f353f46525e68727f8c98a2aea2988b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000101000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000001071117232e38424e58626f7c88959fabaca095887c6f6255493c2f24190d010000000000000b1824313e4b5764717e8a97a7b1a8978b7e7164584b3e31261a0e121f2b37434e586774808d9aaaab9a8d8074677683909ca9a49a8b7e7165554b4035291d0a0914212e3b4754616e7a8795a0acac9a8e817467574d42372b1e12060000000000000000000000000000000000000000000006111b2a36414d5663707d8a96a1ab9d908377695f6976828f9caaa2978a7e7164574d4230261c110600000000000000000000000000000000000000000000020b18242f39434d575f6a6f7b838d93999fa6ababa39f9d9b999898999a9c9ea1a9a7ab9f93877b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f59616b70767c8185898d919697999b9c9e9e9f9f9e9d9c9a9897928d87817a6f6b60594f443b3022180e0000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3aa9d918485929998928a827d797572706f6f6f6f7174777c828b9299a3aaa9a0968e81756c61544a403428190f0400000000121e2b3845515e6b7884919ea3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39e9185786b5e5245382b1f12000713202d3a4653606d7986939faca3978a7d7064574a3d3124170a000000000000000714202d3946525e687985929faca5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000104091a2734404d5a6773808d9aa6b4aa94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d474f545656565656565656544f473d342a200b0200000000000000000000000000000000000000020e1a25313b454d53545656565656565655534d453b31261a0e02000000000a1724303d4a5763707d8a96a1ada2988b7e71655b50443a30271f1b17161617191e242935414c56606d7a86929facaa9c908376685d5246392d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000060b12182328343f4a545f6a75818e9ba7b1a99d9084776a5f53473b2e1e130800000000000006121e2b37424e576874818e9ba7aca096877b6e6154483b2e2115090f1a26313d4a5763707d8a98a2aa9d9084776d7a86929fac9f93877a6e6154473b2f24180c0714202d3946525e687784919daaab9e918478695f53473a2d21140600000000000000000000000000000000000000000000000e1925303b4653606d7984919eaba095887b6e616e7b87939fab9e9285796d6053463b3120150a00000000000000000000000000000000000000000000000007121d28313c454e585f696e7980878f949a9ea1a9a8a9a7a6a5a5a6a7a9a9a7aba39f9c998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e474f5960636a6f74797d8184878a8c8e909191929291918f8e8b8885817b746d6860594f473d32291e10060000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3a6998d807d87929f9f948f8a85817f7d7c7b7b7c7e80848990949fa3aba8a19791847a6d60594f42392e2318070000000000121e2b3845515e6b7884919696969696969696969696969696969696969696969696969696969696969696969696969696969185786b5e5245382b1f120006131f2c3845515c677885929eaba5988b7f7265584c3f32251908000000000000000814212e3b4754616e7a8798a2aeaa978a7d7064574a3d3124170a000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0909090a0b070d10131c28333f4a546874818e9ba7afa295887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16212b353d4448494949494949494948433d352b22180e00000000000000000000000000000000000000000009141f29333b424648494949494949494846423b33291f14090000000005121e2b37424d576774818e9aa8ac9f9285796d6053493f32291e150d0a0a0a080d131925303a45525d6875818e9bacac9f93867a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000205070d11171d2429353d44505c666f7c87939facada2978b7e7265584e43372b1f0c010000000000000814212e3a47535f6a7884919eabaa9e918477695e53463a2d2114070a14202d3a4753606d7985929faca095877a707d8a99a3a99d908376685e5246392d1d120705111e2a36414c566774818d9aacaca196887b6e6155483b2e23170b000000000000000000000000000000000000000000000008141f2b3844505c6673808c99a4a7998c7f7266727f8c9aa4a79a8d8074675c5145382c1f1303000000000000000000000000000000000000000000000000010c161f2a333c464e575f676d747c82888d9197989b9c9e9fa3a39f9f9e9c9a989992908c878074675a4d4134271a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212c353e474f54586062666d7074787b7d80828384858585858483817f7c79746e6a615e564f473d352b20170d000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3a4978b7e727f8b939a9f9c97928e8c8a898888898b8d91969c9fa6ada69f9691857b6e685d52473e30271c12070000000000121e2b3845515e6b7884898989898989898989898989898989898989898989898989898989898989898989898989898989898984786b5e5245382b1f120004101c2834404b556a7683909da9a79a8d8074675a4d413025190e02000000000000091623303c4956636f7c8996aaaea298887b6e6255483b2f221508000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241716161616171718181d20252b3844505b6676828f9ca9b3aa95887b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19232b32383b3c3d3d3d3d3d3d3c3b38322b23191006000000000000000000000000000000000000000000030d17212931363a3b3d3d3d3d3d3d3d3b3a36312921170d03000000000714212d3a46535f697884919eaba89b8f8275675d5141382d20170c03000000000108131e2935414c5664717d8a9aa4afa4998a7d7164574a3e31241707000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a09090a0a0b090e1114181b22272f353e47505a606d7883909aa4afa89f92857a6d6053473c32261b0f000000000000000815222f3b4855626e7b8896a1ada79a8e817467574d42362a1e120506131f2c3845515c6775828f9ca8a7978a7d74808d9aaba8998c7f7266564c41362a1e0b01010d1925303e4a5764717d8a9aa4afa8988b7e7265544a3f34281c10030000000000000000000000000000000000000000000003101c28343f4a54616e7b87939faa9d908377697783909dac9f95887c6f62554b4034281c100400000000000000000000000000000000000000000000000000040d18212a343c454d555d606a6f767c8185898b8e9091929899929291908e8c8986837f7b746e64584c3f33261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c353d44484e54545c606367696e717375767778787878777674726f6d66625f58524c443d342b23190e05000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3a996897c6f727f8892979ea19e9b989795959596979a9da0a8aba9a19e948f847c6e695f564c41352c1e150b0000000000000916232f3c4956626f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6f6256493c2f23160900000c18232e414e5b6874818e9ba7a99c8f827669564d41362a1e11050000000000000b1825313e4b5864717e8b97a4ac9f9285796d6053463a2d201307000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024232323232323242524292c30363e4653606c7985919eabaea298877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111921272c2f30303030303030302f2c27211910070000000000000000000000000000000000000000000000050f171f252a2d2e303030303030302e2d2a261f170f0600000000000815222e3b4855616e7b8896a1acac988b7e7265554b402f261b0e05000000000000020d19242f3a4754606d7a86939facab9a8d8074675a4d412f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241716161617171819191e2024292d333940455059616c737f8c959facada1968c7f72675d5145392a20150a00000000000003101c28343f4a5465727f8b98a8b2a8978a7e7164574b3e31251a0e0204101c2934404b5565717e8b98a7a6998d807784919daaa096887b6f6255483c3025190e00000814212e3a4754616d7a86939faca89b8f8275665c5044382b1f120600000000000000000000000000000000000000000000000b17232e3846535e6976828f9ca99f95877b6e7b87959faa9d9083766a5f5343392e23180c000000000000000000000000000000000000000000000000000000060f18222a333b434b515860626a6f74797c7f81838585868686858483817f7d7a76726e69645c52473c3024170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232b33383c43474a505356575e61646668696b6b6c6c6b6a69676562605c54534e46413a322b2219110700000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a2a197877a6d6d727d858f939b9fa3aaa3a2a2a2a2a4a7aaa8a7a09d97928b827a6e6a5f574d433a2f231a0c030000000000000815222e3b4754606a6f70707070707070707070707070707070707070707070707070707070707070707070707070707070706f6a6054483b2e2215090000071926323f4c5965727f8c98abab9e918578685e5246392d201406000000000004101d2935404b556774808d9aa7a99d908376665c5044382b1f1206000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302f2f2f2f2f303031322f35393a4146505a63707c8997a1adab9f928578685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f222323232323232323221f1b160f0700000000000000000000000000000000000000000000000000050d141a1e21212323232323232322211e1a140d060000000000000b1824313e4b5764717e8a97a8afa49a887c6f6255493c2f22140a00000000000000000813202c3945525d687784919daaa99c8f837669554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30242323232323242426252a2d2f35383f444b515a616b717e87939fa7afa59e9184796d60554b4035291d110400000000000006121f2b3844505c6675828f9ba8aca096877a6e6154473b2e21140900000c18232f3b4754616e7b8795a0a99c8f837a8795a0aa9e9184776a5f53473a2e1e140800000713202d3946525e687783909daaab9f9285796d6053463a2d201307000000000000000000000000000000000000000000000006111c2a36424d5764717d8a97a1a7988b7e727f8b98a7a2988b7e7165584e4330271d120700000000000000000000000000000000000000000000000000000000061018212a313940454e54585f62666c6f7275767879797a797878767472706d6766615e57524a40362b1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21272c3237383f44464a4d535457595b5d5e5e5f5f5e5e5c5b585553504a47433c363029201910070000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8995959592857868626c707b82898e92989a9c9e9fa3a39f9e9d9b9895908c857f776e685f574e453b31281e11080000000000000006131f2b38434e58606263636363636363636363636363636363636363636363636363636363636363636363636363636363636260584e43382c1f130700000a1723303d4a5663707d8999a4ada197877a6e6154473b2d22170b000000000006131f2c3845515d677683909ca9ac9a8d817467544a3f34281c1003000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3c3c3c3c3c3c3c3d3e3f404045474c525a616c75828f9ba9b2a99c90837669564c41362a1d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315161616161616161615130f0a0400000000000000000000000000000000000000000000000000000003090e121415161616161616161514120e0903000000000000000d192633404c5966737f8c99a6ac9f93867a6d6053473a2d201407000000000000000004111d2935414c566875828e9ba8ab9e928578675d5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302f2f2f2f303030313330363a3b40454950555d606c717d869299a4afa89e938a7e71675d51433a2f24180d010000000000000713202d3a4653606d7985929fabaa9d918477685e5246392d20140700000714202d3a46525e697783909daa9f92857d8a97a7a99a8d807367584e43372b1f0d02000005111d2935414c566774808d9aabada297897c6f6256493c2f24180d0100000000000000000000000000000000000000000000000e1a25313b4653606d7985929ea89b8f8276838f9ca99f92857a6d6053473c3120150b000000000000000000000000000000000000000000000000000000000000060f181f272f353d43474e54545b60626568696b666c6d676c6b69676563605d5554534d4540382f24190e03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f161c20272b2e34383a3d4246484a4d4f50515252525251504e4c4946443f3837312a251e170e07000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d88888888888276695961696e757c81868a8d8f919298999292908e8b88847f79726c655e564e453c33291f160c0000000000000000030f1b27323d464e5456565656565656565656565656565656565656565656565656565656565656565656565656565656565656544e463d32271b0f0300000714212d3a4754606d7a86939faca9978a7e7164544a3f33281c0f03000000000714202d3a4753606d7986929faca49a8a7d7164574a3e2e23170b00000915222f3c4855626f7b8895a2aea3968a7d7063574a49494949494949494a4a4b4d4b5153565e616c717e8b939eaab0a6998c807366594d403025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030709090a0a0a0a0a0a0909070300000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a080705020000000000000000000f1b2835424e5b6875818e9ba8ab9e918478675c5145382c1f13060000000000000000010d192430404d5a6673808d99a6ada19786796d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3c3c3c3c3c3c3d3d3e3f414246474b51535b60676d747e879298a3aba9a1968e81756c61554b4031281d1307000000000000000916232f3c4956626f7c8997a2adac9a8d817467564d41362a1e1105000005111e2a36424d576673808c99a9a2978e828e9ba8a297897c706356493d31261a0f000000010d1925303d4a5763707d8a99a3afa9998c7f7366554b4035291d1004000000000000000000000000000000000000000000000009141f2c3844515c6673808d9aa69f92857a86929fa79a8e8174675d5145392c20130300000000000000000000000000000000000000000000000000000000000000060d151d242932373c43474a505356585b5d5e5b60605c555e5d5b595653514b4846423b332f261d13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10151b1c23282c2d31363a3b3e40424344454545454443413f3c3a38342e2b262019130d0500000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d797c7b7b7b7b7b6e6154575e616a6f757a7d808384858686868583817f7b77726d67605b534c443c332a21180d040000000000000000000a16202b343d43474949494949494949494949494949494949494949494949494949494949494949494949494949494949494948433d342b21160a0000000613202c3945525d687783909daaa79a8e8174665b5044382b1f150900000005101c28343f4a5463707d8999a3ac9f93877a6d6154473a2e21140600000915222f3c4855626f7b8895a2aea3968a7d70635756565656565656565656575859555d6063686d747e86929fa5afac9f94887b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3743505d6a7683909da9a99d9083766a554b4034291c1004000000000000000000081925323f4c5865727f8b98a5b3a994887b6e6155483b2e22150800000000000000000000000000000000000000000000000000010406070a0c0c0a0706030000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a494949494949494a4a4b4c4d4d5254555d60656c7179818a9299a3aaaaa29791847a6d605a5043392f1f160c0100000000000004101d2935404b5566737f8c99a9afa49a8a7d7164574a3e3025190e020000020e1a25303c4956626f7c8997a1a99f9285929fab9f9285796d6053463a2d20130a000000000814212d3a4754606d7a86929faca99c8f8376675d5145392c201306000000000000000000000000000000000000000000000004101c2834404a54616e7b88949fa2978d808d99a3a095897c6f62554b4035291d11040000000000000000000000000000000000000000000000000000000000000000030b121820272b3237383f4446494c4e504a505353514b51504e4c4a4745403b3a363129211d140b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f20252a2d2e313335363838393938373634322f2d2b28231c1a150d08020000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d676d6f6f6f6f6f6e695e534d53586062686d7074767879797979787775726f6a65605d555049413b322a21180f0600000000000000000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b38322b22190f0400000004111d2935414c566773808d9aa9ab9e9184796c6053463c31261a110907070d17212b3844505c6674818d9aabac9d908377685e5246392d20130700000915222f3c4855626f7b8895a2aea3968a7d7063626262626262626262636364656668676d70747a808a9298a3aeafa49a8f82766a5f53473a2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daaa89b8f8275685c4f422f23180c000000000000000000000b1724313e4a5764717d8a97a4afa295897c6f6256493c2f231609000000000000000000000000000000000000000000000001070d101314171918161312100c06000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063575656565656565656565757595a565e6164676d71787e848e939fa3aba9a29892857c6e685d52483e31271d0d04000000000000000613202c3945515d677683909ca9ac9f93867a6d6154473a2e211408000000000913202d394653606c7985929eaba3989298a3ab9b8e8175665c5044382c1f1206000000000613202c3945525d687783909daaac9f92867a6d6053473a2d2014080000000000000000000000000000000000000000000000000c18232e3947535f6976838f9ca99f9285929faa9d9083776a6054433a2f24180d0100000000000000000000000000000000000000000000000000000000000000000001070c151b20262b2d3338393c3f42433f44464745404543413f3d3a39352f2d2a251f170f0b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c1012131a1e21212426282a2b2b2c2c2b2b29282522201f1c17110f0903000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b555d606262626262615e574d42464e54565d606467696b666d6d676b6a6865625f5853514b443f382f2920180f0600000000000000000000000007101920272b2e2f30303030303030303030303030303030303030303030303030303030303030303030303030303030302f2e2c272119100700000000010d19242f3d495663707c8997a1ada197897c7063574d42372b231a151415182027333f4953606d7985929eaba49a8c7f7266564c41362a1d110500000915222f3c4855626f7b8895a2aea3968a7d706f6f6f6f6f6f6f6f6f6f6f7071727375777a7d81868d929fa3aaafa69f93877c6f62584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b7884919eaba89b8e8175685b4e4235281b07000000000000000000000a1724303d4a5763707d8a96a3afa396897d706356493d3023160a00000000000000000000000000000000000000000000040c12181d202024252523201f1c17110a0300000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063626262626262626263636364666769696e71757a7e838a91969da5aea8a19792867d6f6a5f564c41362c1f150b00000000000000000714202d3a4753606d7a86929facaa9d908377685e5246392d2013070000000006121f2b3844505b6674818e9babaaa39fa3aaa3998a7d7164544a3f34281c10030000000004111d2935414c566673808d99abaea3998a7d7063574a3d3025190d01000000000000000000000000000000000000000000000007121c2b37424d5764717e8a97a2a3989298a3a3988b7f7265584e4331281d1307000000000000000000000000000000000000000000000000000000000000000000000000040a0f151b1c22282b2d2f32352d3338393a38342f363432302d2c2924211e1a140d050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306090e121415171a1c1d1e1f1f1f1f1e1d1b19161312100b060000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f39434b5153555555555554534d453b3d43484c5254575a5c545c60605c555d5b5855534e47454039332d261d170e060000000000000000000000000000070f161b1f2223232323232323232323232323232323232323232323232323232323232323232323232323232323232323221f1b160f070000000000000813202d394653606c7885919eaca99b8e8175695f53473e352a262221212429323a44505b65717e8a97a1ac9f93877b6e6154483b3025190d0100000915222f3c4855626f7b8895a2aea5988c7f7c7c7c7c7c7c7c7c7c7c7c7c7d7d7e808183868a8e92989da4aeada59e938d80736a6054463c31261a0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2c3845525f6b7885929eaba79b8e8174685b4e4135281b0e020000000000000000000a1723303d4a5663707d8996a3b0a3968a7d7063574a3d3024170a000000000000000000000000000000000000000000090d161d24292c2d303232302d2c28231c150c07000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d706f6f6f6f6f6f6f6f6f6f707071727476787b7e81858b90959ea0a8ada59e9691857d6f6b60584e433a2f241a0d0300000000000000000a1724303d4a5763707d8a99a3aeab9a8d807467564c41362a1d110500000000030f1c28333f4a5464717d8a99a3afaeacaeac9f92867a6d6054473a2e23170c0000000000010d19242f3d4a5663707d8999a3aeab9a8d807367564c41362a1e11050000000000000000000000000000000000000000000000000e1a26313c4753606d7985929faaa39fa3aa9f92867a6d6154473d3221160c010000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f2023252822282b2d2d2c29232a28262320201d1814120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0d0f10111212121211100e0c09070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28313940454748484848484846423b3332383a4145474a4d504a505353514b504e4c4847433c39352f27221b140b0500000000000000000000000000000000040a0f13151616161616161616161616161616161616161616161616161616161616161616161616161616161616161615130f0a040000000000000006121f2b3844505b6674808d9aa4ac9f92877b6e615a50473e36312e2e2e2f353b444d57606c7883909da9a79c8f8276695e53463a2d1e13080000000915222f3c4855626f7b8895a2aea79b918c898989898989898989898989898a8b8c8e9092999b9fa2aaada9a19e938e81786d60584e43342a20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2c3945525f6c7885929faba79b8e8174685b4e4135281b0e020000000000000000000a1623303d495663707c8996a3afa3968a7d7063574a3d3024170a000000000000000000000000000000000000000009121a1f282f35393a3d3f3f3d3a38342e261e1910070000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea5988c7f7c7c7c7c7c7c7c7c7c7c7c7d7d7e7f808285878b8e92989da0a7aca9a19e938f847c6f6b60594f463c31281e1208000000000000000005111e2a36414c566773808d9aabafa4998a7d7064574a3d3025190d0100000000000b17222d3a4754606d7a86929facb9b8b5a99c8f8276675d5145392c1c11060000000000000814202d3a4753606d7a86929facaa9d908477685e5246392d20140700000000000000000000000000000000000000000000000009151f2c3845515c6774808d9aa7aeacaea89b8e8175685d5246392d201304000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121316191b171c1f20201f1c181d1b19171413110d0705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f35393a3c3c3c3c3c3b3a363129272c2f35393a3d41433f444646454044423f3c3a37312c29241d17110a0200000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09090703000000000000000000030f1c28333f4a54626e7b87939faca3998f82756c62595046423c3b3a3b3c40454d565e69717e8b959faba095897d7063574d42362a1e0c020000000915222f3c4855626f7b8895a2aeada39b98959595959595959595959596969798999b9d9fa3abacaba9a19e97928b81786d665c50463d3222180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2c3845525f6b7885929eaba89b8e8175685b4e4235281b06000000000000000000000a1724303d4a5763707d8a96a3afa396897d706356493d3023160a0000000000000000000000000000000000000008111a242c31394045474a4c4b4946443f38302b2219100600000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea79b918c8989898989898989898989898a8a8c8d8f9197979b9fa2aaacaaa29f97928b817a6f6a60594f473d332a1f160c0000000000000000000713202d3946525e687783909daaac9f93867a6d6054473a2d2114080000000000000613202c3945525d6876838f9ca9afafb1a7988b7e7265554b4135291d0a000000000000000613202c3945515d677683909ca9aca095877a6e6154473b2e21140600000000000000000000000000000000000000000000000004101c2934404b55626f7c88959fabb3aca096897d7063564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606090c060b0f12131413100c070e0c0a07060401000000000000000000000000000000000000000406070a0d101112121211100e0b0807050100000000000000000000000000000000000000000000000000000000000000000000030607090c0e0f11111111110f0e0b08080602000000000000010106060606060000000000000000000000000000000000000000000000000000000000040d161d24292c2d2f2f2f2f2f2e2d2a251f1b1e24292c2d31342e34383a3a38342e35322f2e2b26201d18120b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6a76828f9aa4ab9e948b7e716b615a534d49484748494b51575f686e7b85929ea7a69d9083776b6155453b31251a0e000000000915222f3c4855626f7b8895a2aeafada7a5a2a2a2a2a2a2a2a2a2a2a2a2a3a4a5a6a8aaa8a6a9a19e9b97928c857e756d665c544a3f342b200f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121e2b3845515e6b7884919eaba89b8f8275685c4f422d22170b000000000000000000000b1724313e4a5764717d8a97a4afa296897d6f6356493c3023160900000000000000000000000000000000000005101a232c363e434b51535758585653504a423d342b22180e03000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeada39b989595959595959595959596969697999a9c9ea1a9a8abaaa8a19e98928d857e756d685f584f473d352b21180d040000000000000000000714212e3a4754616d7a87939fa3a39d908377685d5245392c20130700000000000004111d2935414c5665727f8c98a8a3a3a3a095877b6e6154483b2f24180d0000000000000004101d2935404b556673808c99aaa3a7978a7e7164574b3e2e23170b000000000000000000000000000000000000000000000000000c18232f3947535f6a7683909daaa6ab9e9184786c6053463a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060706040000010000000000000000000000000000000000000000000000070c101313171a1c1e1e1f1e1e1c1a181414110d0803000000000000000000000000000000000000000000000000000000000000060b10121316191b1c1d1e1e1e1d1c1a181514120e09050203080b0d0e13131313130d0c0a070200000000000000000000000000000000000000000000000000040c12181d2020222222222221211e1a140f13191d2021242723282c2d2d2c2823282522211f1b15100d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2b37434e58626f7c87939fa9a69f92867d706c615f575655545455555d60696e7a839097a1a99e94897d7063594f4433291f1409000000000915222f3c4855626f7b8895a2a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2a2a2a1aaa29f9d9c9a9797928e8a85807a716c605c544b42382e22190f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7783909daaa99c8f837669544a3f33281c0f030000000000000000000c1825323f4b5865727e8b98a5b3a995887b6e6255483b2f2215080000000000000000000000000000000000000b17222c353e4850555d6063656563605c544f473d342a20150a000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeafada7a5a2a2a2a2a2a2a2a2a2a2a2a3a3a4a5a7a9aaa9a6a8a09e9a96918c86807a716c615e564e463d352b23190f06000000000000000000000b1824313e4b5764717e8a9a969696968d807367564c4135291d1104000000000000010d19242f3b4855626e7b88969696969696908377695e52463a2d1d130700000000000000010d18242f3d495663707d8998969696968e817468544a3f34281c100300000000000000000000000000000000000000000000000007121d2b37434e5865717e8b98999999998c7f72655b504437281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f202427292b2b2c2b2b29272421201e19140f0b0600000000000000000000000000000000000000000000000000040a0f11171c1f20232527292a2b2b2b2a29272522211e1a15120e0f14181a1b20202020201a1916130d070000000000000000000000000000000000000000000000000001070d10131415151515151514120e0903080d111314171a171c1f20201f1c181b191515120f0a04010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1a26313c4754606a75818e97a1aca39892867e756e6965636161616264676d727b839095a0a9a1978f82756b6054473d3321170d03000000000915222f3c4855626f7b88959696969696969696969696969696969696959595949892908f8d8b8885817d79736d68625a514b423930261c10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8aa9d918477665b5044382b1f12060000000000000000000d1a2633404d596673808c99a6ada29786796d6053473a2d201407000000000000000000000000000000000004101c28333e47505a61676d707272706d6660594f463c31261b0f010000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2a2a2aaa29f9e9c9a9796918d89847f7a736d67625a524c443c342b2319100700000000000000000000000e1b2834414e5b677481898989898989897d7063564a3d2f24190d01000000000000000814212e3a47535f6a7784898989898989897f7366574d42362a1e120500000000000000000714202d3a4753606d79868989898989898478665c5044382b1f1206000000000000000000000000000000000000000000000000010f1b26313c4753606d79868c8c8c8c8c877b6e6153493f3327160c020000000000000000000000000000000000000000000000000000000000000407090a1313131313131313060400000000000000000000000000000000000000000000000000000000000000000000000000030c151d23282c2d31343637383838373634312e2d2a251f1b17110a02000000000000000000000000000000000000000000040a0f161b1c23282b2d2f32343637373837373634322f2e2b26211e1a1a202427282d2d2d2d2d2625231e19120a010000000000000000000000000000000000000000000000000001040607090909090908070502000000010406070a060c1012131313100c070c090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202b38434e58616e7a85929aa4aaa298928a817b76726f6e6d6e6f7174797f859095a0a7a49a92857b6e61594f44352c210f0500000000000915222f3c4855626f7c888989898989898989898989898989898989898988888786858482807e7b7875706d67605d565045403930271e150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2834414e5b6774818e9aa7ac9f9286796c605346392d201306000000000000000004101d2935404b556875818e9ba8ab9f928578675d5145392c20130600000000000000000000000000000000000814202d3944505a616c71797d7f7e7c786f6b60584e43372b1d12070000000000000000000000000000000000000000000000000000000915222f3c4855626f7b88959696969696969696969696969696969696969595949892918f8d8a8884807d79726d68605d555046413a322a221911070000000000000000000000000916222f3c4955626f7c7c7c7c7c7c7c7d796d6053473a2d201408000000000000000006121e2b37424e57626f7c7c7c7c7c7c7c7c7a6d6154473b30251a0e02000000000000000006131f2c3845515c676f7c7c7c7c7c7c7c7d796d6053463a2d201307000000000000000000000000000000000000000000000000000a15202c3945515d67717e80808080807e72685e5241382d22170b0000000000000000000000000000000000000000000000000000000000050b10131617202020202020202013100c0701000000000000000000000000000000000000000000000000000000000000000000030c151e272e34383a3d4043444545454443413e3b3936302b27221b140b0600000000000000000000000000000000000000070e151b21272c2e34383a3c3f4142444444444442413e3b3a37312d2a25252b303334393939393933322f2a241c130a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060707060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d46525e68707d88939fa4aaa29f938e86827f7c7b7a7b7c7e81858c9298a0a7a39f93887d70695e52473d33231a100000000000000714202d3a4753606d797d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b7a7a78777573716f6c6564605c55524c443f342e271e150c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98abaea398887b6e6155483b2e22150b000000000000000006131f2c3945515d677783909daaa99c90837669554b4035291d110400000000000000000000000000000000000a1623303c4955616c717e858a8b8b89847d6f6a5f5347392f24180d0100000000000000000000000000000000000000000000000000000915222f3c4855626f7c888989898989898989898989898989898989898989888887858482807e7b7774706d66615e56514c433f35302820181007000000000000000000000000000815212e3b47535f6a6f707070707070706d675c5145382c1f13060000000000000000020e1a26313c47535f6a6f707070707070706d685e524639291f140900000000000000000004101c2934404b55606a6f707070707070706d665c5044382b1f12060000000000000000000000000000000000000000000000000004101d2935404b55616c717373737373726d62564d412f261b110600000000000000000000000000000000000000000000000000000000080f161c2022232d2d2d2d2d2d2d2d1f1c18120b0300000000000000000000000000000000000000000000000000000000000000000b151e2730394045464a4d4f51515251514f4d4b4746413b37332d261d18100900000000000000000000000000000000010a101920262b3238383f4446494c4e4f50515151504f4d4b4847423c3a36312a363c40414646464646403f3b352e251c1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16202a36414d56616b727f8c929fa2aaa59e99928f8b89888787888b8e92979fa2aaa29f918b7f726b61564d42352b2111080000000000000613202c3945515d676d7070707070707070707070707070707070706f6f6f6e6e6d676a69676462605b5353514b45413a3228231d150c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8999a3afaa978a7e7164574b3e32271b0c03000000000000000714202d3a4753606d7a86929facab9a8d8074675a4d412f24180d010000000000000000000000000000000005121e2a36424d5764707d8a929798989691867c6f62554b4035291d100400000000000000000000000000000000000000000000000000000714202d3a4753606d797d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b7b7a79777673716e696763605c54524c45413a3129251e160e06000000000000000000000000000006131f2b37434e585f6263636363636363605c554b4034291c10040000000000000000000915202b37434e585f6263636363636363615e564c413529170d02000000000000000000000c18232f39434e58606263636363636363605c544a3f34281c100300000000000000000000000000000000000000000000000000010d18242f3943505a6164666666666665625b51443b301d140a0000000000000000000000000000000000000000000000000000000008111921272c2f3039393939393939392c29231d150d0300000000000000000000000000000000000000000000000000000000000007121c273039434b5153575a5c5e5e5f5e5e5c5a5754524c46443f382f2a221b12090100000000000000000000000000020b131c222a32373d44484a505356585a5c5d5e5e5e5d5c5a5855534d4846423b3641484c4e53535353534d4b4740372e24190d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1925303b444f59626d737f8a92989fa6aba39f9c989694949495979a9ea2a9a69f98928a7f726d62594f443b30231a0f0000000000000004101d2935404b555d606363636363636363636363636363636363636362626261605c555c5a5855535049474540393530282018120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929faca79a8d817467594f44382c1e150a02000000000007101d2935404b5563707d8999a3afa4998a7e7164574b3e3124180700000000000000000000000000000000000714202d3a46525e697784909da1a9a8a0988f8275675d5145392c20130600000000000000000000000000000000000000000000000000000613202c3945515d676d707070707070707070707070707070707070706f6f6f6e6d686b696764615f575653504a46413a352f281f19130c04000000000000000000000000000000030f1b26323c464e53555656565656565653514b43392f23180c00000000000000000000030f1a26313c464e53555656565656565654524c443a30251905000000000000000000000007121d27313d464e54565656565656565653504a42382e23170b00000000000000000000000000000000000000000000000000000007121d28313e485055575959595959585651483f32291f0b02000000000000000000000000000000000000000000000000000000050f19232b33383c3d464646464646464638342f271f150b0100000000000000000000000000000000000000000000000000000000000c18232e39424b555c606467696a6b6b6b6a696764615e56535049413c342d241b1309000000000000000000000000010b141d252e343c43474f54545c60626567696a6a6b6a6a696765625f5754534d46414a53585b60606060605957524940352a1e13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f29323e47515b636d737e868f949c9fa6a8a9a5a2a1a0a1a2a4a7a9a69f9c948f867e726d635b51473e32291f110800000000000000010d18242f39434b5153565656565656565656565656565656565656565655555453514b4f4d4b4846443f3a38342f29241e160e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945525d687683909da9ab9e9184786b6054483c30261c130d080909070d1218242c3845515d6774818d9aabac9f93867a6d6154473a2e21140700000000000000000000000000000000000815212e3b4854616e7b8795a0acb3b2aa9f92867a6d6053473a2d201407000000000000000000000000000000000000000000000000000004101d2935404b555d606363636363636363636363636363636363636363626261615e565c5a5755534d4a46443f38363029241e160d080200000000000000000000000000000000000a15202a343c434749494949494949494745403931271d120700000000000000000000000a15202a343c434748494949494949494746413a32281e13080000000000000000000000010b151f2b343d4347494949494949494946443f3830261c1106000000000000000000000000000000000000000000000000000000010c161f2c363e45494b4d4d4d4d4d4b4a453f362d20170d000000000000000000000000000000000000000000000000000000000b16212b353d44484a535353535353535345403931271d12070000000000000000000000000000000000000000000000000000000004101c2834404a545c676d70737677787878777674716e6864605b534e463f362d251b110800000000000000000000000a131d262f3740464e54596063666d6f72747577777777777574716e6966615e57524c535c64676c6c6c6c6c66635b52473b2f23160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202c353f49525b636c717c828a8f94989c9ea1a8a2a3a2a9a19e9c9894908a827b716c635b51493f352c20170d00000000000000000007121d283139404547494949494949494949494949494949494949494949484747454042403e3c3937332d2c29231d19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c566673808c99a6ada196897c7063584e42382e251e1916151516181d232935404b55606d7985929eabaa9d908376685e5246392d20130700000000000000000000000000000000000a1623303d495663707c8996a7b1bcbbafa399887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000010d18242f39434b5153565656565656565656565656565656565656565656555554524c4f4d4a4846423d3a38342e2a251e19130c0400000000000000000000000000000000000000040e18222a32373b3c3d3d3d3d3d3d3d3a38342f271f150b010000000000000000000000030e18222a31373a3c3d3d3d3d3d3d3d3a3935302820160c02000000000000000000000000030d19222b32373b3c3d3d3d3d3d3d3d3a38342e261e140a0000000000000000000000000000000000000000000000000000000000040d1a242c34393d3e40404040403f3d3a342d241b0e0500000000000000000000000000000000000000000000000000000004101c27333d474f5456606060606060605f514b43392f23180c0000000000000000000000000000000000000000000000000000000006121f2c3844515c666d797d8082848485848482807e7a76706c655f5850483f372d231a0e0500000000000000000007101c252f38414951585f626b6f74797c7f8182838484848382807e7b78736e69615e5658646e747979797979736d63574b3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1a232d374049525a616a6e767d82888b8f9196959596959597928f8c88837d766e69615a514940372d231a0e05000000000000000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3c3b3b3a38342f34312f2d2b27221f1c18120d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3b4855616e7b88949faba89b8e82756a5f544a3f36302a252322222324292e343e45515d67717e8b97a2ada2988b7e7165564c41362a1d110500000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc0b5ab96897c706356493d3023160a00000000000000000000000000000000000000000000000000000007121d283139404547494949494949494949494949494949494949494949484847464143403e3b3a36312d2b28231c19130d080100000000000000000000000000000000000000000007101820262b2e2f303030303030302d2c29231d150d030000000000000000000000000006101820262b2e2f303030303030302e2d29251e160e04000000000000000000000000000007101920272b2e2f303030303030302d2b28231c140c0200000000000000000000000000000000000000000000000000000000000009121a22282d3031333333333332312e29231b1209000000000000000000000000000000000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c6c5c554b4034291c10040000000000000000000000000000000000000000000000000000000713202d3a4653606d79858a8d8f91919291918f8d8a86827d786f6a625a51493f352c20160c0200000000000000040f19222e37414a535b636a6f767c8185898b8d8f90919191908f8d8b8884807b746e68615a6774808686868686807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111b252e37404850575f626b70767b7f82848688888989888785827f7b76706c615f57504840372e251b11080000000000000000000000040d161d24292c2d303030303030303030303030303030303030302f2f2f2e2d2c2923272522201f1b1713100c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3a47535f697683909ca7ac9f93877c6f665c5046413a3630302f2f2f2f35394045505a606d7984919ea9aa9f92857a6d6054473a3025190d0100000000000000000000000000000000000a1623303d495663707c8996a7b1bcbbafa499887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3c3b3a39353034312e2d2a26201f1c17110d0802000000000000000000000000000000000000000000000000070e151b1f212223232323232323201f1c18120b03000000000000000000000000000000060e151a1f21222323232323232321201d19130c0400000000000000000000000000000000070f151b1f222323232323232323201f1c17110a0200000000000000000000000000000000000000000000000000000000000000000910171d21242426262626262524221d18110900000000000000000000000000000000000000000000000000000000000916222f3c4854606b707979797979797976675c5145382c1f13060000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86979a9c9d9e9e9e9d9c9a99938f8a837c716c625b51473e32281e1308000000000000000a15202b344049535c646d727c83898e9297989a9c9d9d9e9d9d9c9a9896918c87817a716c63697683909393938c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131c252e363e454e53596163696e7275787a7b7c7c7c7b7a7876726e6a646159534d453e362e251c130900000000000000000000000000040c12181d20202323232323232323232323232323232323232323222221201f1c181a181513120f0b06040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424d5764707d8a95a0aca49a9083786d605c524c46413e3c3c3c3c3e40454b515a616c74808d96a1ada2988d8073675d514539281e13080000000000000000000000000000000000000814212e3b4754616e7b8795a0acb3b2ab9f93867a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000040d161d24292c2d30303030303030303030303030303030303030302f2f2e2e2d2925272422211e1a1312100b0600000000000000000000000000000000000000000000000000000000040a0f131516161616161616161413100c07010000000000000000000000000000000000030a0f121515161616161616161413110d0802000000000000000000000000000000000000040a0f131516161616161616161312100b060000000000000000000000000000000000000000000000000000000000000000000000060c111517181a1a1a1a1a181715110c060000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d86868686868686796d6053473a2d2014070000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a9a9aaaaa9aaaaa9aba49f9c9590867e726d62594f443a3025190d030000000000030f1b27323d46515b646e747f8790949b9fa2a9a7a8a6a4a3a3a3a3a5a8a19e99928e857e736e687885929e9f998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c242c333c42474f55575f616569676d6e6f706f6f6d686965625f57554f47423c332c241c130a01000000000000000000000000000001070d10131416161616161616161616161616161616161616161615141413100c070b0906050300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4653606c7883909aa4ac9f958d80746e615e56524c4b494848494a4b51545c606c717e88939fa8a69f92857a6d61554c413529160c020000000000000000000000000000000000000714202d3a46525e697783909da1a9a8a0998f8276675d5145392c2013060000000000000000000000000000000000000000000000000000000000040c12181d2020232323232323232323232323232323232323232323222221201d191a171514120e0906030000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a07060400000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0707050100000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a07060300000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b0d0d0d0d0d0c0b090501000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d899393939393867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a29f9e9d9d9d9fa2aaacaca79f98928b7f726b61564c41362a1f1409000000000006131f2b37434e58636d74808c92999fa6ababa39f9c999797969697989a9c9fa39f98928a80736d7a8797a1a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a121a212a31373e44484d535558555d606262636262615e565955534e49443e37312a211a120a010000000000000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090909080807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2b3744505b656f7d88939fa7a79d928c80756d68615e56575655555657555d60666d737e87929aa4a99f948b7f72685e52433a2f2419050000000000000000000000000000000000000005111e2a36424d5763707d8a929797979691877c6f62554b4135291d110400000000000000000000000000000000000000000000000000000000000001070d10131416161616161616161616161616161616161616161615151413110d080b0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d89969f9f9f93867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000714202d3a4753606d7a869398929190909192989a9fa2aaaaa39f93877d70685e52463b31251a0e02000000000815222e3b4754606a737f8c929fa3abaaa29f9992908d8b8a89898a8b8d9092999da09f928d80737c8996a9a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090f1820262b33383b4246484c4b5153555556565554524c4c4847423c39332b261f180f0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606b74818d95a0a8a49c928c817a736d686664636262626466676d717980879299a3aaa1969082776c60564c4131281e130800000000000000000000000000000000000000020e1a25303b4855616b717e85898a8a88847d706a6054433a2f24180d010000000000000000000000000000000000000000000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090909080707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a131313131313131306040000000000000000000000000000000003080b0d0e1313131313130f0f0d0904000000000000000000000000000001070b0f11121313131313130c0b09060100000000000000000000000003060809131313131313130a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3aca093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000714202d3a4753606d79868a87858584838485888d9298a0a7aea49992857a6d61574d42362a1e120500000007131f2c38434f59626f7c87929fa4afa8a098928d8683807e7d7c7c7d7e8083868b91959f9c928a7e7f8b98a5a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a21282c31363a3b3f40454748494949484746413f3b3a37312d28211a150e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414f59606d79839096a1a8a49c938e857f7a7673716f6f6f6f7172757a7e848d9399a3aaa29891847a6e655b50443a301f160c01000000000000000000000000000000000000000009141f2c38444f59616c71797c7e7d7c78706b60584e4331281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10131617202020202020202013100c0701000000000000000000000001080f14181a1b2020202020201c1b19151009020000000000000000000000050c12171b1d1e202020202020191815120d06000000000000000000030a0f12151520202020202020171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000713202d3a4653606d78807d7b7978777677797c80869095a0a7aba1978e8174695e53463a2d2114090000000915222f3b4854606b76839099a3afa9a0969186807a767371707070707273767a7e848b92989f928583909da9a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161c1f262a2d2e2f35393a3b3c3d3c3c3a3936302f2e2b26201c170e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3d45515d676e7b8491969fa7a59e97928c8683807e7c7b7b7c7d7f82868b91969fa4a8a09892867c6f685e53493f32281e0d0400000000000000000000000000000000000000000002101c28333e47505a61676d7071716f6c6660594f463d321f160c0100000000000000000306080913131313131313131313131313131313131313131313131313131313131313131313130f0e0c080400000000000000000000000003060809131313131313130a0907040000000000000000000000000000000000000000000000080f161c2022232d2d2d2d2d2d2d2d1f1c18120b03000000000000000000020b131a202427272d2d2d2d2d2d292825211b140c03000000000000000000060f161d23272a2b2d2d2d2d2d2d2524221e18110901000000000000060e151b1f21222d2d2d2d2d2d2d2423201c161008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000006121f2c3844515c666d73706e696b6a6a656c6f737b839095a0aba99f92867b6e6154483b31261a0e0200030f1b27333f4953636f7c89949fabada19791847c736d686664646363646567686d71787f869297979290959faba6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141a1e212224292c2d2f2f302f2f2e2d2a2522211e1a15100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2935404b555e696e7b8490959fa3a9a29f99928f8c8a898888898a8c8f92989ea0a8a59e9691867d6f6a60564c41382d20160c00000000000000000000000000000000000000000000000b16212c353e4850555c6063646462605b544f473d342b200d0400000000000000030a0f12151520202020202020202020202020202020202020202020202020202020202020202020201c1b18140f09020000000000000000030a0f12151520202020202020171614100b05000000000000000000000000000000000000000008111921272c2f3039393939393939392c29231d150d0300000000000000010b141d252b3033343939393939393635312c261e150c0200000000000000050f1820282f33373839393939393932312e29231b1309000000000006101820262b2e2f39393939393939302f2c28211a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000004101c2834404a545c606664615e575d535b6062696e79839099a3aea3998c807366574d42362a1e12050005121f2b3744505b6574818e9aa6b0a79e91857a6e6a615e56585756565758565d60666d727c8592999f9d9fa7b1a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181d2020222223232221201d191514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18242f39434d575f696e7b838d92999ea6aba39f9c99979695959597999c9fa2aaa79f9d938e847c6f6a60584e443b2f261b0e05000000000000000000000000000000000000000000000005101a232c363e434b51535657575553504a423d352b22190f00000000000000060e151b1f21222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282725201a130c03000000000000060e151b1f21222d2d2d2d2d2d2d2423201c161008000000000000000000000000000000000000050f19232b33383c3d464646464646464638342f271f150b0100000000000008131d262f363c404146464646464642413d3730271e1409000000000000010c16202a323a3f43454646464646463f3e3a342d251b1106000000030e18222a31373a3c464646464646463d3c38332c231a100500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000c18232e39424a51535a5754534d51495053575e676f7c87929facab9e918477695f53463a2d211407000613202d394653606c7885929eabab9f958a7d70685f58524c4b4a49494a4b4c52545c606a6f7d87929fa8abb1b3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507070d11131415161616151413110d0808060200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313b454d575f696e7980878f949a9ea1a9a8a6a4a2a2a2a2a4a5a8aaa29f9b959089817a6f6a60584e463c32291d140a0000000000000000000000000000000000000000000000000008111a242c3039404546494b4a4946443f382f2b231a100700000000000006101820262b2e2f39393939393939393939393939393939393939393939393939393939393939393939393534312c251e150c020000000006101820262b2e2f39393939393939302f2c28211a110800000000000000000000000000000000000b16212b353d44484a535353535353535345403931271d12070000000000030f1a252f3841484c4e5353535353534f4d49423930261b1004000000000007121d28323c444b50515353535353534c4a463f372d23180d0100000a15202a343c434748535353535353534a48443e352c21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000007121c2730394044464d4a484642443f44464d555f6a75828f9babaca096887b6e6155483b2e221508000915222f3c4855626f7c8897a1ada99d9083766b61564e46413e3d3d3d3d3f41454a5058606b737f8c96a1acb9b3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060708090a09090707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f29333b454d575e676d737c82888d9197989b9d9e9fa3a49f9f9d9c9998928e89837d756d685f584e463d342b20170b02000000000000000000000000000000000000000000000000000009121a1e272e34383a3d3e3e3c3938332d261d1a1108000000000000030e18222a31373a3c464646464646464646464646464646464646464646464646464646464646464646464642403d372f271e1309000000030e18222a31373a3c464646464646463d3c38332c231a100500000000000000000000000000000004101c27333d474f5456606060606060605f514b43392f23180c00000000000814202b36414a53585a6060606060605c5a544c42372c21150900000000000b17232f3a444e565c5e606060606060585651493f34291e120600030f1b26313c464e53556060606060606057554f473e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000b151e272e34383a403d3b3a363133373b434e5863707d8999a4afa8978a7e7164574b3e3124180b000b1825313e4b5864717e8b97a9b2a9978b7e7164594f443c3630313030312f35383f444f59606d7984919eabb5b3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212a333b454d555c606a6f757c8085898b8e90919298999392918f8d8986827d77706b615d564e463d342b22190e0500000000000000000000000000000000000000000000000000000000090c151d23282c2d3031312f2d2b28221c140b08000000000000000a15202a343c43474853535353535353535353535353535353535353535353535353535353535353535353534f4d4841392f251a0f0400000a15202a343c434748535353535353534a48443e352c21160b0000000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c6c5c554b4034291c1004000000000b1824303c48535c64676c6c6c6c6c6c69655e54493d3125190d00000000020f1b27333f4b5660686b6c6c6c6c6c6c65625b51463a2e2215090006121f2b37434e585f626c6c6c6c6c6c6c6361594f44382c201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000030c151c23282c2d33312e2d2a25272b313c4753606d7a86939faca6998d8073665a4d4033271a0d000d1a2733404d5a6673808d99a6ada196877b6e6154473e322a252423232424292e343d45515c67727f8c99a4afb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18212a333b434b51585f626a6f74797c7f81838586868686858482807d7a75706b636059524c443c342b22191007000000000000000000000000000000000000000000000000000000000000030b12181c1f2023242422201f1c17110a0200000000000000030f1b26313c464e535560606060606060606060606060606060606060606060606060606060606060606060605b59534b41372c20140800030f1b26313c464e53556060606060606057554f473e33281c100400000000000000000000000000000916222f3c4854606b707979797979797976675c5145382c1f1306000000010d1a2733404c58646e747979797979797570655a4d4135281b0f0200000004111d2a3743505c687278797979797979726d62564a3e3124180b000815212e3a47535f6a7679797979797979706b6155483c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000030b12181c1f20272421211e1a1b202c3945515d677784919daaa89b8e8175685b4e4235281b0f000f1b2835424e5b6875818e9ba8ab9e918578695e52463a2c201917161617191c232834404b55616d7a87939facb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f182129303940454e53585f62666d6f7275767879797a7978777573706d67636159544f46413a322a22191007000000000000000000000000000000000000000000000000000000000000000000070c1013131618171613120f0b0600000000000000000006121f2b37434e585f626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c68655d53483d3125180c0006121f2b37434e585f626c6c6c6c6c6c6c6361594f44382c20140700000000000000000000000000000a1723303d4a5663707d86868686868686796d6053473a2d201407000000010e1b2734414e5a6774808686868686868275695c4f4236291c0f0300000005121e2b3845515e6b78848686868686867f7265584c3f3225190c000915222f3c4855626f7c868686868686867d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000070c1012131a171514120e111d2935404b556976838f9ca9a99c8f8376695c504336291d1000101c2936434f5c6976828f9ca9a99c8f837669574d42362a1a0e080a0a080d1118232e3946525e687683909ca9b3a6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171e272e343c43474e53545c606265686a6b666d6d676c6a696663605d55554f48443d353028201810070000000000000000000000000000000000000000000000000000000000000000000000000406070a0b0b0906060300000000000000000000000815212e3a47535f6a767979797979797979797979797979797979797979797979797979797979797979797979756f65594d4034271b0e000815212e3a47535f6a7679797979797979706b6155483c2f23160900000000000000000000000000000a1723303d4a5663707d899393939393867a6d6053473a2d201407000000010e1b2734414e5a6774818d939393938f8275695c4f4236291c0f0300000005121e2b3845515e6b788491939393938b7f7265584c3f3225190c000915222f3c4855626f7b8893939393938a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000406070d0a080705020d18242f424f5c6875828f9ba8a99d9083766a5d5043372a1d1000101d2a3643505d697683909ca9a89b8f8275685c4f4230251a0f000000000007121d2a36414c566673808d99a6b3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c151d232832373c43474a505356585b5d5e5c60605c555e5c5a5653514b48443d383329241e160e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b86868686868686868686868686868686868686868686868686868686868686868686868175685b4f4235281c0f000915222f3c4855626f7c868686868686867d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d89969f9f9f93867a6d6053473a2d201407000000010e1b2734414e5a6774818d9a9f9f9c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919e9f9f988b7f7265584c3f3225190c000915222f3c4855626f7b88959f9f9f968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000071c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100101d2a3743505d6a7683909da9a79b8e8174685b4e4135281b090200000000000d1925303d4a5764707d8a97a3b0a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820262b3237383f4446494c4e504a505353514b514f4d4a4745403a38332c272119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b889393939393939393939393939393939393939393939393939393939393939393938e8275685b4f4235281c0f000915222f3c4855626f7b8893939393938a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3aca093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aca3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e0100000000000815222f3b4855626e7b8895a9b3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c151b20262b2e34383a3c3f42433f44464745404442403d3a39352f2c27211c160d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b88959f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9b8e8275685b4f4235281c0f000915222f3c4855626f7b88959f9f9f968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e0100000000000713202d3a4653606d798697a2ada6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f151b1c23282b2d2f32352e34383a3a38342f3633302d2c29241d1c16100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2acacb1aba9a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89b8e8275685b4f4235281c0f000915222f3c4855626f7b8895a2aca3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000006131f2c3845515c677885929faba6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f2023252823282b2d2d2c292329272320201d1813100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeb1a79f9d9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b8e8275685b4f4235281c0f000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004101c2834404b556b7784919eaaa6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b10121316191b171c1f20201f1c181c1a171413110d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c8895a2aeab9f95908f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8e8175685b4f4235281c0f000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e010000000000000c18232e44515e6a7784919daaa6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607090c060b1012131413100c070d0a0706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea99d90838282828282828282828282828282828282828282828282828282827f7265594c3f3226190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000000071d2a3744505d6a7783909daaa6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d757575757575757575757575757575757575757575757575757575726d62574a3e3125180b000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d70686868686868686868686868686868686868686868686868686865625b51463a2e221609000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a131313131313131306040000000000000000000000000000000000000004080a0a1313131313131312110e09040000000000000000000000000000000000000000000000000000010406070a0d0f10111111100e0c0a07070401000000000000000000000915222f3c4855626f7b8895a2aea3968a7d70635c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c595751493f35291e1206000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10131617202020202020202013100c07010000000000000000000000000000050b10141617202020202020201f1d1a150f08000000000000000000000000000000000000000000000001080d111314171a1c1d1e1e1e1d1b19171413110d080100000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4c4a463f372d23180d01000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f161c2022232d2d2d2d2d2d2d2d1f1c18120b030000000000000000000000000810171c2023242d2d2d2d2d2d2c2c2a26201912090000000000000000000000000000000000000000040a0f13191d20212427292a2a2b2a2928262421201d19130c04000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a42424242424242424242424242424242424242424242423f3e3a352d251b110700000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111921272c2f3039393939393939392c29231d150d030000000000000000000008111a22282d3031393939393939393836312b241b1208000000000000000000000000000000000000070c151b1e24292c2d30333536373837363433302d2c29241e160d0c0300000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3535353535353535353535353535353535353535353532312e29231b13090000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19232b33383c3d464646464646464638342f271f150b01000000000000000005101a232c33393c3d4646464646464645423d352d24190f04000000000000000000000000000000030b121820262b2f35393a3d40424344444443413f3d3a39352f28201e150c02000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302929292929292929292929292929292929292929292625221e181109010000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a020100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212b353d44484a535353535353535345403931271d120700000000000000000b17222c363e44494a53535353535353524e473f352b2015090000000000000000000000000000050c151d232832373a4145474a4d4f50515151504e4c4a4745413a322f271e1309000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c191816120d0700000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170f0f0e0d0c0a08060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3afa295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c27333d474f5456606060606060605f514b43392f23180c0000000000000004101c28333e485055576060606060605f5e5951473d31261a0e00000000000000000000000000050e171e272e343c43474c5254575a5c5d5d5e5d5c5b595754524c4441392f251a0f040000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b0906010000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241c1c1c1b1a18171513120f0b0606030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0a4978a7e7164574b3e31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c6c5c554b4034291c10040000000000000814202d3944505a61646c6c6c6c6c6c6c6a63594e42362a1d11000000000000000000000000020b172029303940454e53565d60636668696a6b6a69676663605d56534b41372c2014080000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a02020202020202020202020202020202020200000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30292929282826252322201f1c1715130f0a05020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0a69a8d807367574d42362a1e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4854606b707979797979797976675c5145382c1f13060000000000000a1623303c4955616c7079797979797979756a5e5245382c1f120000000000000000000000000a141d29323a434b51585f62686d70737576777777767472706d68655d53483d3125180c0000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3636363535343332302e2d2b2822221f1b15110e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0aa9d908377695f53463a3025190f0600000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d86868686868686796d6053473a2d2014070000000000000a1724313d4a5764707d86868686868687796c5f5346392c2013000000000000000000000006111c262f3a444c555c606a6f757a7d80828384848483817f7d7a756f65594d4034271b0e0000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d7063574a43434343424241403f3d3b3938332d2e2b27201e1a140e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0aca095887b6e61564c41362a21180f07010001050707080705020000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d899393939393867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a939393939286796c5f5346392c201300000000000000000000000b17222d38424c565e676d747c81868a8d8f909091908f8e8c8a868175685b4f4235281c0f0000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d706357505050504f4f4f4e4d4b4a4846443f3c3b37322d2a251f1a140b06000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b1a79a8d8073685e52463d33292118120e090d1113141414110e0802000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d89969f9f9f93867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a979f9f9f9286796c5f5346392c201300000000000000000000030f1c28333f4a545e686d7981888e9299999b9c9d9e9d9c9a99999184786b5e5245382b1f120000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a02020202020202020202020202020202020100000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d70635c5c5c5c5c5c5c5b5b5958565553504a4947433c3a36302a251f17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b8ab9f92857a6d61594f453b3329231d1a1b191d202121201e19140d050000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3aca093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000000000006121f2b3844505b666d7a838e939b9fa3aba8a7a4a2a1a2a3ab9e9185786b5e5245382b1f120000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0e0e0c080300000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d706969696969696968686766656361605b5455544e4746423b363028221c140b05000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0baaea2988d81746b60574d453c342f2a2628252a2d2e2e2d2a251f170e0500000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c201300000000000000000005111d2a36414c56606c78828f959da5acaaa29f9a979595959697999185786b5e5245382b1f120000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1b1a18140f09010000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aea3968a7d76767676767676767575747372706e6c666662605854524d46423b332d261d170e060000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0afaaaa9f93887d70695f574e4540393631343036393a3b3936302920170d02000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000000000713202d3946525e68737f8c949fa7afa59e98928e8a898888898a8c8f84786b5e5245382b1f120000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3028282828282828282828282828282828282828282724201a130b0300000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aeaa9d90838283838383838382828281807e7d7b7976736f6a66615e57524d443f382f2920180f0600000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3afa59e9b9e9a92857b6e696058514b46424141424146474746413b32291f1408000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000000000714212e3a4754616d7a86929fa6afa59e938f85817d7c7b7b7c7e808283776a5d5044372a1d110000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d35353535353535353535353535353535353535353534302b251d150b01000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada093877a6d6054473a2d211407000000010e1b2734414e5a6774818d9aa7a89c8f8275695c4f4236291c0f0300000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aeaca095908f8f8f8f8f8f8f8f8f8e8e8c8b898885827f7c78736e69615e57504a423b322a21180f05000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3aa9e938e91969791847b6f6a605c55534d4e4e4f4c525454524d443b3025190e020000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c2013000000000000000005111e2a36424d5666727f8c98a3aea89e938e817a74716f6e6f707173757771675b4f4236291d100000000915222f3c4855626f7b8895a2aea3968a7d7063574a42424242424242424242424242424242424242424241403c372f271d1309000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada094877a6d6154473a2e211407000000010e1b2734414e5a6774818d9aa7a99c8f8276695c4f4336291c070000000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aeb1a7a09d9c9c9c9c9c9c9c9c9b9b9a99989698928f8c8884807b746e69605b544c443c332a21170d030000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3a89b8e8184919e9691847c736d67615f575b5b5c565e61615e564d41362a1e11050000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c201300000000000000000714202d3a46525e697784919eaaaca0968e81786d6864626262636466696a675f554a3e33261a0e0000000915222f3c4855626f7b8895a2aea3968a7d7063574f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4e4d4841392f251a0f030000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3aea194887b6e6155483b2e221508000000010e1b2734414e5a6774818d9aa7a99c8f8376695c50432f23180c0000000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aeb9b1aba9a8a8a8a8a8a8a8a8a8a8a7a6a5aaa29f9c9996918c86817b726c665e564d453c33291f150b0100000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3a5998c7f7d89939d9691867f79736e696968676869686d6e685e5246392d2014070000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c201300000000000000000814212e3b4754616e7b8796a0acab9e9184796d665e565655555657595c5d5b554d43392e22160a0000000915222f3c4855626f7b8895a2aea3968a7d70635b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b59534b41372b2014080000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3afa295897c6f6256493c2f231609000000010e1b2734414e5a6774818d9aa7aa9d9083776a554b4034291c100400000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aeb1a79f9d9b9b9b9b9b9b9b9c9c9d9e9fa3aba5a9a9a8a19e99928e867f786e685f574d453b31271d120700000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3a4978b7e74818e959f99928c847f7b787574747576787a7b6e6154473b2e2114070000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c201300000000000000000b1724313e4a5764717d8a97a8afa3998b7e72675d544c494848494b4d4f504f4a433b31271c11060000000915222f3c4855626f7b8895a2aea3968a7d7068686868686868686868686868686868686868686868686868645d53483c3024180c0000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3b0a4978a7d7164574a3e31241709000000010e1b2734414e5a6774818d9aa7ab9e918578675c5145382c1f130600000005121e2b3845515e6b7884919eaba5988b7f7265584c3f3225190c000915222f3c4855626f7b8895a2aeab9f95908f8f8f8f8f8f8f8f8f9091929996999c9fa3aaaba39f98928c827a6e695f574d43392f24180c04000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3a3968a7d7079839096a19f96918c8884828181828385878074675a4d412e23180c0000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daaa79a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909daaa6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c201300000000000000000d1a2633404d596673808c99a6ac9f92867a6d60554b423c3b3c3d3e404244423e3931291f150b000000000915222f3c4855626f7b8895a2aea3968a7d75757575757575757575757575757575757575757575757575746f64594d4034271a0e0100000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3b0a5998c7f7266594c3f31261a0e000000010e1b2834414e5b6774818e9aa7ac9f93867a6d6053473a2d20140800000005121e2b3845515e6b7884919eaba5988b7e7265584b3f3225180c000915222f3c4855626f7b8895a2aea99d9083828282828282828283838486878a8c8f92989da0a7aaa29f9490847b6e695e554b40352920150a000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab95887c6f6e7b8491969fa19e9996918f8e8e8f90918f827669554b4034281c100400000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909da2a29a8d8174675a4e4134271b0e01000000000004111d2a3744505d6a7783909da2a2998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c201300000000000000010e1b2734414e5a6774818d9aa7aa9d908477675d5143392f2f2f303133363736332e271f170d03000000000915222f3c4855626f7b8895a2aea99c9082828282828282828282828282828282828282828282828282828174685b4e4135281b0e0200000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3b0a89b8e827568574e42372b1c12070000000f1c2835424f5b6875828e9ba8afa499887c6f6255493c2f24190d02000006121f2b3844505b667885929faba4988b7e7165584b3e3225180b000915222f3c4855626f7b8895a2aea3968a7d7575757575757575767778797b7d7f82868b90959ea1a9a69f9691847b6e675d51453c32261b0f030000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3a499877a6e696e7b8490959fa3a8a19e9c9b9a9b9c9e918477675c5145382c1f130600000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a778390959595958d8174675a4e4134271b0e01000000000004111d2a3744505d6a778390959595958c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c201300000000000000020f1b2835424e5b6875818e9ba8a89b8e827568554c4131282222232426292a2926221c150d0500000000000915222f3c4855626f7b8895a2aeab9f94908e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e85786c5f5245392c1f120600000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3b0ab9e9184786a5f5347392e23180e090909111d2935404b556976828f9ca9b5ab988b7e7265564c4135291e140b07090613202d394653606c7986939faca4978a7e7164574b3e3124180b000915222f3c4855626f7b8895a2aea3968a7d7068686868686869696a666c6e7072767a7e838a91979fa7a8a0969083796d60584e43372b1f14090000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a29f9386796d60696e7b838d92999fa3aba8a7a7a8a99f9286796d6053463a2d20130700000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100111d2a3744505d6a77838888888888888174675a4e4134271b0e01000000000004111d2a3744505d6a7783888888888888807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c201300000000000000030f1c2936424f5c6975828f9ca8a79a8e8174675b4e412f28161516181a1c1d1d1a16110b030000000000000915222f3c4855626f7b8895a2aeb0a69f9c9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9285786c5f5245392c1f120600000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3b0ada196887b6e62544a403428201a16161515202c3945515d677784919daab5a89b8f8275685d52453a2f261d1817161617212e3b4854616e7b879aa4afac96897d7063564a3d3023170a000915222f3c4855626f7b8895a2aea3968a7d70635c5c5c5c5c5c5c545b60616366676d71777e8590959fa7a8a0958d80746a5f53473b31261a0e0200000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d89959595918578665c5f696e7880868e92999b9e9fa2a39f9e99887b6e6255483b2f22150800000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000815222e3b4855616e7b7b7b7b7b7b7b7b6e6154473b2e211408000000000000000815222e3b4855616e7b7b7b7b7b7b7b7a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e0a0b0d0f11100e0a0600000000000000000915222f3c4855626f7b8895a2aeb8b0aba9a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89f9285786c5f5245392c1f120600000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3b0b2a8998c7f73665c51443b322a2623222223272f3a4753606d7a86939facb8ac9f92867a6d60554c41382f2924232222232834404a5464707d8a97acafa49a887c6f6255483c2f221509000915222f3c4855626f7b8895a2aea3968a7d7063574f4f4f4f4f504a50535457555d60646c717a839095a0aaa79f93877c6f62574d42362a1e120500000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d888888888883776a54575e666d737b81868b8e919298989292908a7d7064574a3d3124170a00000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000714212d3a46535f696e6f6f6f6f6f6f6e695e52463a2d201407000000000000000714212d3a46535f696e6f6f6f6f6f6f6d685e5246392d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000003040301000000000000000000000915222f3c4855626f7b8895a2aeb3aaa29f9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9285786c5f5245392c1f120600000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3b0b7ab9e9184796d60574d443c3631302f2f303039414d5763707d8999a4afbaaea2988c7f72675d5149413a352f302f2f2e343b44515c6673808d9aa6ac9f93867a6d6053473a2d201407000915222f3c4855626f7b8895a2aea3968a7d7063574a42424242433f4446484a4b51545a61686e7a839098a3aea49a8f8275695f53463a2d21140800000000000000000000000000000000000000000000000000000000000714202d3a4753606d797c7b7b7b7b7b6e61554d545c60696e757a7f8284858686858583817d6f6356493c3023160900000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e110005121e2a36424d575f61626262626262615e564d42362a1e11050000000000000005121e2a36424d575f61626262626262615e564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000000000000000000000000000000000915222f3c4855626f7b8895a2aeaea298929292929292929292929292929292929292929292929292929285786c5f5245392c1f120600000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3b0b9ada1968b7f72695e564e46423e3c3c3c3d3e424a535f6975818e9babb5b4aeaa9e92857a6d605b534c45403e3d3c3c3d3f444d56606d7985929eabaa9e918477675d5145392c201306000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3535362d3338393b3d41454750565e686e7c86929facac9e94887b6e6155483b2f24190d01000000000000000000000000000000000000000000000000000000000613202c3945515d676d6f6f6f6f6f6e695f53464a51575f62686d727577797979797877756f6b6054483b2f22150900000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100020e1a26313b454d535555555555555554524d443b3025190e0200000000000000020e1a26313b454d535555555555555554524c443a3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000000000000000000000000000000000915222f3c4855626f7b8895a2aeab9f92858585858585858585858585858585858585858585858585858584776b5e5144382b1e110500000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3b0b3ada89f92857b6e685f58534d4b494948494a4f545c656e7b86929facb2aaa29fa1978e81746c655d55514b4b4a49494a4a50575e68717e8b97a1adaa9b8e817468554b4035291d1004000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30292922282b2d2e2f35393e444c565f6a74808d9aa4afa6998c807366564c4135291d11040000000000000000000000000000000000000000000000000000000004101d2935404b555d606262626262615f574d4240444d53565e6165686b666d6d666b6a686360594f43382c1f130700000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000009141f2a333b4246484848484848484746423b32291f140900000000000000000009141f2a333b4246484848484848484746413a32291e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d787878787878787878787878787878787878787878787878787772675c4f43372a1d110400000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3b3a9a19e9e9891837a6f6a615f575756555556575960666d77828f98a3aea8a09892989e938d80776d67605d555756555556545c60696e7a85929fa9aea2988a7e7164574b3e2f24180d01000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241c171c1f202124292c323b434e58616e7b87939facaa9d908377685d5245392c20130700000000000000000000000000000000000000000000000000000000010d18242f39434b5153555555555555534d453b343c42474c5254585b545c60605c5f5d5b56544f473d32271b0f0300000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e110000030e18212a31363a3b3c3c3c3c3c3c3b3a36302920170d02000000000000000000030e18212a31363a3b3c3c3c3c3c3c3a3936302920170d0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d706b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6760564b3f33271b0f0200000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ada1979291969591847c746e6967646362626364676b6f78818e949faaaca096918592979d928d817a726d6766646362626364666d717b839097a2adaa9f92867a6d6053473a2d20140700000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170b0f121315181d2029313c46535e697683909da9ac9f93867a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000007121d28313940454748484848484846423b332831373a4146474c4f4b515353504a504f4948433d352b21160a0000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000060f181f262a2d2e2f2f2f2f2f2f2e2d2a251f170e050000000000000000000000060f181f262a2d2e2f2f2f2f2f2f2e2d2a251e170e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d70635f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5e5c564e443a2e23170b0000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3ab9e9285849199969187807b7673716f6f6f707173777c838e939ea6afa59e91847b85929e9d938e857f7a767371706f6f707174797e849095a0a9aea2988d8174675d5145392c20130600000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a030606070d11171f2a36424d576673808d99a6afa499897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000010c161f282f35393a3c3c3c3c3c3b3a36312921262b3036393a3f4240454646443f44423c3b38322b23190f040000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e1100000000060e141a1e212222222222222221201e19140d0500000000000000000000000000060e141a1e212222222222222221201e19130d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d70635752525252525252525252525252525252525252525252514f4b443c32281d12060000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3a89b8f827c87929f99928d8883807e7c7c7b7c7d80838990959ea5afa79e938a7e717e8a919c9e97928c86837f7e7d7c7c7d7e81848b9196a0a7afa59f92867b6e61554b4035291d110400000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000001050d1a25313e4b5764717e8a97a4b5ab978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000040d161d24292c2d2f2f2f2f2f2e2d2a261f171a1e252a2d2e322e34383a3a38342e35302f2c2721191007000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000003090e1214151515151515151414110e090200000000000000000000000000000003090e1214151515151515151413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a45454545454545454545454545454545454545454544433f3a322a20160c010000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3a6998c80737f8b919f9f9a95908d8a898888898a8d90959d9fa7afa79f958f81756c737f8c929fa19e9992908c8a898888898b8e91969ea1a9ada59d938b7f72695e53433a2f24180d0100000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000091623303c4956636f7c8996a2afa6998c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000040c12181d2020222222222222211e1a140d0e13191e20212523282c2d2d2b28232823221f1b160f0700000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000205070809090909090908070502000000000000000000000000000000000000000205070809090909090907070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d38383838383838383838383838383838383838383837332e2820180e04000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a3aa978a7d71737f8b92989f9f9d9a9796959596979a9da0a7ababa39f9590837a6d606d73808a92979fa39f9c999796959596979a9ea1a8ada9a19e938e81756d62574d4231281d13070000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000915222f3c4855626f7b8895a2aea6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000000000001070d10131415151515151514120e090302080d11131419181c1f20201f1c171c1615130f0a040000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2b2a27231d160e0600000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d8996a2a298887b6e6d737e868f949c9fa4aca2a2a2a3a4a6aaa8aaa29f99928c837a6d685d636d737e858e939a9fa2aaa4a3a2a2a3a4a7aaa8a8a19e97928b81786d605b51453b311f160c010000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000915222f3c4855626f7b8895a2aea79a8d8074675a4d4134271a0e00000000000000000000000000000000000000000000000000000000000000000000010406070909090909080705020000000001050707070c1013131312100b060909070300000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093877a6d6054473a2d2114070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1e1d1b17120c040000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d899595959285796c606c717b82898f939a9b9d9f9fa49f9f9e9c9998928d8780786d685d565b636c717b81878e92989a9c9e9fa2a49f9f9d9b9996918c857e746d665c50493f33291f0d04000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000916232f3c4956626f7c8995a2afa6998d8073665a4d4033271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060707060300000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada194877a6e6154473b2e2114080000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302417121212121212121212121212121212121211110f0b0601000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000a1723303d4a5663707d88888888888376665b626a6e767d82878b8e909293999392918f8d8985807b736d665d564c525a61686e757c81858a8d8f9192989a9392908e8c89847f7a716c605c544a3f372d21170d00000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000104090f1824313e4a5764717d8a97a4b0a6998c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3aea195887b6e6255483b2f2215080000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a05050505050505050505050505050505050402000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000714202d3a4753606d797c7b7b7b7b7b6e6154575f626b70767b7e818385868686858482807d79746e69605c544c444850565e616a6e74797d808284858686868584827f7c78736d68625a504a42382e251b0f0500000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0a0a080d11141a212a36424d576673808c99a6b6ac988b7e7165584b3e3225180b000000000000000407090a1313131313131313060400000000000000000000000000000000000000000000020507081313131313131309080603000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3afa296897c6f6356493c302316070000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000613202c3945515d676d6f6f6f6f6f6e695e534e53596063686e71747778797a7978777573706d67615f57514b423a3e444d52585f62676d7073767879797a79787775726f6c66605d5650443f3830261c13090000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241716161718191d20252a333c46535f697683909ca9afa49a897c706356493d3023160a0000000000050b10131617202020202020202013100c0701000000000000000000000000000000000002090e121415202020202020201615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0a4978b7e7164584b3e2e23180c0000000000000a1724313d4a5764707d8a97a3ac9f9286796c5f5346392c20130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a090704000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000004101d2935404b555d606262626262615e574d42474f55565e6165686a656c6d6c656b696663605c55534d45403930323b41464e53555c606367696b666d6d6c656a686662605b54524c433e342e261e150a010000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024232323242524292c30363d454f59616e7b87939facac9f93867a6d6054473a2d21140700000000080f161c2022232d2d2d2d2d2d2d2d1f1c18120b03000000000000000000000000000000050d141a1e20212d2d2d2d2d2d2d22211f1b150e06000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0a6998d807366544a4034281c100400000000000b1724313e4a5764717d8a97a4ac9f9286796c5f5346392c20130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241818181818181818181818181818181818181818161613100b0500000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000010d18242f39434b5153555555555554534d453b3d44484d5254585b535b6060605b5e5c5a5653514b46423b342e272930363c43474b5153575a5c545c6060605b535b595653504a45413a3128231c150c03000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302f2f303031323035393b42464f57606b74818e9aa4afac9d908477685d5245392c20130700000008111921272c2f3039393939393939392c29231d150d0300000000000000000000000000050f171f252a2d2e393939393939392f2e2b26201810060000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0a99c8f8276665c5144382c1f140901000000000b1825323e4b5865717e8b98a4ac9f9285796c5f5246392c1f130000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302525252525252525252525252525252525252525252322201c160f07000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000007121d28313940454748484848484846423b3333383b4146474b4e495053535350494f4d4a46454039363128231d1f252a3137394045464a4d4f4a5053535350494f4c4946443f38352f281f17110a0300000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3c3c3c3c3d3d3e404145474d52596069707d87939facafa49a8c807366564c4135291d11040000050f19232b33383c3d464646464646464638342f271f150b010000000000000000000000020d17212930363a3b464646464646463c3b37322a22180e0400000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0ab9f9285796d6053463b30251a120d080909060b1926323f4c5965727f8c98a5ab9e9285786b5f5245382c1f120000000000000003101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e01000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d32323232323232323232323232323232323232323232302f2c27211911070000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000010c161f282f35393a3c3c3c3c3c3b3a363129272c3036393b3e413f44464746443f42403d3a38342e2a261f1812141920262b2e34383a3d40433f44464746443f423f3c3938332d29241e160d06000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a4949494949494a4b4d4c5254575e616b707b859299a4afab9f93877b6e6155483b3024190d0100000b16212b353d44484a535353535353535345403931271d1207000000000000000000000009141f29333b424648535353535353534947433c342a20150a00000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0aea298897d7063574d42362a231d1916161516171d2a36414c566774818e9aa7aa9d9084776a5d5144372a1e110000000000000004101d293643505c6976838f9ca9a79a8d8074675a4d4134271a0e0d0d0d0d0a0907040000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3d3b38322b23190f0500000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000040d161d24292c2d2f2f2f2f2f2e2d2a251f1c1f252a2d2e322d3337393a3937332d33302d2c28231d1a140c07080e151a1d23282c2d30342e34383a3a3937332d332f2d2b28221c19130c0400000000000000000000000915222f3c4855626f7b8895a2aea3968a7d70635756565656565656575859565d6064696e747d859297a1abaea3998e8275695f53473a2d1e1308000004101c27333d474f5456606060606060605f514b43392f23180c00000000000000000000020e1a25303b454d525f6060606060606055534e463c32261b0f03000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b3aa9b8e8175695e52463e342f29242322222322282f3946525e687784909daaa99c8f8276695c4f4336291c100000000000050b10141d293643505c6976838f9ca9a79a8d8074675a4d4134271a1a1a1a1a1a171613100b05000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4948443d352b21160b00000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000040c12181d2020222222222221211e1a141014191e20212522272b2d2d2d2b27222723201f1c18120e09030000030a0f12181c1f20242723282b2d2d2d2b27222623201f1c17110d08010000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063626262626262636364656668686d71757b81889297a1a9afa59f92867c6e62574d42372b1e0c0200000713202c38444f5960636c6c6c6c6c6c6c6c5c554b4034291c100400000000000000000005121e2a36424d575e6c6c6c6c6c6c6c6c625f584e43372b1f1306000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b9ac9f92867b6e615a504540393530302f2f2f2d3339414c56616e7a86929faca79a8d8074675a4d4134271a0e000000000810171c2023293643505c6976838f9ca9a79a8d8074675a4d4134272626262626262322201c160f080000000000000915222f3c4855626f7b8895a2aea3968a7d70635858585858585858585858585858585858585858585858585856544f473d32271c1004000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000001070d10131415151515151514120e0903080e11141418171b1f2020201f1b171a171313100c070000000000000000070c101313171a171c1f2020201f1b17191613120f0b060000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d706f6f6f6f6f6f6f6f7070717375777a7d82868e939aa1a9aea69e938c7f736a5f53453c31261a0e0000000916222f3c4854606b707979797979797976675c5145382c1f13060000000000000000000714202d3a46525e697679797979797979766a5f53473b2e211508000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0baaea3998e81756c615a514b45413e3d3c3c3c3d3f444b525e68737f8c99a3afa7978b7e7164584b3e3125180b00000008121a22282d30313643505c6976838f9ca9a79a8d8074675a4d413433333333333333302f2c272119110800000000000915222f3c4855626f7b8895a2aea3968a7d7065656565656565656565656565656565656565656565656565656360594f44382c201307000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000104060709090909090807050200000002050708060b0f12131413120f0b060a0706040000000000000000000000000406070a060b1012131413120f0b060906060300000000000000000000000000000000000915222f3c4855626f7b8895a2aea5988c7f7c7c7c7c7c7c7c7c7c7c7d7e808184868a8f92999fa4acaca49d948f81786c60584e43332a1f15090000000a1723303d4a5663707d86868686868686796d6053473a2d2014070000000000000000000815212e3b4854616e7b868686868686867c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b3adab9e938b7e716c605c55524c4b494948494a4a50555c616d7a85919eabaca095877b6e6154483b2e211508000005101a242c33393c3d4043505c6976838f9ca9a79a8d8074675a4d4140404040404040403d3c38332b23190f05000000000915222f3c4855626f7b8895a2aea3968a7d717171717171717171717171717171717171717171717171717171706b6054483b2f221609000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506070605030000000000000000000000000000000000000000000000000306070706050300000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea79b918c898989898989898989898a8b8c8e9193999b9fa3abaca8a19e928d82796d665b50463c3121180e030000000a1723303d4a5663707d899393939393867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b879393939393887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b3a9a19e9d9f92877e736d67605d56585655555657545b60676d75818f97a1ada99d918477695e53463a2d21140700000b17222c363e44494a4d4d505c6976838f9ca9a79a8d8074675a4d4d4d4d4d4d4d4d4d4d4a48443d352b21160b000000000915222f3c4855626f7b8895a2aea79a8d807e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7d706356493d3023160a000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeada39b98959595959595959596969798999b9d9fa4abacaba8a19e96918a80786d675d544a3f342a200f06000000000a1723303d4a5663707d89969f9f9f93867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b87949f9f9f95887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada1979291969992888079726d686664636262626365666c7179818e939ea9ada2978c7f7265574d42362a1e12050004101c28333e485055575959595c6976838f9ca9a79a8d8074675a5959595959595959595956544f473d33271c10040000000915222f3c4855626f7b8895a2aea99d928d8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8175685b4f4235281c0f000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000407090a1313131313131212100c080200000000000000000000000000010407071213131313131313110706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeafada7a5a2a2a2a2a2a2a2a2a2a3a3a4a6a8aaa9a7a9a19e9b96918b847d746d665d554b42382d22180e00000000000a1723303d4a5663707d8996a3aca093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aca295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9e92858491989a938d847f7a767371706f6f6f707174787d838e939ea5afa69f92857a6d6054473b31251a0e02000814202d3944505a6164666666666976838f9ca9a79a8d80746766666666666666666666666360594f44382c2013070000000915222f3c4855626f7b8895a2aeaea49d9a98989898989898989898989898989898989898989898989898988e8275685b4f4235281c0f000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000050b101316172020202020201f1e1c18130d060000000000000000000001080d1113141e202020202020201e1413110d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a3a3a3a3a3a3a3a3a3a3a3a3a3a2a2a2aca49f9e9c9a9897928e8a847f79706b605c544b43392f261c0f0600000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3a89b8f827b8692999f96918b8683807e7c7c7b7c7d7e81848a90959ea5afa79f948c7f72685d524539291f140900000a1623303c4955616c70737373737376828f9ca9a79a8d8074737373737373737373737373706b6054483c2f2216090000000915222f3c4855626f7b8895a2aeafaea9a7a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49b8e8275685b4f4235281c0f000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000080f161c2022232d2d2d2d2d2d2c2b28241f1810070000000000000000040c13191d20212b2d2d2d2d2d2d2d2b21201d18130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b88959696969696969696969696969696969595959a9391908e8b8885817d78726d666159504a423931271d140a0000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8aa9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3a6998c80737e879299a19e99928f8d8b898888898a8b8e91969da0a7ada69f958f82786c60564c413529170d0300000a1724313d4a5764707d80808080808084919eaaa99d9083808080808080808080808080807d7063564a3d3023170a0000000915222f3c4855626f7b8895a2a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39b8e8275685b4f4235281c0f000915222f3c4855626f7b8895a2a3a3968a7d7063574a3d3024170a00000008111921272c2f30393939393939393835302922191006000000000000040d161e24292c2d3839393939393939372d2c29241d160d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c888989898989898989898989898989898989888887868583817e7c7974706c66605c544f443f3830271f150b020000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba3a39d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3aa978a7d71717e8791969fa39f9c99979695959596989b9ea1a8aca9a29f948f837a6d665b50443a2f2419050000000f1b2835424e5b6875818c8c8c8c8c8c9196a0acab9f95908c8c8c8c8c8c8c8c8c8c8c8c8c8073665a4d4033271a0d0000000915222f3c4855626f7b889596969696969696969696969696969696969696969696969696969696969696968e8275685b4f4235281c0f000915222f3c4855626f7b8895969696968a7d7063574a3d3024170a0000050f19232b33383c3d4646464646464544413b342b22180d0200000000010c1620282f35393a4546464646464646443a39352f281f160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d797d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b7a79787674726f6d6663605b54514b423e342e261e150d03000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e969696969084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a2a298887b6e6c717c848d92989ea1a8a4a3a2a2a2a3a4a7a9a7a8a09d97928b827a6d685d544a3f32281e13080000000f1b2835424e5b6875818e99999999999ea0a8b2b1a79f9d9999999999999999999999998d8073665a4d4033271a0d0000000915222f3c4855626f7c88898989898989898989898989898989898989898989898989898989898989898989898175685b4f4235281c0f000915222f3c4855626f7c888989898989897d7063574a3d3024170a00000b16212b353d44484a53535353535352514c463d34291f13080000000008131e28323a4145475153535353535353514745413a31281d13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d676d707070707070707070707070707070706f6f6f6e6d6d6669676562605c5453504a4540393028231c150c0300000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b68758189898989898983776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d899595959285796c606a6f7980868c9196999b9d9f9fa4a39f9e9d9a9896918c857f786d685d564c42382d20160c010000000f1b2835424e5b6875818c92979da0a7aaacb2bab7afaaa8a2a2a2a2a2a2a2a2a2a2a2998d8073665a4d4033271a0d0000000714202d3a4753606d797d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6e6255483b2f221508000714202d3a4753606d797d7c7c7c7c7c7d7a6d6154473a2e2114070004101c27333d474f54566060606060605f5d574f463b3024180c000000071019242f3a444c52545e606060606060605e54514b433a2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b555d60636363636363636363636363636363636362626261605c545b585553504a46443f38342e271e17110a030000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7c7c7c7c7c7c7c7c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d88888888888376665b60676d737b7f84888c8e90929399999291908e8b88847f7a726c665d564c443a2f261c0d04000000000814212e3b4754616e7a80858b90959c9fa4acb6afa59e9b9595959595959595959595958d8073665a4d4033271a0d0000000613202c3945515d676d70707070707070707070707070707070707070707070707070707070707070707070706e6a5f53473a2e211408000613202c3945515d676d707070707070706d685e5246392d201307000713202c38444f5960636c6c6c6c6c6c6c6961574c4135281c100300040d19222935414c565d606b6c6c6c6c6c6c6c6a605d554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f39434b515356565656565656565656565656565656565655555453504a4e4b4946443f3938332d28231d150c0600000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a6e7070707070706f6a6054473b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d797c7b7b7b7b7b6e6154555d60686e73787c7f828485868686868483817f7b77726d68605b544c443a32281d140a00000000000714202d3946525e686e73797e83898f939aa4afaa9e938e888888888888888888888888888073665a4d4033271a0d00000004101d2935404b555d606363636363636363636363636363636363636363636363636363636363636363636363625f584e43372b1f12060004101d2935404b555d6063636363636363615e564c4135291d1105000916222f3c4854606b707979797979797873695d5144382b1e1205010c161f2b343c45525d686d7879797979797979776d675d5145392c20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28313940454749494949494949494949494949494949494949484746443f413f3c3a38342e2b28221c18120b030000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e585f626363636363636260584e43372b1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d676d6f6f6f6f6f6e695e534b51565e61656c6f72757778797a7979787674726e6a66605d56504a423a322820160b02000000000005111e2a36414d565e61676d71777d8288939faca89b8e817c7b7b7b7b7b7b7b7b7b7b7b7b7a6e6154473b2e211408000000010d18242f39434b5153565656565656565656565656565656565656565656565656565656565656565656565655534e463c31261a0f0200010d18242f39434b51535656565656565654524c443a3025190d01000a1723303d4a5663707d86868686868685786c5f5245392c1f120008131e28313c46515b606d7a8486868686868686847a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3c3b3a3a38342e322f2d2b28231f1c17110c0700000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000000020f1a26313c464e535556565656565656544e463d32271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b555d606262626262615e574d42454d52535b606266686a656c6d6d666b6a6765625f5854524c443f382f2820160e04000000000000020e1925303b444d52555c60656b7075818e9aaaa79a8d80746f6f6f6f6f6f6f6f6f6f6f6f6e685e5246392d2014070000000007121d28313940454749494949494949494949494949494949494949494949494949494949494949494949494847433c342a20150a00000007121d283139404547494949494949494746413a32281e130800000a1723303d4a5663707d89939393939285786c5f5245392c1f12071019242f3a434e58626d75818f969393939392867c6f675d5145392c20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d24292c2d30303030303030303030303030303030302f2f2f2e2d2b28232522201f1c17120f0b06000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000000000a15202a343c4347484949494949494947433d342b20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f39434b5153555555555554534d453b3b414649505355595b535b6060605c545d5b5855534e4745413a332d261d160e04000000000000000008141f29323b41464b5153596063707d8a98a2a79a8d8074676262626262626262626262615e564c41362a1e110500000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a22180e03000000010c161f282f35393a3d3d3d3d3d3d3d3a3935302820160c0200000a1723303d4a5663707d89969f9f9f9285786c5f5245392c1f120d18222935414c56606a727f8b939ea8a79e938b7e716a5f554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c12181d2020232323232323232323232323232323232323222221201f1c1718161312100b06030000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000030e18222a31373a3b3d3d3d3d3d3d3c3b37322b22190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28313940454748484848484846423b333036383f4446494c4f4950535353504a504e4c4847433c39352f28221c140b04000000000000000000020d1720293036394045474f53606d7986929fa79a8d8074675a5555555555555555555554524c443b3025190d010000000000040d161d24292c2d30303030303030303030303030303030303030303030303030303030303030303030302f2e2b2620180f060000000000040d161d24292c2d303030303030302e2d29251e160e040000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f0c161f2a343c45525d686f7c87929fa5aaa0958e81746c62584e433a2f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d1013141616161616161616161616161616161616161615141312100b06090706030000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000000000060f1820262b2e2f3030303030302f2e2b272019100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f35393a3c3c3c3c3c3b3a363129252a2d3337393c3f423f44464746443f43413f3b3a37312c29241e17110a020000000000000000000000050e171f252a2f34383d45515d6775828f9ca79a8d8074675a4d4848484848484848484746413b32291e140800000000000000040c12181d2020232323232323232323232323232323232323232323232323232323232323232323232322211f1a150e0600000000000000040c12181d20202323232323232321201d19130c04000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f131d28313c46515b606d7a849199a3aea2989183796d605a50463c31281d1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09090908070706030000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f212223232323232323221f1b150f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d24292c2d2f2f2f2f2f2e2d2a251f191b22272b2d2f332d3337393a3a38342e34322f2e2b26201d19130b060000000000000000000000000000050d14191d23292c35404b5565727e8b98a79a8d8074675a4d413c3c3c3c3c3c3c3c3b3936302920170d02000000000000000001070d10131416161616161616161616161616161616161616161616161616161616161616161616161514120f0a0300000000000000000001070d101314161616161616161413110d080200000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f18242f3a434e58626d75818e96a0aba59f92867c6f675d51483f342a1f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000030a0f1214151616161616161615130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c12181d2020222222222221211e1a140e11171b1f20222622272b2d2d2d2b2823282522211f1a15110d08010000000000000000000000000000000002080e12181c242f3b4754616e7b8795a09a8d8074675a4d41342f2f2f2f2f2f2f2e2d2a251e170e050000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0808060200000000000000000000000000010406070a0a0a0a0a0a0a07070501000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c18222935414b555f6a727f8b939ea8a79d938b7e716a5f554b40362d22180d0400000000000000000003060809131313131313130a0907040000000000000000000000000000000000000000000000000001060b0e11111313131313130e0d0b08030000000000000000000000000407090a131313131313131306040000000000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000020608080a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d10131415151515151514120e0903060b0f12131619171b1f2020201f1c171b191514120f090401000000000000000000000000000000000000000001070c14202d3a46525e697783909d9a8d8074675a4d41342722222222222221201e19140d050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f2a343c45515d676f7c86929fa5aaa0958e81746c61584e43392f241b10060000000000000000030a0f12151520202020202020171614100b0500000000000000000000000000000000000000000000040c12171b1d1e2020202020201b1a18140f08010000000000000000050b10131617202020202020202013100c07010000000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070909090909080705020000000003050609060b0f1213141312100b060c080806020000000000000000000000000000000000000000000000000005111e2a36424d576673808c999a8d8074675a4d4134271a15151515151414110d080200000000000000000000000000000000000000000000000000000000030607090b0d0f101111111111100f0d0b090706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c28313c46515b606d79849198a3aea2989083796d605a50463c31281d12090000000000000000060e151b1f21222d2d2d2d2d2d2d2423201c1610080000000000000000000000000000000000000000060e161d23272a2b2d2d2d2d2d2d282724201a130b02000000000000080f161c2022232d2d2d2d2d2d2d2d1f1c18120b0300000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506070706030000000000000000000000000000000000000000000000000000000000000000020e1a25303c4955626f7c8897978d8074675a4d4134271a0e090909090807050100000000000000000000000000000000000000000000000000000104060c10121315181a1b1d1d1e1e1e1d1d1b1a18151312100c06040100000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f524539242f3a434e58626d75818e96a0aaa49f92867b6e675d51483e342a1f160c000000000000000006101820262b2e2f39393939393939302f2c28211a1108000000000000000000000000000000000000040e1820282e3337383939393939393433302b251d140b010000000008111921272c2f3039393939393939392c29231d150d03000000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000913202d394653606c78858a8a8a8074675a4d4134271a0e010000000000000000000000000000000000000000000000000000000000000001080d1113171c1f20222527282a2a2b2b2b2a2928272522201f1c1713110d08020000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392935404b555f6a727e8b939ea8a79d928a7e71695f554b40362d22180d0400000000000000030e18222a31373a3c464646464646463d3c38332c231a100500000000000000000000000000000000010c16202a32393f434446464646464641403c362f261d1308000000050f19232b33383c3d464646464646464638342f271f150b010000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607121313131313130b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b656f7d7d7d7d7c6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000003090e13191d2023282c2d2f323435363737383737363533312f2d2c2823201d19130f0a04000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f524539343c45515d676f7c86929fa5aaa0958d81746c61574d43392f241b100600000000000000000a15202a343c434748535353535353534a48443e352c21160b0000000000000000000000000000000006121d28323c444b4f515353535353534e4c4841382f251a0f0300000b16212b353d44484a535353535353535345403931271d12070000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1012131f202020202020181715110c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606b6f7171716f6a5f53473b2e2115080000000000000000000000000000000000000000000000000000000001080d151a1e24292c2e34383a3c3e40424344444444444342403e3c3a38342e2c29241e1b150e090300000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245313c46505a606d79849198a3aea2989083796d605a50453c31271d12090000000000000000030f1b26313c464e53556060606060606057554f473e33281c10040000000000000000000000000000000b17232e39444e565c5e6060606060605b59534a41362b2014080004101c27333d474f5456606060606060605f514b43392f23180c0000000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f202c2d2d2d2d2d2d2424211d171009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414f596063646464625f584e43372b1f1206000000000000000000000000000000000000000000000000000000040c13191f262b2f35393a3f4446484b4d4e505051515150504e4d4b4846443f3a3935302b26201a140d05000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f524539434e58626c75818e96a0aaa49f92857b6e675c51483e332a1f150b00000000000000000006121f2b37434e585f626c6c6c6c6c6c6c6361594f44382c2014070000000000000000000000000000020e1b27333f4b5660676b6c6c6c6c6c6c67645d53483c3024180b000713202c38444f5960636c6c6c6c6c6c6c6c5c554b4034291c100400000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c23282c2d3839393939393931302d28221a120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3d474f545657575755534e463c32261b0f030000000000000000000000000000000000000000000000000000070d161e242931373a4145474a505355585a5b5d5d5e5e5e5d5c5b5a585553504a4745413a37312a251f170f070000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245404b555f6a717e8b939ea8a79d928a7e71695f554b40362c21180d030000000000000000000815212e3a47535f6a7679797979797979706b6155483c2f231609000000000000000000000000000004111d2a37434f5c677277797979797979746f64594c4033271a0d000916222f3c4854606b707979797979797976675c5145382c1f130600000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272e34383a454646464646463e3d39342c241a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2b343d4348494a4a4a4847433c342a20150a000000000000000000000000000000000000000000000000000109111920282f353c42474c5154545c6062656768696a6a6b6a6a6968666462605c5454524c47433c3630292118120b03000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f524045515d676f7c86929fa5a99f958d80746c61574d43392e241a0f06000000000000000000000915222f3c4855626f7b868686868686867d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b77848686868686868174675b4e4134281b0e000a1723303d4a5663707d86868686868686796d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c273039404446525353535353534b49453e362c22170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b19222b32383b3c3e3e3e3c3b37322a22180e04000000000000000000000000000000000000000000000000010a131b232b323a41454d53555d6065666d6f717375767777777777767573716f6d6665605d56534e46423b3328231c150c030000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5b514b505a606d79839198a2ada2979083786d605a50453c30271d120800000000000000000000000915222f3c4855626f7b8893939393938a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b778491939393938e8174675b4e4134281b0e000a1723303d4a5663707d899393939393867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424a51535f606060606060575550483e34281d110200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101921272c2f303131312f2e2b2620181006000000000000000000000000000000000000000000000000010a131c252d353d444c52575f61676d7175797c7e80818383848484838381807e7c7975716d68625f58524d453f342e271e150d0300000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786d605c5458626c74818e95a0aaa49f92857b6e665c51483e332a1e150b0000000000000000000000000915222f3c4855626f7b88959f9f9f968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919e9f9f9a8e8174675b4e4134281b0e000a1723303d4a5663707d89969f9f9f93867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a545c606b6c6c6c6c6c6c64615a5045392d1f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f222324242422211f1b150e060000000000000000000000000000000000000000000000000009131c252e373f474f565d60696e747a7e8285888b8d8e9090919191908f8e8d8b8885827e7a756f6a615e575044403930271f150c03000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ada2978c80746d665d5f6a717e8b939ea8a79d928a7d70695e544b40362c21180c030000000000000000000000000915222f3c4855626f7b8895a2aca3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3aca093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c666d78797979797979716c6155493b30251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315161717171515120f0a040000000000000000000000000000000000000000000000000007111b252e374049515960686d747b81858b8f9298989a9b9c9d9d9e9d9d9c9b999798928f8b86817c756e69625a514a423931271e150b000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b3a99c928c81786d68676e7c86929fa5a99f958d80736c61574d42392e241a0f06000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79858686868686867e7164574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030709090b0b0b090806030000000000000000000000000000000000000000000000000000040e19232d374049525b626b707a80868e92989b9fa2aaa6a8a9a9a9a8a8a9a9a8a6aaa29f9c98928e87817b716c605c544b433930271d12070000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0ada49c938e827a6e6d79839198a2aca1979083786d605a50453b30271d120800000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000815212e3b4854616e7b8794a1aea295887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c6674808d939393938f8276695e52463a2d20160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202b353f49525b636d727d848d92999fa2aaaca9aba39f9e9d9c9b9b9c9d9ea1a9a7abaaa39f9a938e857e746d665d554b42392e23180e0400000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b2aca59e948f837b74818e95a0aaa49a92857b6e665c51473e33291e150b0000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000005080815212e3b4854616e7b8794a1aea295887c6f6255493c2f22160d0d0d090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a54626f7c8895a09f9f93877b6e6154483d32271b0f01000000000000000000000000000000000000000000000000000000000003060809131313131313130a09070400000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d47515b636e737f8791969fa3abaca49f9c98999291908f8f8f8f909197969a9ea1a8aca49f98928b81786d675d544b40342820160c02000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b2a8a09e9f9f959185808d939da7a69f93887d70695e544a40352c21170c030000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000060c11151718212e3b4854616e7b8794a1aea295887c6f6255493c2f221a1a1a1a1615130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3947545f6a7783909daba4998c7f7266584e43382b1d1207000000000000000000000000000000000000000000000000000000030a0f12151520202020202020171614100b05000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a444f59626d73808b9399a1a8aaa39f9a938f8c8986848382828282838587898d91969da0a7aaa29f938e82796d665c51453e32281e1308000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3aca096919299a097928d929ca5a99f948d80736b61574d42392e231a0f05000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000910171d212424262e3b4854616e7b8794a1aea295887c6f6255493c2f262626262623221f1b160f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c2b37434e5865727f8c99a3ab9d9184776a605447392f23180c0000000000000000000000000000000000000000000000000000060e151b1f21222d2d2d2d2d2d2d2423201c161008000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56606b727f8b929fa4aba69f98928d87837f7c7a78767675757677787a7d80848a90959fa2aaa59d948f82786d605a50443a3024190d020000000000000000000000000000000000000000000a1723303d4a5663707d8996a3aa9e918486929fa19e999ca4aba1979082786d60594f453b30271c110800000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000009121b22282d303133333b4854616e7b8794a1aea295887c6f6255493c3333333333332f2e2b272019100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b26323c4754616e7a86929faca096897c6f62554b4034291c100400000000000000000000000000000000000000000000000006101820262b2e2f39393939393939302f2c28211a1108000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d68707d87939fa4afa49d948f86807b76726f6d676a696868696a686d7074787d838b9298a1a9a69e948d80746c61564c4135291e14080000000000000000000000000000000000000000000a1723303d4a5663707d8996a3a89b8e817f8b939ea7a6a8afa49992857b6e665c50473e33291e150b0000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000006101b242c34393d3e4040404854616e7b8794a1aea295887c6f625549404040404040403c3b38322b22190f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ca9a89a8d8174675c5145382c1f14080000000000000000000000000000000000000000000000030e18222a31373a3c464646464646463d3c38332c231a1005000000000000000000000000000000000000000000000000000000000000000006121f2b37434e58616d7a849199a4afa49d928d827b746e696562605c555c5c5c5c565e6163666c70787f869196a1a9a69d928a7e71685d52453b3025190e0000000000000000000000000000000000000000000a1723303d4a5663707d8996a3a89c8f8275818e95a0a9b3ac9f93877d70695e544a3f352c21170c030000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000c17222c363e45494b4d4d4d4d54616e7b8794a1aea295887c6f62554d4d4d4d4d4d4d4d4947433d342b20160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c5664717d8a97a2ab9f9285796d6053473b3025190e02000000000000000000000000000000000000000000000a15202a343c434748535353535353534a48443e352c21160b00000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a74818d96a1aba69d928d80786e69615e575653514b4f4f4f4f4c5254545b60656c727c849197a1aba49e92857a6d60564c41362a1b110600000000000000000000000000000000000000000a1723303d4a5663707d8996a3a99c90837679839097a1aaa79b8e81746b60584e463c332a21170e050000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070005111d28343e485055575959595959616e7b8794a1aea295887c6f6259595959595959595956544e463d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303b4653606d7985929eaba2978a7e7164564d41362a1e1105000000000000000000000000000000000000000000030f1b26313c464e53556060606060606057554f473e33281c100400000000000000000000000000000000000000000000000000000000000005111d2935414c56626e7b87929fa8aa9e948d80746c665f57534d49474540434242434146474a50535b606a6f7b859299a4ada1978d8074685e5246382d22170b00000000000000000000000000000000000000000a1723303d4a5663707d8996a3aa9d9084776e7b859298a3ac9f92867d706a60584e453c332920170e0500000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000815212d3945505a61646666666666666e7b8794a1aea295887c6f666666666666666666666260584e43382b1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2c3845515c6774818d9aa7a99c8f8275685e5246392d20150a00000000000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6c6c6361594f44382c2014070000000000000000000000000000000000000000000000000000000000000713202d3946525e6874818e99a3aea2988f82776c605b544d46423c3a38342f35353036393a3f444950585f696f7d87939fa9a99f92867a6e6153493f33271b0f03000000000000000000000000000000000000000a1723303d4a5663707d8996a3aa9e918477696f7d86929aa4a39892867c6f6a5f574e453b322920170d04000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000a1724303d4955616c71737373737373737b8794a1aea295887c73737373737373737373736f6a6054473b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55626f7c8995a0ac9f92867b6e6154473c32271b0f0000000000000000000000000000000000000000000815212e3a47535f6a7679797979797979706b6155483c2f2316090000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fabaa9f92857a6e655b504a423b36312d2c29232929252a2d2d33383f444e57606b73808d97a2ada3998c8073655b5044372b1f1205000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9e9185786b6b717e88939fa4a29892857c6f6a5f574d443b322920160d040000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000b1824313e4b5764717e80808080808080808d9aa6b3a79a8d8080808080808080808080807c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e394754606a7784919daba3998c7f7265584e43372b1d120700000000000000000000000000000000000000000915222f3c4855626f7c868686868686867d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000004101c2834404b5465727e8b98a3aea2988c7f73685e53493f382f2a25201f1c181c1c191d2022282d333c454f59606d7a85929fabab9e9184786c605346392d201306000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9e9285786b616c727f8c929ca4a29792857c6e695f564d443a32281f160d0300000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700101c2936434f5c6976828c8c8c8c8c8c8c8d929da9b5a99d928d8c8c8c8c8c8c8c8c8c8c8b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37434e5866727f8c99a3ab9d9084776a605447392e23180c00000000000000000000000000000000000000000915222f3c4855626f7b8893939393938a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000006131f2c3845515c6676828f9caaac9f92867a6d60564c41382d261d1a1413100c07080d1113171b2227333d45525d6873808d9aa8ada196897c6f6256493c2f231607000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5a636d73808d929da5a19791847b6e695e564c443a31281f150c03000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700101c2936434f5c6976828f9999999999999a9da4aeb9aea49d9a999999999999999999988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b27323d4754616e7b86929faca095887c6f62544b4034281c1004000000000000000000000000000000000000000915222f3c4855626f7b88959f9f9f968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929faca89b8e8175685d52443b2f261c140b0906040000000105060b1117212935414c56626e7b8896a0aca8998c7f7366594c402f24180d010000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5b636e74808d939ea5a19691847b6e685e564c433931271e150b020000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d8996a2a2a093867a6d6053473a2d201407000f1b2835424e5b687581888c9093999b9fa2aaacb4bdb4aca6a4a2a2a2a2a2a2a2a2a2988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202d3a46525e6976828f9ca9a79a8d8074665c5145382c1f1308000000000000000000000000000000000000000915222f3c4855626f7b8895a2aca3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8898a3aea9978a7e7164564c4132291d140a0200000000000000000000060f19242f3a47535f6a7784919eaaa89c8f827569554b4135291d11040000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f525c606c77818e939ea6a09691837a6d685d554b433930271d140b0200000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d899595959593867a6d6053473a2d201407000e1b2734404d59656f757b7f83868b8f92989aa2acb7aca29a97959595959595959595958b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36424d5664717e8a97a2ab9e9285796d6053463a3025190d010000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98aaada297877b6e6154483b3021170b0200000000000000000000000008131e2b37424e576874818e9ba7ab9e928578675d5145392c2013060000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f52505b656d78818f949fa6a09590837a6d675d554b42392f261d140a00000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a030303030303030303030303030305111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1723303d4a5663707d88888888888886796d6053473a2d201407000c1825313d48535d656a6f72767a7e82868b909aa6b2a69a908a88888888888888888888887f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b4753606d7985929faba1978a7d7064564c41362a1e11050000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6ab9e928578695e53463a2d21140500000000000000000000000000010e1a26313f4c5865727f8b98a5ada197877a6d6054473a2d2114070000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5249535c666d79828f949fa7a0959082796d675c544a42382f261b1106000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241710101010101010101010101010101010111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000714202d3a4753606d797c7b7b7b7b7b7c786c605346392d201306000814202c37414b53585f6266686e7175797e8b97a4b0a4978a7e7b7b7b7b7b7b7b7b7b7b7b7a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2c3845515c6774818e9aa8a99b8f8275685e5246392d20150a0000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875818e9ba8aa9d9083776a574d42362a1e12050000000000000000000000000000091724303d4a5763707d8a96a3b3a995887c6f6255483c2f2215090000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f52414a545c676d79829095a0a79f958f82796d665c544a41382d2217130a0100000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000613202c3945515d676d6f6f6f6f6f6f6f6c655b5044372b1f120500040f1a252f3941464e5355565e6165676e7b8794a1aea295887c6f6f6f6f6f6f6f6f6f6f6f6d685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55636f7c8996a0ac9f92867a6d6154473c32261b0f0000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000101d293643505c6976838f9ca9a89c8f8275695c4f4231251a0e0200000000000000000000000000000916222f3c4955626f7c8895a2afa396897d706356493d3023160a0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245424b555d676d7a839096a0a79f948f82786d665b53493f3327251c130900000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000004101d2935404b555d6062626262626262605b53493f33271b0f03000009131d272f343c4347484c525455616e7b8794a1aea295887c6f62626262626262626262615e564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f394854606b7784919eaca3998b7f7265584e43372b1c110600000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000101d2a3743505d6a7683909da9a89b8e8275685b4f4235281c090000000000000000000000000000000815222f3b4855626e7b8895a1aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f524539434b555d686d7a849196a1a69e948e81786c655b504440372e251b1209000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d363636363636363636363636363636363636363636363844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000010d18242f39434b51535555555555555553504941382d22170b000000020b151d222a31373a3c41464754616e7a8794a1ada295887c6f6255555555555555555554524c443a3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2c38434f5966737f8c9aa4ab9d9083776a5f5347382e23170c00000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7d7164574a3e3124170b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f52453039434c565e686e7b849197a1a69e938e81776c605c52493f372d241b12080000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a43434343434343434343434343434343434343434343434344515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000007121d28313940454748494d4e4d484846443f382f261b110600000000030b101820262b2e30363a4754616d7a8794a9b3a296897c6f635649484848484848484746413a32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010f1b27323d4854616e7b87939faca095887c6f62544a3f34281c1003000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f524539313a434c565e696e7b859197a2a59d938d80746e635b51493f362d241a110800000000000915222f3c4855626f7b8895a2aea3968a7d7063575050505050505050505050505050505050505050505050505050515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000005101a232e3840474f54565a5b5955534d453e362d21180e03000000000000060e151a1f21252d3a4653606d798697a2ada396897d7063564a3d3c3c3c3c3c3c3a3935302820160c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16212d3a46535e6976828f9caaa79a8d8074665c5044382c1f1308000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f52453928313a444d575f696f7c859298a2a59d928c80736d635b51483e362c231a1005000000000915222f3c4855626f7b8895a2aea3968a7d70635d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000b17212c35404a52596063676866615f5750483e332a1f150900000000000000030a0f12151f2c3845515c677885929faba4978b7e7164584b3e2e2f2f2f2f2f2e2d292522201b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2ab9e9285796d6053463a3025190d010000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c29323b454d575f6a6f7c869298a2a49c928c7f726d625a50483e352c21160b000000000915222f3c4855626f7b8895a2aea3968a7d706969696969696969696969696969696969696969696969696969696969696b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000004101c28333e47525c646b6f7374736e69625a50453c31261a0e0200000000000000000306101c2834404b556a7784909daaa6998d807366554b403428222323282b2d30302f2c27211911070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b4753606d7985929faca1978a7d7063564c4135291d11050000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c2029333b454e58606a707d869299a3a49c918b7f726c625a50473e33281c10040000000915222f3c4855626f7b8895a2aea3968a7d76767676767676767676767676767676767676767676767676767676767676767784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000814202d39444f59646e737c8081807b716c62574d42372b1e1206000000000000000000000c18232e424f5b6875828e9ba8a89b8f8275675c5145382f2f302e34383a3c3d3b38322b23190f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2c3945515d6774818e9ba8a99b8f8275685e5246392d20150a0000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c17212a333c464e58606b707d879299a4a39f93887e716c61594f44382c2014070000000915222f3c4855626f7b8895a2aeaa9d918383838383838383838383838383838383838383838383838383838383838383838386929faca79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1623303c4955616c7380898d8e8c867e71695f53473a2e21140800000000000000000000071926333f4c5966727f8c99a9ac9f9285796d60544a413c3c3c3e3f4446494948443d352b21160b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707c8996a0ac9f92867a6d6154473c31261a0f0000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f18212a343d464f59616b717e87939a95959a92877e716b6155483c2f2316090000000915222f3c4855626f7b8895a2aeaca095919090909090909090909090909090909090909090909090909090909090909090909298a3aea79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000a1724313d4a5764707d8a929a9b9992877b6e6255483b2f22150800000000000000000000091623303c4956636f7c8997a1ada2988a7d70665b514c4948494a4a50535656544f473d32271b100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f394653606c7884919eaca3998b7f7265584e43372b1c110600000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f0f18222b343d474f59616c717e87888888888888867d7063574a3d3024170a0000000915222f3c4855626f7b8895a2aeb1a7a09d9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9fa3aab4a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000f1c2835424f5b6875818e9ba4aba3998c807366594d4033261a0d000000000000000000000713202d3a4653606d7985929eabaa9d9083786c605d5556555657545c60636360594f44382c1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121f2b3744505b6573808c9aa4ab9d9083776a5f5347382e23170b00000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f121019222b353e47505a626c717b7b7b7b7b7b7b7b7b6e6155483b2e2215080000000915222f3c4855626f7b8895a2aeb9b1acaaa9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9acaeb4b4a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000111e2a3744515d6a7784909daab5ab9b8f8175685c4f4235291c0f0000000000000000000006121f2b3844505c6674808d99a3aca0958d80746d67646362636466666d6f706b6054483b31251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939fac9f95887b6f62544a3f34281c1003000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c0a07020000000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f12071019232c353e48505a62696e6f6f6f6f6f6f6f6e695f53463a2d2114070000000915222f3c4855626f7b8895a2aeb3aaa29f9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9fa4abb5a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000111e2b3844515e6b7784919eaab5a89c8f8275695c4f4236291c0f0000000000000000000003101c28343f4a54616e7b87929fa8a79c928d807a74716f6f6f717375797c7d7063574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3846535f697683909caaa79a8d8073665c5044382b1f1308000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a191916130d0700000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f120007111a232c363f4850575f6162626262626262615f574d42372b1e12050000000915222f3c4855626f7b8895a2aeaea298929292929292929292929292929292929292929292929292929292929292929292929399a4afa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000101d2a3643505d697683909ca8ada69a8e8174675b4e4134281b0e00000000000000000000000b17232e3846535f6974818d96a1a9a49c928d85817d7c7b7c7d7f8285898377695e53463a2d211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2a36424d5765717e8b98a2ab9e9184796d6053463a2f24190d010000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30272727272727272727272727272727272727272625231e19120a010000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f12060008111a242d363f454d53555555555555555555534d453c31261a0e020000000915222f3c4855626f7b8895a2aeab9f928585858585858585858585858585858585858585858585858585858585858585858587939faca79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000d1a2633404d596673808c969fa19e948a7d7164574a3e3124170b000000000000000000000006111c2a36424d57606d7a849197a1a9a49d97928d8a8988898a8c8f9295877b6e6154483b3025190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313b4753606d7a86929faca1978a7d7063564c4135291d11040000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d333333333333333333333333333333333333333333322f2a241c130a0000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f1206000008121b242d333c424648484848484848484846423c332a1f1409000000000915222f3c4855626f7b8895a2aea3968a7d78787878787878787878787878787878787878787878787878787878787878787884919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000714212e3a4754616d7a848e9297918d82796c605346392d2013060000000000000000000000000e1a26313b45525d686f7c8591979ea5a9a19e9a9796959697999c9f988c7f7265564d41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000914202c3945515d6775818e9ba8a99b8e8175685d5245392c2015090000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a404040404040404040404040404040404040404040403e3b352e251c120700000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f120600000009121b212a31373a3b3c3c3c3c3c3c3c3b3a37312a21180e03000000000915222f3c4855626f7b8895a2aea3968a7d706b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000713202d3946525d686e7a8185868580796d665b5044382b1f120600000000000000000000000009141f2935414c565f6a6f7c858f939b9fa3aba7a4a2a2a2a4a6a5a79c908376685e5246392d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b5563707d8996a1ac9f92867a6d6054473c31261a0e0000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4c4b4640372e24190d02000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f120600000000090f181f262b2d2e2f2f2f2f2f2f2f2e2d2b261f180f0600000000000915222f3c4855626f7b8895a2aea3968a7d70635f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000005111d2935414c565e686e74787978736d675c544a3f33281c0f03000000000000000000000000030d19242f3a444e58606a6f7b82898f9299999b9d9d9d9d9c9a99969590867a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a4653606c7884919eaba3988b7e7265574d42372b1c110600000000000000000000000915222f3c4855626f7b8895a2aea3968a7d70635a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5957524940352a1e1307000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f12060000000000060e141a1e21222222222222222222211e1a140e060000000000000915222f3c4855626f7b8895a2aea3968a7d7063575252525252525252525252525252525252525252525252525252525e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000010d1924303a444c565e6168666d6666605c554b42382d22170b000000000000000000000000000008131e28323c464e5860696e757c82868a8d8e909091908f8e8c898784807b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2b3844505b6673808d99a7aa9d908376695f5347382d22170b00000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7066666666666666666666666666666666666666666666666666635b52463b2f23160a000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f120600000000000003090e121415151515151515151514120e0903000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a45454545454545454545454545454545454545454545454545515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000008131e28323b444c5254545c605c5453514b43392f261c11060000000000000000000000000000010c16202a343d464e565e616b6f757a7d80828384848383817f7d7a77736e695e52463a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7b88959fab9f95887b6e62544a3f33281c0f03000000000000000000000915222f3c4855626f7b8895a2aea3968a7d73737373737373737373737373737373737373737373737373736d63574b3e3225190c000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f120600000000000000000205070809090909090909080705020000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d383838383838383838383838383838383838383838383844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000020c162029323b4146474b5153514b4645403930271d140a00000000000000000000000000000000040d18222b343d444d52596063676d70737576777777767472706d6867615e574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f697683909daaa7998d8073665b5044382b1f1307000000000000000000000915222f3c4855626f7b8895a2aea89b8e81808080808080808080808080808080808080808080808080807f7366594c403326190d000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000000040e1720293036393b40454645403a38342e271e150b020000000000000000000000000000000000071019222b323b42464f54555d606466686a6a6a6a69676663615e5654524d453b30251a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2b37424d5765717e8b98a3ab9e9184786c6053463a2f24180d010000000000000000000915222f3c4855626f7b8895a2aeaa9e938e8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d85786c5f5245392c1f12060000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000050e171e252a2d2e34383a38342e2c28231d150c0300000000000000000000000000000000000000071019202930363d44484c5154575a5b5d5d5e5d5c5b595654524c4846423b33291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c4754606d7a86929faca196897d7063554b4135291d11040000000000000000000915222f3c4855626f7b8895a2aeafa59e9b9999999999999999999999999999999999999999999999999285786c5f5245392c1f12060000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241712121212121212121212121212121212121e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000050d14191e2023282c2d2c28231f1c18120b03000000000000000000000000000000000000000000070e171f252a32383a4145474a4d4f50515150504e4c4a4746413b3a36302921170d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202c3945525d6875818e9ba9a89b8e8175675d5145392c2014090000000000000000000915222f3c4855626f7b8895a2aeb7afaaa8a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69f9285786c5f5245392c1f12060000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a050505050505050505050505050505111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000002080e1114181c1f201f1c1813100c07000000000000000000000000000000000000000000000000050d141921272c2f35393a3d40424344444443413f3d3a3935302d2a251f170f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8996a1ac9f92867a6d6054473b31261a0e0000000000000000000915222f3c4855626f7b8895a2aeb4aca6a4a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a19f9285786c5f5245392c1f12060000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000000000205070c10131313100c070400000000000000000000000000000000000000000000000000000002090e161b1e24292c2d31333537373737363433302e2d2925201e1a140d050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4653606d7984919eaba2988b7e7165574d42362a1b110600000000000000000915222f3c4855626f7b8895a2aeaca29b979494949494949494949494949494949494949494949494949285786c5f5245392c1f12060000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000000000000000004060706040000000000000000000000000000000000000000000000000000000000000000040b0f13191d20212427282a2a2b2a2928262321201d1914120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2b3844505c6673808d99a7aa9c908376695f5346382d22170b00000000000000000915222f3c4855626f7b8895a2aea69b908b8787878787878787878787878787878787878787878787878785786c5f5245392c1f12060000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d111314171a1c1d1e1e1d1d1b19171413110d08050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626e7b88959fab9f94887b6e6153493f33271b0f03000000000000000915222f3c4855626f7b8895a2aea4978b7e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b6e6154473b2e211408000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d8996a3a49f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d0f10111111100e0c0a07070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3847535f6a7683909daba6998c8073655b5044372b1f1207000000000000000915222f3c4855626f7b8895a2aea3968a7d706e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e695e52463a2d201407000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d89969797979285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5865727f8b99a3ab9e9184786c605346392f24180d010000000000000915222f3c4855626f7b8895a2aea3968a7d70636161616161616161616161616161616161616161616161615e564d42362a1e1105000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000a1723303d4a5663707d898b8b8b8b8b85786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1a26313c4754616d7a86929faca196897c7063554b4035291d10040000000000000915222f3c4855626f7b8895a2aea3968a7d7063575454545454545454545454545454545454545454545454524d443b3025190e02000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000814212e3b4754616e7a7e7e7e7e7e7e7e7164574b3e3124180b0000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202d3946525d6875828e9ba9a89b8e8174675d5145392c2014090000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a4848484848484848484848484848484848484848484746423b32291f140900000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000714202d3946525e686e717171717171716c6155493d3023170a0000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5663707d8a97a1ac9f92857a6d6053473b31251a0e0200000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3a36302920170d0200000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b00000000000000000000000000000000000005111e2a36414d565e6164646464646464615a5045392d2115080000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a4653606d7985919eaba2988b7e7164574d42362a1e120500000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2a251f170e050000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b000000000000000000000000000000000000020e1925303b444d5254585858585858575550483e34281d11050000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3844505c6673808d9aa7aa9c8f8276695e53463a2d21160a00000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302421212121212121212121212121212121212121201e19140d05000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000008141f29323b4146474b4b4b4b4b4b4b49453e362c22170c000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8895a0ac9f93877b6e6154483d32271b0f01000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241715151515151515151515151515151515151414110e090200000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b00000000000000000000000000000000000000020d1720293036393b3e3e3e3e3e3e3e3d39342c241a1006000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3847535f6a7783909daba49a8c7f7366594f43382c1d1207000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0808080808080808080808080808080808070502000000000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000000050e171f252a2d2e31313131313131302d28221a120800000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5865727f8b99a3ac9e9184776b605448392f24180c000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b000000000000000000000000000000000000000000050d14191e20212525252525252423211d1710080000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919eaaa79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b26313c4754616d7a86929faca096897c6f63554b4035291d10040000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b0000000000000000000000000000000000000000000002080e111414181818181818181715110c06000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a3a3968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b7784919ea3a39a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ba9a89a8e8174675d5145382c1f14090000000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b000000000000000000000000000000000000000000000000020507080b0b0b0b0b0b0b0a08050000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895969696968a7d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b778491969696968e8174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664707d8a97a1ab9f9285796d6053473b30251a0e0200000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7784909daaa89b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1aea4978a7e7164574b3e3124180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c888989898989897d7063574a3d3024170a000000000000000000000000000005111e2b3844515e6b77848989898989898174675b4e4134281b0e000a1723303d4a5663707d8996a3ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4653606d7985929eaba2988a7e7164574d42362a1e120500000915222f3c4855626f7b8895a2aea3968a7d7063574a3d3024170b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a09070400000000000000111e2a3744515d6a7784909da3a39b8e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794a1a3a3978a7e7164574b3e3124180b000000000000000000000000000000000000000001040607090b0c0d0e0e0e0e0e0d0d0c0b090707050100000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d797d7c7c7c7c7c7d7a6d6154473a2e2114070000000000000000000000000000000916232f3c4956626f7c7c7c7c7c7c7c7b6e6255483b2f221508000a1723303d4a5663707d8996a3ada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3844515c6674808d9aa7aa9c8f8276695e52463a2d20140700000915222f3c4855626f7b8895a2aea3968a7d7063574a3d30241818181818181818181818181818181818181818161613100b050000000000111e2a3744515d6a778490969696968e8175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b8794969696968a7e7164574b3e3124180b00000000000000000000000000000000000406070d1113141618191a1b1b1b1b1b1a191817161413110d08070604000000000000000000000000000000000000000000000000000000000000000613202c3945515d676d707070707070706d685e5246392d2013070000000000000000000000000000000815222e3b4754606a6f7070707070706e695f53473a2e211408000a1723303d4a5663707d8996a3a4a093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a54626f7c8895a0a39f93877b6e6154483b2e23180c00000915222f3c4855626f7b8895a2aea3968a7d7063574a3d302525252525252525252525252525252525252525252322201c160f0700000000111e2a3744515d6a77838989898989898175685b4e4235281b0f0200000000000000000000000000000815212e3b4854616e7b878989898989897e7164574b3e3124180b000000000000000000000000000000070c101313181d2021232426272728282827272625242221201d19161313100c07030000000000000000000000000000000000000000000000000000000004101d2935404b555d6063636363636363615e564c4135291d110500000000000000000000000000000006131f2b37434e586062636363636363625f574d42372b1e1206000a1723303d4a5663707d899697979793867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e394754606a778390969696998c7f7266544a4034281c1004000915222f3c4855626f7b8895a2aea3968a7d7063574a3d32323232323232323232323232323232323232323232302f2c27211911070000000916232f3c4956626f7c7c7c7c7c7c7c7c6e6255483b2f2215080000000000000000000000000000000714202d3a4753606d797d7c7c7c7c7c7c7a6d6154473a2e21140700000000000000000000000003090e12181c1f2024292c2d2f3132333434353434343332312f2e2d292523201f1c18120f0b060000000000000000000000000000000000000000000000000000010d18242f39434b51535656565656565654524c443a3025190d01000000000000000000000000000000030f1b27323d464e545656565656565655534d453c31261a0e02000a1723303d4a5663707d898b8b8b8b8b86796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c2b37434e5865727f8989898989898477665c5144382c1f1206000915222f3c4855626f7b8895a2aea3968a7d7063574a3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3d3b38322b23190f0500000815222e3b4754606a6f7070707070706e6a5f53473a2e21140800000000000000000000000000000006131f2c3845515c676d707070707070706d685e5246392d2013070000000000000000000001070c141a1d23282c2d2f35393a3c3e3f40414141414140403f3e3c3a393530302d2c28231f1b17110b060000000000000000000000000000000000000000000000000007121d283139404547494949494949494746413a32281e130800000000000000000000000000000000000a16202b343d4347494949494949494847423c332a20150900000814212e3b4754616e7a7e7e7e7e7e7e7e786d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b27323c4754606d797c7c7c7c7c7c7d786d6053463a2d201307000915222f3c4855626f7b8895a2aea3968a7d7063574b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4948443d352b21160b000006131f2b37434e586062636363636363625f584e43372b1f120600000000000000000000000000000004101c2934404b555c6063636363636363615e564c41362a1e1105000000000000000000030b12181f252a2e34383a3d414547494b4c4d4e4e4e4e4e4d4c4b4a49474641403d3a38342e2b27221b17110a020000000000000000000000000000000000000000000000010c161f282f35393a3d3d3d3d3d3d3d3a3935302820160c020000000000000000000000000000000000040f19222b32373b3c3d3d3d3d3d3d3b3a37312a21180e0300000714202d3946525e686e717171717171716d665c5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202c3945515d676d707070707070706d665c5144382c1f1206000915222f3c4855626f7b8895a2aea3968a7d70635858585858585858585858585858585858585858585858585856544f473d32271c100400030f1b27323d464e545656565656565655534e463c31261a0f02000000000000000000000000000000000c18232f39434b51535656565656565654524c443a3025190d010000000000000000060d151d24293036394045464a4b51545657595a5a5b5b5b5a5a5958575554524c4d494645403937332d27221b140b060000000000000000000000000000000000000000000000040d161d24292c2d303030303030302e2d29251e160e040000000000000000000000000000000000000007101920272b2e2f3030303030302f2e2b2620180f0600000005111e2a36414d565e6164646464646464605c544a3f34281c100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c555d6063636363636363605c544a4034281c1004000915222f3c4855626f7b8895a2aea3968a7d7065656565656565656565656565656565656565656565656565656360594f44382c20130700000a15202b343d4347494949494949494847433c332a201509000000000000000000000000000000000007121d273139404547494949494949494746413a32291e13080000000000000000060f181f272f353b42464b515357555d606264656667676867676766656462615e56595653514b46443f38332d261d1810090000000000000000000000000000000000000000000000040c12181d20202323232323232321201d19130c04000000000000000000000000000000000000000000070f161b1f222323232323232322211e1a150e0600000000020e1925303b444d52545858585858585853504a42382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a434c51545656565656565653514a42392e23180c00000915222f3c4855626f7b8895a2aea3968a7d717171717171717171717171717171717171717171717171717171706b6054483b2f2216090000040f19222b32373b3c3d3d3d3d3d3d3b3a37312a21180e030000000000000000000000000000000000010b151f272f34383a3d3d3d3d3d3d3d3a3936302920170d0200000000000000060f18212a313940454d52555c606467676d6f7172737474747474737372716f6d68696663605c54535049443f382f2a221b120a010000000000000000000000000000000000000000000001070d101314161616161616161413110d08020000000000000000000000000000000000000000000000040a0f1315161616161616161514120e090300000000000008141f29323b4146474b4b4b4b4b4b4b46443f3830261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313a414547494949494949494644403930271c120700000915222f3c4855626f7b8895a2aea79a8d807e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7d706356493d3023160a00000007101920272b2e2f3030303030302f2e2b2620180f0600000000000000000000000000000000000000030d151d23292c2d303030303030302e2d2a251e170e0500000000000000040e18222a333c434b51575e61676d7074777a7c7e7f808181818181807f7e7d7c7a787673706d6663605b535049413c342d241c130a000000000000000000000000000000000000000000000000010406070a0a0a0a0a0a0a07070501000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a080806020000000000000000020d1720293036393b3e3e3e3e3e3e3e3a38342e261e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f35393a3d3d3d3d3d3d3d3a38342e271e150b0000000915222f3c4855626f7b8895a2aea99d928d8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8175685b4f4235281c0f00000000070f151b1f222323232323232322211f1a150e06000000000000000000000000000000000000000000030b12181c1f202323232323232321201e19130d0500000000000000020c16202a343c454d555d60696e74797d818486898a8c8d8d8e8e8e8d8d8c8b8a88878582807c7974706c65605b534e463f362e251c120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e313131313131312d2b28231c140c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e24292c2d303030303030302d2c28231c150c030000000915222f3c4855626f7b8895a2aeaea49d9a98989898989898989898989898989898989898989898989898988e8275685b4f4235281c0f0000000000040a0f1315161616161616161514120f0903000000000000000000000000000000000000000000000001070c101314161616161616161413110d0802000000000000000008131e28323c464e575f676d737b80858a8e91939a9798999a9a9b9a9a9a9998979597918f8c8985817d78716c655f58504840372e241b100600000000000000000000000000000000000000000000000000000000000000000000000000000000000001060b0e111113131313131308070502000000000000000000000000000000000000000000000000000000000000050d14191e202125252525252525201f1c17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d202123232323232323201f1c18120b03000000000915222f3c4855626f7b8895a2aeafaea9a7a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49b8e8275685b4f4235281c0f00000000000000030608090a0a0a0a0a0a08080602000000000000000000000000000000000000000000000000000000000406070a0a0a0a0a0a0a07070501000000000000000000010d1924303a444e585f696e7980868d92979a9d9fa4aca2a1a49f9f9f9fa4a1a2a3a9a19e9c9998928e89837e786f6a625a514940372d22180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000040c12171b1d1e2020202020201514120e0903000000000000000000000000000000000000000000000000000000000002080e111414181818181818181312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d111314161616161616161312100c070000000000000915222f3c4855626f7b8895a2a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c565f6a6e7b838d92999fa2a9a19e9a989694999392929399949597999b9ea1a8a29f9b95908a837c716c635b51493f342a20150a000000000000000000000000000000000000000000000000000000000000000000000000000000060e161d23272a2b2d2d2d2d2d2d21211e1a140d05000000000000000000000000000000000000000000000000000000000000020507080b0b0b0b0b0b0b07060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0a0a0a0a0a0a07060400000000000000000915222f3c4855626f7b889596969696969696969696969696969696969696969696969696969696969696968e8275685b4f4235281c0f00000000000003080b0d0e13131313131313131313131313131313131313131313131313131313131313131313131313131313130e0e0c08030000000000000000000000000000000713202d3946525d686e7c8590959fa3a69f9c97918e8b898786868586868687888a8c8e9196999ea1a7a09d9590867e736d635b51463c32261b0f0500000000000000000000000000000000000000000000000000000000000000000000000000040e1820282e3337383939393939392e2d2a251f170f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c88898989898989898989898989898989898989898989898989898989898989898989898175685b4f4235281c0f0000000001080f14181a1b20202020202020202020202020202020202020202020202020202020202020202020202020202020201b1a18140f090100000000000000000000000006121f2b37434e58616d7a849197a0a7a39f948f8984817e7c7a7a797979797a7a7c7d7f8184888c91969ea1a79f98928b7f736d62584e43372b21160b000000000000000000000000000000000000000000000000000000000000000000000000010c16202a32393f43444646464646463b3a36312921170d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090d0f0f1313131313130c0b0906010000000000000000000000000000000714202d3a4753606d797d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6e6255483b2f221508000000020b131a202427282d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b0300000000000000000000000815212e3a47535f6a74818e96a1a9a398928b827d7874716f6e6d676c6c676d6e6f707275787b7f848b92979fa6a39f918b7f726a5f53473d33271c1000000000000000000000000000000000000000000000000000000000000000000000000006121d28323c444b4f515353535353534846423b33291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002091015191b1c202020202020191815120d0600000000000000000000000000000613202c3945515d676d70707070707070707070707070707070707070707070707070707070707070707070706e6a5f53473a2e2114080000010b141d252b30333439393939393939393939393939393939393939393939393939393939393939393939393939393939393534302b251d150b01000000000000000000000915222f3c4855626f7c87939fa8a59f92867e76706c65656361605d55555d606162646668696e73787e858f949ea6a49f92877c6f62594f44382c1d120700000000000000000000000000000000000000000000000000000000000000000000000b17232e39444e565c5e6060606060605f534d453b31251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c141b212528292d2d2d2d2d2d2524221e1811090100000000000000000000000004101d2935404b555d606363636363636363636363636363636363636363636363636363636363636363636363625f584e43372b1f1206000008131d262f363c4041464646464646464646464646464646464646464646464646464646464646464646464646464646464641403c372f271d130900000000000000000005111d2a36414c566774808d9aa4a99d938a7e716c63605b53565453514b4b515354555759575f62666d717a828f949ea8a3999083766b605448392e23180c00000000000000000000000000000000000000000000000000000000000000000000020e1b27333f4b5660676b6c6c6c6c6c6c6c5e574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c151e262c31353639393939393932312e29231b1309000000000000000000000000010d18242f39434b5153565656565656565656565656565656565656565656565656565656565656565656565655534e463c31261a0f0200030f1a252f3841484c4e53535353535353535353535353535353535353535353535353535353535353535353535353535353534e4d4841392f251a0f0300000000000000000713202d3946525e687884919eaca99a8e81746c625a535049494747454040454747494a4c4d53545c60686d78828f96a0ab9f95897d7063554b4034281c100400000000000000000000000000000000000000000000000000000000000000000004111d2a37434f5c67727779797979797976695e53463a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141e2730373d41424646464646463f3e3a342d251b110600000000000000000000000007121d28313940454749494949494949494949494949494949494949494949494949494949494949494949494847433c342a20150a00000814202b36414a53595b60606060606060606060606060606060606060606060606060606060606060606060606060606060605b59534b41372b20140800000000000000000714212e3a4754616d7a8796a1aca197887b6f62595046443f3c3b3a383535393a3b3c3d3f42474a50565e666d7984919ea9a79b8f8275675c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b77848686868686867b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101b26303942494d4f5353535353534c4a463f372d23180d010000000000000000000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a22180e0300000b1824303c48535d64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c68645d53483c3024180c00000000000000000916232f3c4956626f7c8995a8ab9e9185786a5f53473f37332d2e2d2c29292c2d2e2f313137383f444c545d67717d8a97a1ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b77849193939393877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212c37424c545a5c606060606060585651493f34291e1206000000000000000000000000040d161d24292c2d30303030303030303030303030303030303030303030303030303030303030303030302f2e2b2620180f060000000d1a2733404c59646f747979797979797979797979797979797979797979797979797979797979797979797979797979797979746f64594d4034271a0e00000000000000000a1623303d495663707c8996a3aa9d9083776a584e43352b272221201f1d1d2020212224262b2e343a424b55606d7985919eaba298897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919e9f9f94877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1925313d49545e65696c6c6c6c6c6c65625b51463a2e22150900000000000000000000000000040c12181d2020232323232323232323232323232323232323232323232323232323232323232323232322211f1a150e06000000000e1b2834414e5b67748186868686868686868686868686868686868686868686868686868686868686868686868686868686868174685b4e4135281b0e0000000000000000091623303c4956636f7c8996aaaa9d9083776a564c4135291b17141413101013141416171a1c2328303a44505c6675828e9ba8aa978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835414d5a657075797979797979726d62564a3e3124180b000000000000000000000000000001070d10131416161616161616161616161616161616161616161616161616161616161616161616161514120f0a0300000000000e1b2834414e5b6774818e9393939393939393939393939393939393939393939393939393939393939393939393939393938e8174685b4e4135281b0e00000000000000000815222e3b4855616e7b8898a2ab9e918478685d5246382d25201f1c171f1f1f1f1f1f1f181d1f2028343f4a546773808d9aa6a5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaa194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828686868686867f7265584c3f3225190c00000000000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a08080602000000000000000e1b2834414e5b6774818e9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9b8e8174685b4e4135281b0e00000000000000000713202d3a4653606d7985929fab9f93867a6d6153493f36302d2c28232b2b2b2b2b2b2b24292c2d2e30404d5a6673808d99a6a6998c807366594d4033261a0d00000000000000000004060709090909090909090909090909090909090909090909111e2b3844515e6b7784919eaaa194877b6e6154483b2e211508080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f939393938b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2834414e5b6774818e9aa7acacacb2adaba9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a79b8e8174685b4e4135281b0e000000000000000006121f2c3844505c6675828f9ba7a4998a7e71655b5046413b3a38342e383838383838382f35393a3b3d424e586774818e9aa7a6998c7f7366594c403326190d00000000000000070c10131316161616161616161616161616161616161616161616161e2b3844515e6b7784919eaaa194877b6e6154483b2e21161514120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9c9f9f988b7f7265584c3f3225190c000000000000000000000000000000020507080a0b0d0f0f10101111111111100e0d0b090706040000000000000000000000000000000000000000000000000000000e1b2834414e5b6774818e9aacb6beb2a9a19e9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9b8e8174685b4e4135281b0e000000000000000003101c28343f4a5463707d8a95a0aa9d9083786c605a524c4846443f454545454545454545404547484a4d545f6a7783909daaac988b7f7265584c3f3225190c0000000000030b12181c1f202323232323232323232323232323232323232323232323232b3844515e6b7784919eaaa194877b6e6154483b2e232322211e1a150e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c0000000000000000000000020507090e12141516181a1b1c1d1d1e1e1e1e1d1c1b1a18161413100c07060300000000000000000000000000000000000000000000000e1b2834414e5b6774818e9aa4acb6ada19791909090909090909090909090909090909090909090909090909090909090908e8174685b4e4135281b0e0000000000000000000c17232e384855616b77839098a39f958b7f726c615e565553504a5252525252525252524b51535556575f666e7c8895a0aca49a8a7d7063574a3d3024170a00000000030c151d23282c2d303030303030303030303030303030303030303030303030303844515e6b7784919eaaa194877b6e6154483b3030302f2e2b2620180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c00000000000000000104090e1214151a1e21212325262829292a2a2b2b2a2a2928272523201f1c1815130f0a040100000000000000000000000000000000000000000b1824313e4b5764717e88939aa4acab9e918583838383838383838383838383838383838383838383838383838383838383837f7266594c3f3326190c00000000000000000006111c2c38444f59626f7c869299a39f93877e746d686461605c545e5e5e5e5e5e5e5e5f555d60616366696e7882909ca7ac9f93877a6d6154473a2e211407000000000b151e272e34383a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c44515e6b7784919eaaa194877b6e6154483c3c3c3c3b3a37312a21180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c00000000000002080d11141a1e2122252a2d2e303233353636373738383737363533312f2d2c2923221f1b15110d08010000000000000000000000000000000000000a1724303d4955616c727f88939aa4aa9e91847b76767676767676767676767676767676767676767676767676767676767676726d63574b3e3225180c00000000000000000000101c28333e47535f6a717e879299a099938a817a75716e6d666b6b6b6b6b6b6b6b6b6b6c676d6e7072767b8290949faba79d908376685e5246392d20130700000007121d273039404546494949494949494949494949494949494949494949494949494949515e6b7784919eaaa194877b6e615449494949494847423c332a20150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c0000000000040c13191d20262b2d2e31363a3b3d3e404242434344444444444341403e3c3a38342f2e2b26201d19130c0700000000000000000000000000000000000815212d3945505a626d727f88939fa3a09691847b6e696969696969696969696969696969696969696969696969696969696966635b51463b2f22160a000000000000000000000b17212b37434e58616c717e8790959d9f938e86817e7b79797878787878787878787878797a7b7d7f828790949fa6aaa0958b7e7164564c41362a1d11050000000c18232e39424b5153565656565656565656565656565656565656565656565656565656565e6b7784919eaaa194877b6e6156565656565655534d453c31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c000000020a0e161e24292c31373a3b3f424648494b4d4e4f505051515151504f4e4d4b494745403c3b37322c29241e18120b0300000000000000000000000000000005111d28343e48515b626d727f8b919ba3a09691847b6e695f575d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5957514940352a1e120600000000000000000000050f1b26313c46505a616c717c838b91959998928e8a8886858585858585858585858585868688898c8f93999fa6aaa2989083786d6053463a3025190d01000004101c2834404b545c6063636363636363636363636363636363636363636363636363636363636b7784919eaaa194877b6e63636363636363625f574d42372b1e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c0000000a141c20283035393c4246484c4d53545658595b5c5c5d5d5e5e5d5d5c5b5a585653514b4947433c39352f28231d150c060000000000000000000000000000000c17222c363f48515b626d727f8b919ba3a09691847b6e695f584e50505050505050505050505050505050505050505050504c4b4640372e23180d0200000000000000000000000a15202a343e48505a616a6f787e84898c92979b97949892919191919191919191929292999496999c9fa4aba7a09892867c6f665c504438281e130800000006131f2c3845515c666d6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f7784919eaaa194877b6f6f6f6f6f6f6f6f6e695f53473a2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c000008121c262e323a4145474d535558575e616365666869696a6a6b6b6a6a6968666462605c5555544e4745413a342e271e181008000000000000000000000000000006101a242d363f49515b626d727f8b919ba3a19691847b6f6a5f584e464343434343434343434343434343434343434343433f3e3b352e251c1207000000000000000000000000040e18222d363e4850585f666d71787c8085929ea4aaa29f9e9e9e9e9e9e9e9e9e9e9f9fa3aba3a5a9aba9a29f9591867d706a5f544a3f3428160c020000000713202d3a4653606d797c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d84919eaba4978a7e7c7c7c7c7c7c7c7c7b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c00020e19242e3840444c5254575f616569696e707173757576767777777777767473716f6d6766625f5854514c454039302a221a1209000000000000000000000000000009121b242d373f49515b626d727f8b919ba3a19691857c6f6a5f584e463d3436363636363636363636363636363636363633322f2a231c130a000000000000000000000000000006101b242d363e464e545c60676d7a818e97a1adb2acaba9a8a8a8a8a8a8a8a8a8a8a7a7a6a5aaa29f9c97928c837c706b61584e42382e231705000000000815212e3b4854616e7b878989898989898989898989898989898989898989898989898989898989899196a1ada69a908a89898989898989898175685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c0007131f2a35404a52565d6065696e7275787b7c7e808182838384848484838281807e7c7976736f6a65605d55514b423c342c241b1309000000000000000000000000000009121b242d373f49515b626d727f8b919ba3a19791857c6f6a60584e463d352b2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2625221e18120a0100000000000000000000000000000009121b242c343c424f59606d79838e939ea9aca8a19e9c9b9b9b9b9b9b9b9b9b9b9b9a99999798928f8a857f786f6a61594f463c30261c1106000000000815212e3b4854616e7b879496969696969696969696969696969696969696969696969696969696969ea1a8b2aca29a97969696969696968e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c000a17232f3b47525c63686d72777b7f828587898b8c8e8f8f9090919190908f8e8d8b898683807c77726d67605c544e463e362d251b1208000000000000000000000000000009121b252d373f49515b626d727f8b919ba3a19792857c6f6a60584f473d352b231a1d1d1d1d1d1d1d1d1d1d1d1d1d191816120d0700000000000000000000000000000000000009121a232f3c4855616b76828f959ea5a29f9996918f8f8e8e8e8e8e8e8e8e8e8e8d8c8c8a8885827e79726d6660584f473e342a1e140a00000000000815212e3b4854616e7b8794a1a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2abadb2bab4aca6a4a2a2a2a2a2a29b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c000c1926323f4b58636e737a7f83888b8f92979698999b9c9c9d9d9e9e9d9d9c9b99979992908c88847f7a726d665f5850483f372d241a0f06000000000000000000000000000009121b252d373f49515b626d727f8c919ba3a19792857c6f6a60594f473d352c231a1110101010101010101010100c0c0a060200000000000000000000000000000000000000000a1723303d4a5663707d89949fa7a298928c878483828181818181818181818180807f7d7b7975716d67605c544e463e352c22180c0200000000000815212e3b4854616e7b8794a1aeafafaaa8a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5abadb3bbb5ada8a6a5a5a5a5a5a59b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c000d1a2733404d5a667380868b9095989c9ea1a9a4a6a8a7a6a5a4a4a4a4a5a6a7a6aba39f9d9996918b857f796f6a615a51493f362c21180e03000000000000000000000000000009131b252d373f49515b626d727f8c919ba3a19792867d6f6b60594f473e352c231a1108000303030303030303000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba6a49992867f7a78767575757575757575757574747372716e6c6564605c55514a423d342c231a10060000000000000815212e3b4854616e7b8794a7b1afa59e9b98989898989898989898989898989898989898989898989ea1a9b3ada39c99989898989898988e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c00121e2b3845515e6b788491989da0a7a8aaa6a9a19e9c9a99989797979798999a9c9fa2aaa9a8a09d97928c837c716c625b51483e332a1f140900000000000000000000000000000009131b252d373f49515b626d727f8c919ca3a29892867d706b60594f473e352c231a1108000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daa9f93877d726e686968686868686868686868686766666461605b5353514b444039302b221a1108000000000000000815212e3b4854616e7b8795a0aaaa9e938e8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9297a1ada89c918c8b8b8b8b8b8b8b8b8175685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c00121e2b3845515e6b7884919eaaa8a7a09d9a9697918f8e8c8b8a8a8a8a8b8c8e909298999ea1a8a9a19e9590867e726d625a50453b31261a0e0500000000000000000000000000000109131b252d373f49515b626d727f8c919ca3a29892867d706b61594f473e352c231a11080000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919ea99c8f83766b615e565c5b5b5b5b5b5b5b5b5b5b5a5959575553504947454039342e271e19100800000000000000000713202d3a4653606d79839098a3a89b8e817e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7f85929eaba6998c7f7e7e7e7e7e7e7e7e7d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c00121e2b3845515e6b7884919e9f9c9895918d8a87858381807e7e7d7d7e7e7f818385888c91969ea1a8a7a09892887f726c61574d42362a21160b0000000000000000000000000000000109131b252d373f49515b636d727f8c919ca3a29892867d706b61594f473e352c231a110700000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909da79a8e81746759524c4f4e4e4e4e4e4e4e4e4e4e4d4d4c4a4846443f3a38342f28231c150c0700000000000000000006131f2c3845515c666f7c86929fa69e91847a7272727272727272727272727272727272727272727784919eaaa194877b7272727272727272706b6054483c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c00121e2b3845515e6b78849199928f8b8784807d7a78767473727171717172737476797c80848a91969ea5aaa39a93877e71695f53463e33281c10030000000000000000000000000000000109131b252d373f49515b636d727f8c919ca3a29892867d706b61594f473e352b231910060000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba79c8f8275675d5145424242424242424242424141403f3e3b3937332d2c29231d18120b030000000000000000000004101c2834404b545f6a727f8c949fa1968e81756c6565656565656565656565656565656565656b7784919eaaa194877b6e656565656565656360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c00121e2b3845515e6b7884918d87827e7b7773706e686967666564646464656667666c6f73787e848e939ca4aca49992867b6e61594f44382c1f1409000000000000000000000000000000000109131b252d373f49515b636d727f8c919ca3a29892877d706c61594f473d352b22180f0600000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a95a09f9285796d6059514c4d4e4e4e4d4c4a4846443f3a38342f2d2b27221f1c18120c07000000000000000000000000000c18232e39424e58606c77828f97a29e938a7e71695e5458585858585858585858585858585e6b7784919eaaa194877b6e6158585858585856544f473d33271c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c00121e2b3845515e6b788485807b75726e696763615e565b5958575757575859545b6062666d7179818d929ca5aba2988f82766b6155483c31261a0e02000000000000000000000000000000000109131b252d373f49515b636d737f8c919ca4a39992877e706b61594f473d342a21170e04000000000000000000000000000000000000000000000000000000000713202d3a4653606d78839098a2978c7f736b625b595a5b5b5b5a59575553504a47454039352f271f19100c0701000000000000000000000000000007121d27303c44505b656e7b85929fa59f92857b6e665b504b4b4b4b4b4b4b4b4b4b4b4b515e6b7784919eaaa194877b6e61544b4b4b4b4b4a48443d352b21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c000a1724303d4a5763707d79736e6965615e575754524c4e4d4b4b4a4a4b4b4c4a5053545c60676d74808d939ea9aa9f948a7d7063574d42372b1e12050000000000000000000000000000000000010a131c252d373f49515b636d737f8c929ca4a39992877d706b60594f463c332920160c0300000000000000000000000000000000000000000000000000000006121f2b3844505c666f7c8692989f92877d726d64666767686767666462605c5453514b454039312b231b130a010000000000000000000000000000000b151e27333f49535e69717e8a939ea2979082786c60584e433f3f3f3f3f3f3f3f3f44515e6b7784919eaaa194877b6e6154483f3f3f3f3d3c38332b23190f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c000a16232f3c4855616b706d67615e5754534d4a47464141403f3e3e3e3e3f403f44464a50555d606e75818e97a2ada69c908376695f53463a2d211407000000000000000000000000000000000000010a131c252e373f49515b636d73808c929ca4a39992867d706b60584e453b32281e150b00000000000000000000000000000000000000000000000000000003101c28343f4a545f6a707d8691969992877e767172747474747372716e6d6664605c55514b433d352d251c130a000000000000000000000000000000030c17222d38414d57616c75818e96a19f948c7f726a5f554b40353232323232323844515e6b7784919eaaa194877b6e6154483b323232302f2c27211911080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c000714202c38444f596163605c55534d4846423d3b393630333231313131322d3338393f444b515c616d7a85929facab9f94887b6e6155483b2e22150700000000000000000000000000000000000000010a131c252e374049515b636e73808d929da5a39892867d6f6a5f574d443a30271c12070000000000000000000000000000000000000000000000000000000b17232e38424e58606b707c848e9399928b827e7f80818181807f7d7b7975716d67605d554f473f372e251c120900000000000000000000000000000006111b262f3b45505a606d7a849199a49f92877c6f675d51453e32282525252b3844515e6b7784919eaaa194877b6e6154483b2e25252322201c160f08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c0004101c28333e474f555753514b46423b3a36312e2d2a252625242424242522282b2e343a4046525e6873808c9aa4afa6988b7f7265584c3f2e23180c0000000000000000000000000000000000000000010a131c252e374049525c636e73808d939da5a29892857c6f695f564c42392e23181006000000000000000000000000000000000000000000000000000008131e28323c464f59606a6f7a818e9b9f948f8a8c8d8e8e8e8d8c8a8885827e79726d676059514940372e241b0f060000000000000000000000000000000a141d29333e45525d68707d87939fa3999183796d60594f443a3025191e2b3844515e6b7784919eaaa194877b6e6154483b2e2118171613100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c00000b17212c353e44484a4645403936312d2a2521201e191a181817171818171c1f23282f36414c56616e7b87939faca89b8f827568554b4034281c10040000000000000000000000000000000000000000010a131c252e374049525c646e74808e939ea6a29791857b6e685d544a40342822180d03000000000000000000000000000000000000000000000000030c1924303a444d575e686d777e84919ea69f9c97999a9a9b9a9a999797928e8a857f79706b625b524940362d21170d030000000000000000000000000000020b17212935414c56606b73808d95a0a0958d80746b61564c41362a21182b3844515e6b7784919eaaa194877b6e6154483b2e21150a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c000005101a232c33383c3d3a38342e2a25211e1a1414110d080c0b0b0b0b060b0f12171d25303a46535e697784909daaab9e918478675c5145382c1f1306000000000000000000000000000000000000000000010a131c252e37404a525c606c78818e949ea7a19791847a6d665c51443f342a1f150b0100000000000000000000000000000000000000000000000b151e2935414c565e696e7a828b9196a0ababa39f9d9b9a999a9b9c9fa29f9b97928c847d726d635b52483e33291f1409000000000000000000000000000000050f19242f3a434f59606d79839098a39d928a7d70685e52463f332a1e2b3844515e6b7784919eaaa194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c00000008111a21282c2f302d2c28231d1a14120e09070501000000000000000003060b131e2a36424d576874818e9ba7ac9f9386796d6053463a2d20130700000000000000000000000000000000000000000000010a131c252e384044505b666d78828f959fa8a0969082786d605a50463c31271d12070000000000000000000000000000000000000000000007121d27303946525d686e7b848f949ea0a79f9d9992908e8d8c8d8e9092989c9fa19e9691877f736d635a50453b31261a0e0300000000000000000000000000000008131e28313d45515c666f7c86929fa49e91857a6d615a50453c30262b3844515e6b7784919eaaa194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c000000000810171c202324201f1c18120e0905020000000000000000000000000000020e1a2531404c5966737f8c99a6afa499877b6e6154483b2e2115080000000000000000000000000000000000000000000000010a131c2628333f4a545c666d79839096a0a89f948e81746c62584e43392f23180c040000000000000000000000000000000000000000000c18232e3942505a616d7a8491969fa6a29f95908a8683818080808183868a8f949fa2a099928c80736c62574d42362a20150a000000000000000000000000000000010c161f2834404b545f6a727f8b949fa1978f82756c62574d42382e233844515e6b7784919eaaa194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c0000000000050b101416171313100c0700000000000000000000000000000000000000091825323f4b5865727e8b98a5b5ab95887b6e6255483b2f221508000000000000000000000000000000000000000000000000010a1417222d38424a545d676d7a849197a1a69d928b7e716a5f554b40342920150a000000000000000000000000000000000000000004101c2834404b54616c75828f96a0a8a298928b837e7a77747473747476797d828a9297a2a39f928b7e71695f53463c31261a0f02000000000000000000000000000000040d18232e39424e58606c77828f97a29e938b7e71695f544a3f34283844515e6b7784919eaaa194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c0000000000000004070a0a0706040000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b6ac95887b6e6255483b2f221508000000000000000000000000000000000000000000000000000006111c262f39424b555e686e7b859299a3a59f92867c6f675c51453c32261b0f040000000000000000000000000000000000000006131f2c3845515c66717e8a939ea8a39892867e76716d676867666768666d70767e859298a2a49f92867b6e61584e43372b1f12060000000000000000000000000000000007121d27303c44505b656e7b85929ea59f92867b6e665c50443d313844515e6b7784919eaaa194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000003080f1725323f4c5865727f8b98a5afa49a877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000a141d273039434c565f69707d87929fa6a3989183796d60584e43372b21160a000000000000000000000000000000000000000713202d3a4653606d7984919ea6a79f92867d726d64605d555a595a545c60636c717c86929fa8a2988f82756a5f53473a2e21140800000000000000000000000000000000000b151e27333f49535e69717e8a939ea2989083786d60584e433a2f44515e6b7784919eaaa194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000606060606000104060708060c101319212a36424d576774808d9aa7ac9f9386796d6053463a2d201307000000000000000000000000000000000000000000000000000000020b151e27313a444d57606b727f8c949faaa0958d80736a5f53473d32271b0f03000000000000000000000000000000000004101c2834404b5464717e8a96a1aca0958b7e716b625b53514b4d4d4d4b51535a616a717e8b96a0aa9f93877b6e6255483b3024190d0100000000000000000000000000000000030c17222d38414d56616c74818e96a09f958c80736a60554b403544515e6b7784919eaaa194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c00000000000000000000000000000000010406071212121212070d1113141516171c1f252a333b46525e697683909da9ab9e918478665c5044382b1f120600000000000000000000000000000000000000000000000000000000030c151f28323c454f59606c78829098a3a79f92877c6f62594f43382c201509000000000000000000000000000000000006131f2c3845515c6675828f9ca8aa9d9083786c6059514745404140414045465058606d7884919eaaa49a8d807367564c4135291d1105000000000000000000000000000000000006111b262f3b44505a606d79849199a49f92877c6f675d51453e44515e6b7784919eaaa194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c000000000000000000000000000001080d1113141f1f1f1f1f1f181d2021212323282c30363d454e58616e7b87939facaa9b8e817468544a3f34281c10030000000000000000000000000000000000000000000000000000000000030d16202a333d44505b666e7b86929fa9a3998f82766b6054483c31261a0e02000000000000000000000000000000000713202d3a4653606d7986929faca8978b7e71655b50463f39352f332e34383e44505c66727f8c98abac9d918477685d5246392d2013070000000000000000000000000000000000000a141d29323e45515d676f7d87939fa3999184796d605a504444515e6b7784919eaaa194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c00000000000000000000000000040c13191d20212c2c2c2c2c2c24292c2d2e302e34383a41464e575f6a73808d99a4aea2988b7e7164584b3e2e23170b00000000000000000000000000000000000000000000000000000000000000040e182128333f4a545f69737f8c97a1ab9f94897c6f63574e42372b1e1206000000000000000000000000000000000916222f3c4955626f7c8899a3aca196877b6e6153493f342c29242623282c343f4a54626f7c8899a3aca095877a6d6154473a2e211407000000000000000000000000000000000000020b17202935414b55606b73808d959fa0968e81746c61564c41515e6b7784919eaaa194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100030f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c000000000000000000000000040d161e24292c2d3939393939392f35393a3b3c3e3f44464c525860696f7c87929faba99f92857a6d6054473a2d2114060000000000000000000000000000000000000000000000000000000000000000060f17222d38424d57606d7985919eaaa69c8f82766a5f53473a2e211509000000000000000000000000000000000b1825313e4b5864717e8b97abab9e918478695e5241382d221d181a181c232e3a4653606d7986929faca895897c6f6256493c2f23160900000000000000000000000000000000000000050e18242f3a434f59606d78839098a29d938a7d70685e5246515e6b7784919eaaa194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090e07060f1c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c0000000000000000000000010c161f282f35393a4545454545454541454748494b4a5053565e616a6f7b849199a3aba1978d8073685d5245392c20130700000000000000000000000000000000000000000000000000000000000000000006111c262f3b45515d67727f8b98a2ab9f94887b6e6255483c31261a0e020000000000000000000000000000000c1925323f4c5865727f8b98a5a99d9083766a564d422f261b100d070c121f2b3844505c667885929eaba4978a7d7164574a3e3124170b000000000000000000000000000000000000000007131d28313d44515c666e7b86929fa59e92857a6e615b51515e6b7784919eaaa194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315161b1313101c2936424f5c6975828f9ca8a5988b7f7265584c3f3225190c000000000000000000000008131e28313a414547525252525252524b5154545657545c6063686d747c849196a1aba49992857a6d61564c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000a141d2935404b55606d7a85929faba6998c807366574d42372b1e12060000000000000000000000000000000d192633404c5966737f8c99a6a99c8f8276695c4f433029140a010003101c28343f4a546a7784919daaa4978b7e7164584b3e3125180b0000000000000000000000000000000000000000010c161f2834404a545f69727f8b949ea1978f82756d62584e5e6b7784919eaaa194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f151b1f222327201f1c182936424f5c6975828f9ca8a5988b7f7265584c3f3225190c00000000000000000000010d19242f3a434c52545f5f5f5f5f5f5f555d6061636466666d70747a80879196a1a8a39f93877d70685e52443a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000020b18242f3945515d6774818e9aabaa9e918477695f53473a2e2114080000000000000000000000000000000c1926333f4c5966727f8c99a5a99c8f8376695c504331261a0e000004101c2934404b556b7784919eaaa4978a7d7164574a3e3124170b000000000000000000000000000000000000000000040d18232e39424d57626d75828f97a19e948b7f726a5f545e6a7784919daaa194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f342d2c28232936424f5c6975828f9ca8a5988b7f7265584c3f3225190c0000000000000000000004111d2935414c565d606c6c6c6c6c6c6c6c676d6e6f717376797d81868d9299a1a79f99928b7f726b60564c4132281e130800000000000000000000000000000000000000000000000000000000000000000000000007121d2935414b5563707d8a99a4aca096887b6e6255483b2f2215080000000000000000000000000000000c1825323f4b5865727e8b98a5aa9d9084776a574e42372b1b11090a09131f2c3845515c677885929eabaa96897c706356493d3023160a0000000000000000000000000000000000000000000007121c27303c45515b616e7a85929ea59f92867c6e665c5e6a7784919daaa194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e19222b32373b3c413a38342e2736424f5c6975828f9ca8a5988b7f7265584c3f3225190c000000000000000000000613202c3945525d686d7878787878787879797a7b7c7e808285898e92989fa3a09d9590877e726d63594f443a3020160c01000000000000000000000000000000000000040607060400000000000000000000000000010d18242f3a4754606d7a86939faca8978b7e7164584b3e3125180b0000000000000000000000000000000a1724313d4a5764707d8a97a9ab9e9285786a5f5347382d221a1817181a202d3a4753606d7a86929faca298887b6f6255483c2f22150d08020000000000000000000000000000000000000000000b151e2a333f46525e68707d8a939da2989083786d60596a7784909daaa194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b16202b343d4347494e464540393036424f5c6975828f9ca8a5988b7f7265584c3f3225190c000000000000000000000714212d3a4754606d7a8585858585858585868787898a8d8f92989a9f9f9d9995918a837c716c635b51473d32291e0d040000000000000000000000000000000000070c10131313100c070000000000000000000000000713202c3945515d677784919daaa79a8d8074675a4d4134271a0e0100000000000000000000000000000815222f3b4855626e7b8897a2ada297887b6e6253493f332b26242424262b343f4a54636f7c8999a3ab9f9285796d6053463a2d201d19130c040000000000000000000000000000000000000000030c18212a36414c56616c74818e96a0a0958d80736b606a7783909daaa194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d28323d464e54565a53514b423b32424f5c6975828f9ca8a5988b7f7265584c3f3225190c000000000000000000000714212d3a4754606d7a87929292929292929399949697999c9f9f989992908c88847e786f6a615a51493f352b20170c00000000000000000000000000000000030b12181c1f201f1c18120b030000000000000000000004111d2935414b556975828f9ca8a99c8f8276695c4f4336291c100300000000000000000000000000000613202d394653606c7985929faba9988b7e72655b50443d373131303131373d44505c66727f8c99aba99b8f8275665c5044382e2d29241e160e040000000000000000000000000000000000000000060f1925303b44505a606d79849199a39f93877d6f686a7683909da9a194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3a444e58606267605c544c443c424f5c6975828f9ca8a5988b7f7265584c3f3225190c000000000000000000000714212d3a4754606d7a87939f9f9f9f9f9f9fa4aba2a4a6a49a938b888683807c77716c65605850483f372d231a0e05000000000000000000000000000001090c151d23282c2d2c28231d150c06000000000000000000010d18242f414e5b6874818e9ba7aa9d9083776a5d5044372a1d1104000000000000000000000000000005121f2b3744505b6575828e9ba8aa9d9184786c60584f46423f3e3d3e3f42474f58606d7984919eaba1978b7e7165544a3f403a3935302820160c02000000000000000000000000000000000000000008141e29323e45515d676f7c87929fa49991847a6d6976838f9ca9a194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424c56606a6f746d665e564e46424f5c6975828f9ca8a5988b7f7265584c3f3225190c000000000000000000000714212d3a4754606d7a8793a0a4a4a4a4a5a5a6a8aaacac9f93867f7c7977736f6a64605b534e463e362d251c110800000000000000000000000000000009131b1e272e34383a38342e271e17110a020000000000000000071b2734414e5a6774818d9aa7aa9e9184776b5e5144382b1e11050000000000000000000000000000030f1b27333f495364717d8a96a1aca0958a7e716a6059534d4b4b4a4b4c4d5359606a717e8b96a1a89e9285796d60534a4e4d4746413a32281e13080000000000000000000000000000000000000000020d17202935404b55606a73808c959fa1968e81746b75828f9ca8a194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545e686f7c81786e68605850444f5c6975828f9ca8a5988b7f7265584c3f3225190c000000000000000000000714212d3a4754606d7a879397979797979899999b9e9fa4a49a9286827f7b756f6a605d564e463d342d241c130a00000000000000000000000000000007101b252d30394045464540393027221b140b08030000000000000e1b2835414e5b6874818e9ba7ab9e9184786b5e5145382b1e12050000000000000000000000000000000b17222d3a4653606d7884919ea6a79f92867c706b615f575857575758575f626b6f7c86929fa8a0968c7f7367605c545b5a54524c443a3024190d010000000000000000000000000000000000000000050e18242f39434e58606d78839098a29f93887c6f75828f9ba8a194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666d7a848d827a6f6a615a504a5c6875828f9ba8a5988b7f7265584c3f3225190c000000000000000000000714212d3a4754606d7a878a8a8a8a8a8a8b8c8d8e91939a9c9f99928f8c86827c746d685f584e463d33291e140a0000000000000000000000000000050e19222d373f434b5153514b433c332d261d1914100b060807080b121e2a36424d576975828f9ca8aa9d9184776a5e5144372b1e110400000000000000000000000000000006121f2b3844505c66717e8b949fa8a29892857d746e6967656463646567696e747d859198a2aa9e91847a6f6e6d66696866615d564c4135291d110500000000000000000000000000000000000000000007121d28313d44505c666e7b86929fa49a90837875818e9ba8a194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f59606c78828f9490847c716c605b545b6875828e9ba8a5988b7f7265584c3f3225190c000000000000000000000713202d3a4653606d787e7e7e7e7e7e7e7e7f808284868a8f92999f9c99928e89817a6f6a60584e453b30261c1106000000000000000000000000030c17202b343f4951555c605c554e443f382f2a251f1c1715151415161b242d3a46525e697784919daaa99c908376695d5043362a1d100300000000000000000000000000000003101c28343f4a54606c77828f96a1a8a1979287817b7774727170717274777b81879197a1aaa89b8e817e7c7b79787675736d685d5246392d201307000000000000000000000000000000000000000000010c161f28343f4a545f69717e8b939ea0958b7e74818d9aa7a194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4854606b737f8c949f9691867e736c665d566875818e9ba8a5988b7f7265584c3f3225190c0000000000000000000006121f2c3844515c666d7171717171717172727375777a7d82868d9399a09f9b938e847c6f6a60574d42382e23170b0000000000000000000000000a151e29323d47515b62676d675f585049413c36302b28232221212122272c34404b55616e7b8795a0aca79b8e8174685b4e4135281b0e02000000000000000000000000000000000b17232e3844505b656d7a8491969fa6a199928e8783807e7e7d7e7f8184878e9299a1a9b3aa9e938e8a898786848381807a6d6154473a2e21140700000000000000000000000000000000000000000000040d17232e38424d57626d75828f97a19e918479808d9aa6a194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d87939fa6a198928a80786d685f6874818e9ba7a5988b7f7265584c3f3225190c0000000000000000000004101c2834404a545c606464646464646465666668686d71757a818790959fa59d9691857c6f695e544a3f34281c11060000000000000000000006111c26303b444f59626d72796e6a605b534d46413b38342e2f2e2e2e2f32383f45515c67727f8b98a8b1a7988b7e7265584b3f3225180c000000000000000000000000000000000006111c27333f49535e686e7b848f949ea1a39f9993908d8b8a8a8a8b8d90939a9fa3abb3aeafa59e9b9796999291908e887b6e6255483b2f221508000000000000000000000000000000000000000000000006111c26303c45505a616d7a85919ea1978c7f7f8c99a6a194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8590959da5a29f928d827a6e696774818e9aa7a5988b7f7265584c3f3225190c00000000000000000000000c18232e39424a51535757575757575758595a565d6064686e747c838f949fa7a19792857b6e665c5044382d22170b000000000000000000000c17232e38424c56606b727f847c726c655f57524c46443f3d3c3b3a3b3c3d4448515a606d7984919eabaca095887b6e6255483b2f2215080000000000000000000000000000000000000b17222d38414c565f696e7a828b91979d9fa49f9d9a98979697989a9d9fa4aca2a2a2a2a2a2a2a2a2aba39f9e9c95887b6e6255483b2f2215080000000000000000000000000000000000000000000000000a151e2a333f46525e68707d8a929d9e9285808d99a6a194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4855616b707b838e939fa3a49c948f847b706b73808d9aa6a5988b7f7265584c3f3225190c000000000000000000000007121c2730394044464b4b4b4b4b4b4b4b4c4d4c5254565e616a6f79828f959fa9a2979082786d60544a3f33281c0f03000000000000000003101c28343f4a545e686f7d8790867e776e69615e5653504a4a48484748494a4f545b636c73808c96a1ada99d9084776a5f53473a2e21140800000000000000000000000000000000000006111b262f3a444d575f686d777e858b9095979a9c9e9fa2a49f9f9e9d9a9795959595959595959595959595959595887b6e6255483b2f221508000000000000000000000000000000000000000000000000030c18212a36414c56616b74818d96a097928d929ca8a194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f5961696e79818b9298a0a69e9691857d7273808c99a6a5988b7f7265584c3f3225190c0000000000000000000000000b151e272e34383a3e3e3e3e3e3e3e3f3f404145474c525860676d79839098a2a99f948b7e72665b5044382b1f1206000000000000000006121f2c3844505c666e7a849198928b827b746e6863605c54575554545455575960636d727e8a929ca8ada1978b7f7265584e43372b1f1206000000000000000000000000000000000000000a141d29323b454d565e656c71797e83878b8d9091929899939291908d8b88888888888888888888888888888888887b6e6255483b2f22150800000000000000000000000000000000000000000000000000060f1925303a444f59606d79849199a29e999ca4aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c27333d474f575f676d747e8691969ea6a09792877f737f8c98a5a5988b7f7265584c3f3225190c000000000000000000000000030c151c23282c2d3131313131313132332f35393b41464e555d676e7b86929faba69e9184786c605346392d20130600000000000000000713202d3a4653606d78828f96a19f948f87807a74706d666563626161616264676b70767f87929fa4aea59e9184796d6053473c31261a0f0200000000000000000000000000000000000000020b172029333b444c535b60676d72777b7e81838485868686858483817e7c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c786d6053463a2d201307000000000000000000000000000000000000000000000000000008131e29323e45515d676f7c87929fa6a6a8aeaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212c353d454d555c606c717c848f949fa3a299928b7f7f8b98a5a5988b7f7265584c3f3225190c00000000000000000000000000030b12181c1f2024242424242424252624292c30363d434b555f6973808d99a3aca0968a7d7063574a3d2e23170b00000000000000000d192633404c5966737f8c949fa3a69f99928d86817c797572706f6e6d6e6f7073777c828c9299a3afa69d938a7e71675d5145382a201509000000000000000000000000000000000000000000050e172129323a414950555d6065696e7174767779797a7978787674716f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d665c5145382c1f13060000000000000000000000000000000000000000000000000000020c17202935404b55606a737f8c949faab4b4aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c333b434b515a626a6f7a828c9299a1a39f918c83909daaa5988b7f7265584c3f3225190c000000000000000000000003060709070c101213181818181818181819191d20252a313a434d57616e7b86929faca89a8d807467544a3f34281c1003000000000000000814212e3b4754616e7a828c9299a0a7a39f99928e8985827f7d7b7b7a7b7c7d8083898f949fa3aba69f948e81746c61554b403529180e0300000000000000000000000000000000000000000000060f1720292f383f444b5153575e616467696b666c6d6c656b6a67646262626262626262626262626262626262605c544b4034281c1004000000000000000000000000000000000000000000000000000000050e18242f39434e58606d78839098a2a7a7a7a194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21293139404550585f686d777f8792979fa39c959095a0aca5988b7f7265584c3f3225190c000000000000000000060c1012131615130f0a070b0b0b0b0b0b0b0c080d1114191f28313b46525e697683909da9aa9d908377665c5044382b1f1206000000000000000714202d3946525e686e78808790959ea1a9a39f9b97928f8c8a88878787888a8d90959c9fa6aba49f948f82796d605a5043392f241806000000000000000000000000000000000000000000000000060e171d262d33394045474d5254585a5d545b6060605b5e5d5a58555555555555555555555555555555555553514b42392e23180c000000000000000000000000000000000000000000000000000000000007121d27313c44505c666e7b86929a9a9a9a9a94877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171f272f343f464e565d656c727d8590949da4a09da0a7b1a5988b7f7265584c3f3225190c00000000000000030a11171c1f2023221f1b150d0802000000000000000104080d161f2a36424d576774808d9aa7ac9f9386796d6053463a2d2013070000000000000005111e2a36414c565e666d737c838b91979ea1a8a9a19e9b98969594949495979a9da0a7aca79f99938d82796d675c51483e31271d120700000000000000000000000000000000000000000000000000050b141b22272f35383b4246484b4e504a505353535049504e4b49484848484848484848484848484848484645403930271d12070000000000000000000000000000000000000000000000000000000000010b151f28343f4a545f69717e8b8d8d8d8d8d8d877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d151d2329343c444c535b606b707b828d929fa2aaacb1b2a5988b7f7265584c3f3225190c000000000000030c151c23282c2d2f2e2b272019130d07010000000000000000040d1a25303f4c5865727f8b98a5afa499877a6d6154473a2e21140700000000000000010d1925303b444c545c606a6f787e858c91969b9fa2aaa8a5a3a2a1a0a1a2a3a6a9aba39f9b95908780786d675d554b40362c1f150b010000000000000000000000000000000000000000000000000000020a11171d24292c30363a3b3e41433f44464746443f43413e3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a38342e271e150b00000000000000000000000000000000000000000000000000000000000000030d17232e38424d57626c737f818181818181817a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b1218222a323a4149505960696e78808a9298a0a7afafa5988b7f7265584c3f3225190c0000000000000a151e262e34383a3c3b37322a251e18120d080400000000000000091825313e4b5864717e8b97a4b5ab95887b6e6255483b2f221508000000000000000008141e29323b424a50585f666d72797f848a8e9298999c9d9fa3aba1a1a49f9e9c9a99928f89837c736d665d554b43392f241a0d030000000000000000000000000000000000000000000000000000000000060b12181d1f252a2d2e31342d3338393a3937332d34312f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2d2c28231d150c03000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a636d73747474747474746d685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000107101820282f383f444f575e666d747e8691959ea5a3a3988b7f7265584c3f3225190c000000000006111c2630383f44464947433d363029241d1913100c0708080708090d1625323f4b5865727e8b98a5aea295887b6f6255483c2f2215090000000000000000020d17202930383f444e545c60676d72787d8185898c8f9192999495949a9392908d8a86827d766f6a605c544b433931271d12080000000000000000000000000000000000000000000000000000000000000001070c10141a1e2021252722282b2d2d2d2b272227252222222222222222222222222222222222201f1c18120b03000000000000000000000000000000000000000000000000000000000000000000000a141e29333f48515b636667676767676767615e564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d262d333d454d545c606c717c838e93969696968b7f7265584c3f3225190c00000000050f17232e38424a505356544e46413a352f29251f1d181615141415151a1f2834404b5566737f8c99a6b2a894887b6e6155483b2e221508000000000000000000050e171e262e343c424a50555d60666d7075797c7f8284868787888887868583807d7a75706b626058504a423931271f150b000000000000000000000000000000000000000000000000000000000000000000000004090e121415181b171c1f2020201f1b171b1816151515151515151515151515151515151313100c07000000000000000000000000000000000000000000000000000000000000000000000000020c17212d3640495157595a5a5a5a5a5a5a54524c443a3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b141b2227333b424a515a616a6e79818989898989897f7265584c3f3225190c000000030c172128343f4a545c60626058524c45403935302c2924232221212122252a313a45515c6775828e9ba8ada196867a6d6053473a2d20140700000000000000000000050c141c232830383f444b51545c6064676d70737577797a7b7b7b7a79787674716d68636059544e443f3830271f150d0300000000000000000000000000000000000000000000000000000000000000000000000000020507080b060b0f12131413120f0b060b0909090909090909090909090909090909070604000000000000000000000000000000000000000000000000000000000000000000000000000000060f1b242e3740464b4c4e4e4e4e4e4e4e4746413a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a111720293039404450585f676d757c7c7c7c7c7c7b6e6154473b2e2114080000000a151e29333b44505c666d6f6a615e56514b46413a38352f302f2e2e2e2f30363c434c56606d7985929facab9e918478675d5145392c2013060000000000000000000000020a11171e262e343940454a5053555c60636669666d6d6e6e6e6e6d66696764605d56544f47433d342e261e150d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060706050300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121c252e353b3e40414141414141413a3935302820160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e171e272e343e464e555d606a6f70707070706e695e52463a2d201407000006111c26303b454f59606d787c746d68605d55524c4745403e3d3b3b3a3b3c3d42464e565e68727e8b98a2aeaa9b8e827568554b4035291d100400000000000000000000000000060c151c23282f35383f44464b51535659545c606161626161605c545a5754524c48443d373228231c140c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131c232a2f3233343434343434342e2d29251e160e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c151c2328333c434b515860626363636363615e574d42362a1e110500000c17232e38424d57616b738089817a736d67615e5653514b4b4948474748484a4d52585f686d7a85929eaaaea2988b7e7165584b3e2f24180d010000000000000000000000000000030a11171d24292e34383a404547494c4a5053545455555453514b4d4a4745413a38332b272017110a0200000000000000000000000000000000000000000000000000030606080b0d0e0f101111111110100f0e0b090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a12191e2325262727272727272721201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b1218212a313a40454e5456565656565654524d453b30251a0e020003101c28343f4a545e69707d88938e857f79736d6863605d555856555454545556575e616a6e7a839097a2ada99f92867a6d6054473a2d2114070000000000000000000000000000000000060c12181c23282b2f34383a3d403f44464748484847464540413e3a39352f2c27211b150b0600000000000000000000000000000000000000000000000105060b0f12131517191b1c1d1e1e1e1e1d1c1c1a18161313100c070401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d121619191b1b1b1b1b1b1b1413110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f181f282f353d43474949494949494746423b33291f1409000006121f2c3844505c666e7b85929a98928c857f7a75706d6767646362616161626366696e737c8390959fa9aca1978d8073675d5145392c20130600000000000000000000000000000000000001070d11171c1f23292c2d302e34383a3a3b3b3b3b3a38342e312d2c29241e1c160f0a040000000000000000000000000000000000000000000002080d1114171c1f2022242628292a2a2b2b2b2a2929272522201f1c1813110d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060a0c0d0e0e0e0e0e0e0e070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d242932383b3c3d3d3d3d3d3b3a36302920170d0200000713202d3a4653606d78839097a1a29f97928c86817d79767371706e6e6d6e6f7073767b808690959fa7afa49a92857a6d61554c4135291d1104000000000000000000000000000000000000000000060b1012181c1f202323282b2d2e2e2f2e2e2d2c28232421201d1913100b0500000000000000000000000000000000000000000000040a0f14191e2022282b2d2f31333436373738383737363534312f2d2c2823201d18130d080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c131820272b2e2f30303030302e2d2a251f170e050000000a1623303d495663707d8691969fa3a9a19e98928e8a8683807e7c7b7a7a7b7b7d7f82868d9298a0a7aca49f93887d70685e52433a2f24190d01000000000000000000000000000000000000000000000003070c10131416171c1f202121222221201f1c18171413110d08010000000000000000000000000000000000000000000000070f151b1e252a2d2d3338393b3e4041424344444444434342413e3c3a38342e2c29241d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d161b1f2223232323232321201e1a140d05000000000916222f3b4854606b707d848d92999fa3aaa29f9b98928f8d8b898887878788898c8f92999fa3aaa9a19a938c7f726b61564c4131281e1308000000000000000000000000000000000000000000000000000000040607060b10121314151515141313100c070707040100000000000000000000000000000000000000000000000007101920272b3036393b3f4446484a4c4e4f5051515151504f4f4d4b494645403a39352f29241e160d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151616161616161414110e090200000000000713202c38444f59606b6f7980868e92999fa2a9aaa39f9c9a9796959494949596999c9fa3abaaa39f9791887f726d62594f443a301f160c01000000000000000000000000000000000000000000000000000000000000000003060707080808080706040000000000000000000000000000000000000000000000000000000000061019222b32373b4146474a50535557595b5c5d5d5e5e5e5d5c5c5a585553514b4745403a352f281f18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a080705020000000000000004101c27333d474f5960676d737b81878d92979b9fa2a9a8a6a4a3a1a1a0a1a2a3a6a9a7a8a09e98928d857d726d625b51473e32281e0d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222b343c43474c5254545b6062646667696a6a6b6b6a6a6968676462605c5553514b45413a3128231d150c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212b353d464f555d60696e757b80858a8e9297989b9d9ea1a9a1a1a1a9a29f9d9b9896918c86807a706b625b51493f352c20160c000000000000000000000000000000000000000000020507080a0c0e0f10111111111111100f0d0b0907060400000000000000000000000000000000000000000000000000000000000a15202a343c464e54565e6165666c6e71737475767777777776767574716f6d6764605d55524c433f342e271e150c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19232b343d434b51575f62696e74797e8185898b8e90929794949594949792908e8b8884807a746d68605951493f372d231a0e040000000000000000000000000000000000010507090e12141517191a1c1d1d1e1e1e1e1d1d1b1a18161312100c070401000000000000000000000000000000000000000000000000030f1b26313c464e586062686e7275797b7d7f81828384848484838282807e7c7975716d67605d565045403930271e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071119222b313a40454d53575f61676d7175797c7f818385868788888887868583817e7b77736e68605d564f473f372d251b11080000000000000000000000000000000002080d1114141a1e212124262728292a2b2b2b2b2a2928272522201f1c1813110d08020000000000000000000000000000000000000000000006121f2b37434e58606a6f757a7e8285888a8c8e8f9090919191908f8f8d8b8886827e7a736d68625a514b423930261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000710191f282f353c42474d53555c6064666d6f727577787a7a7b7b7b7a7a787774726f6a66615e56524c443d352d251b130a000000000000000000000000000000050b1014191e2021252a2d2e3032343536373738383737363534312f2d2c2823201d19130f0a0300000000000000000000000000000000000000000815212e3a47535f6a767c82868b8f929797999a9c9d9d9e9e9d9d9c9b9a9799928f8b86807a716c605c544b42382e23170b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d161d242931373b42464b5153545c606265686a676d6e6e6e6e6e6d676a6865625f5854524c45413a322b231b130a010000000000000000000000000002080d161c1e252a2d2e31363a3b3d3f4142434444444444444342403e3c3a38342e2c29241e1a150d08020000000000000000000000000000000000000915222f3c4855626f7c888e92999c9fa2a9a6a7a6a4a3a2a1a1a2a3a4a6aba39f9c98928d857e756d665c544a3f342820150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13181f262b3136394045474a505356585b555d606161626161605c555b5855534e4746413b352f28201a11090100000000000000000000000000040c131921272c3036393b3f4246484a4c4d4f50505151515150504e4d4b494644403a3935302b262019140d0500000000000000000000000000000000000916222f3c4955626f7c88959fa3aba8a9a19e9c999796969595959698999c9fa3aaa29f97928b81786d665c50443c31261a0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d151a1f262a2f34383a3f4446494c4e4b5153545555555453514b4e4b4847433c39363029241e160d080000000000000000000000000000040e161e242933383b4146474b4d535457595a5b5c5d5e5e5e5e5d5c5b5a585553514a4745413a37312a251e170e06000000000000000000000000000000000916222f3c4955626f7c8895aaa29f9b9796918f8c8b8a89888888898b8d8f92999ea0a8a19e938e81786d60584e43372b1e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e141a1d23292c2e34383a3c3f424045474748484847474540413f3c3a37312d2a251e19130c040000000000000000000000000000020c16202830353d44484c525458575e6163656768696a6a6b6b6a6a6968676462605c5454524c47433c3630292017110a0200000000000000000000000000000916222f3c4955626f7c88959c98928f8b878582807e7d7c7b7b7c7c7e8083868b91969da4a59e938c80736a5f53473a3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f23282c2d2f322f35383a3b3b3b3b3b3a38342f322f2e2b26201e19140d080100000000000000000000000000000008131e28323a41454f55565e616568696e7072747576777777777777767573716f6d6665605d56534e46413b3228221c140b02000000000000000000000000000916222f3c4955626f7c88948f8a86827e7a78757371706f6e6e6f707173767a7e848d929da4a59f92877c6e62564c41362a1d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013171c1f20232524292c2d2e2e2f2e2e2d2c29232522211f1b15110d080200000000000000000000000000000000010d1924303a444c52596063686e7275787b7d7f8082838384848484838381807e7c7975726d68625f58524c443e332d261d140b020000000000000000000000000916222f3c4955626f7c8888827d7975716e686966646363626262636566676d7279808d929da9a3998e8175685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060c1012131619181d1f202122222221201f1c18181515120f0a050100000000000000000000000000000000000004111d2935414c565d606b70757a7e8285878a8c8d8e8f9091919191908f8e8d8b8885827e7a756f6a615e5650443f382f261d140a0000000000000000000000000915222f3c4855626f7c817c76706d6764615e56595857565555555658555d60676d74808d97a1ab9f92867a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060709070c10131414151515141413100c07090806030000000000000000000000000000000000000000000713202c3945525d686d767d82878b8f929796989a9b9c9d9d9e9e9d9d9c9b9a9798928f8b86817c756e68615a504a42382f261c110600000000000000000000000815212e3a47535f6a6f746f6a64605d5554524c4d4b4a49484849494b4b51555c606d7985919eaba3998a7e7164574b3e3124180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060708080808080706040000000000000000000000000000000000000000000000000000000714212d3a4754606d7a82898f93999b9ea1a9a5a7a8a8a6a5a5a5a5a6a7a8a6aaa29f9c98928e87817a716c605b544a42382d22170f050000000000000000000006121f2b37434e585f6267625f5853514b474641403e3d3c3b3b3c3d3e41454b515c6773808d9aa6ab9a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b88949c9fa4aba9a6a9a19e9c9b9a99989899999a9c9ea1a9a9aaa39f9a938e857e736c665b544a3f332821170d03000000000000000000030f1b26313c464e53555b55534e4745403b3936303130302f2f2f302f3539404b5564717e8a97a4a89c8f8275695c4f4236291c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0c0e1011111111100e0c0907060400000000000000000000000000000000000000000000000000000000010407070909090909090909090909090909090909090909090706040100000000000000000815222f3b4855626e7b8895a6aba49f9d99969792908e8d8c8b8b8c8d8d8f9297979d9fa7aca49f97928a80786c665b50443f33291f1409000000000000000000000a15202a343c4347484e4847433c38352f2d2a25252423222222232429313d495663707c8996a3a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070c10131316191b1d1e1e1e1e1d1b19161413100c0703000000000000000000000000000000000000000000000002080d1113141616161616161616161616161616161616161616161413110d08010000000000000815222f3b4855626e7b88959f9d9993908c8a87858381807f7f7e7f80818285888b90959b9ea5a9a29f928d81786c605a50453b31251a0e04000000000000000000040e18222a31373a3c413c3a37312c2924201e19181716191c23282e343b434d5764717e8a97a4a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12181c1f202326282a2a2b2b2a29282623201f1c18120f0b060000000000000000000000000000000000000000040c13191d202123232323232323232323232323232323232323232321201d19130c0400000000000815222f3b4855626e7b889595908b8683807d7a7876757372727272737475787b7e83888f939fa2a9a49d938d80746c62574d42362a20150a0000000000000000000006101820262b2e2f342f2e2b261f1d18141111151b1e24292e34383f444d555f6974818e9aa7a89b8f8275685c4f4235291c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f23282c2d3033353637383837363432302d2c29231f1b17110a020000000000000000000000000000000000040e161e24292c2d2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2d2c29241e160d04000000000815222f3b4855626e7b888f89837e7a7673706d6869686766656566666769696e71767c828a9297a1a8a59d928b7e71695e53463c32271b0f0100000000000000000000060e151b1f21222822211f1b15100f13191d20272b2f35383f444a50575e676e7b86929facaa9a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070b141b22272b2e34383a3d3f41434444444443413f3c3a38342f2b27221b140b08020000000000000000000000000000020c1620283035393a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a39352f281f160c010000000815222f3b4855626e7b88827c76726d686663615e565b5a595858595a5a575f61646a6f757e859196a1a9a49f92867b6e61584e43372b1e13080000000000000000000000040a0f1215151b1515120f0f161b1e24292d32373a41454a50545c60696e79839098a2aea2988a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13181d262d333739404546494c4e5051515151504e4c494745403937332d261d19130d050000000000000000000000000008131e28323a4145474949494949494949494949494949494949494949494745413a31281e13080000000814212e3b4754616e7a7c756f6a65615e565754524c4e4d4c4c4b4c4d4e4d5355585f626c717b849197a2ada2988f82756a6054473a2f24190d01000000000000000000000000030608090e090a11171b1f272b3035393d43474c52545c60666d727b8390959faaa99f92867a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d24292f383f44464b515356595b5d5d5e5e5d5c5b595653514b46443f382f2a251e170e070000000000000000000000010d1924303a444c525456565656565656565656565656565656565656565654514c433a2f24190d0100000714202d3946525e686e6f6b62605854524c4a47464142403f3f3f3f40414246484e535a61696e7b85929fa6aa9e94887c6f62554c4135291d110400000000000000000000000000000002090b141b22272b32383a4146474e54565d60666d71787f8590959fa7aba1978d8073685d5245392c20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f181f282f353d41495053545c60636668696a6b6b6a69676563605c55535049413e363029201910070000000000000000000004111d2935414c565d60626262626262626262626262626262626262626262605d554c4135291d1104000005111e2a36414c565e61636059544e4746413d3a39363034333232333331363a3c434750575f69717e8a949faba69b8e8175675d5145392c2013060000000000000000000000000000050d141a1d262d33373d43474c5254586062686d72797e848b92989fa7aba39992857a6d61564c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071018212a313a41454f535b6063666d70727476777777777674726f6d6763605b535046413a322b221911070000000000000000000713202c3945525d686d6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d675d5145392c2013060000010d1925303b444c525456544f47433d3936302e2d2a25272625252627262a2d32373e454d57616c7683909ca9ac9f92867a6d6054473a2d21140600000000000000000000000000070e171f252a2f383f44464e54565d61656a6f747a7f848b91969fa2aaa9a19992877d70685e52433a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18222a333c434b515960656c7075797c7f81838484848483817f7c7975706c65615a524c443d342b2319100600000000000000000714212d3a4754606d7a7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c796d6054473a2d21140700000008141e29323b4146474948443d37322d2a2521201d191a191918191a1a1e21262b333c45505a63707d8a97a1ada3988a7e7164574b3e2d22170b000000000000000000000000081119202930363e41495053586062686d72777c81868c91969ea0a8aba49f9691877e716b60564c4131281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212a343c454d555d606b70787d8185898c8e90909191908f8e8c8985817d78706c615e564e463d352b22180e04000000000000000a1724313d4a5764707e8989898989898989898989898989898989898989897d7063564a3d3023170a000000020d1720293036393b3c3b38322b27201d191413110d080c0c0c0c090e12151b212a333e4653606d7985929eabaa9a8e817467544a3f33281c0f030000000000000000000008111a232b333b424650535b60646a6f757a7f83898e92989ea1a8aca69e99938e847d716c61594f443a301f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a333c464e575f676d747d83898e9298999b9c9d9e9e9d9c9a9898928e8a837d756d6860584f473d342a20160c020000000000000a1724313d4a5764707d8a95959595959595959595959595959595959595897d7063564a3d3023170a00000000050e171e252a2d2e302f2c27211b15110d0807050100000000000002050a0f18212c3844505c6675828e9ba8aa9d908477665b5044382b1f120600000000000000000006101a232c353d454d525a61656c71767c81868b90959a9fa2aaaba39f9b948f87817a6f6b615a50473d32291e0d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313b454e585f696e79818990959b9fa2aaa7a6a4a4a4a5a6a7aaa29f9b95918a827a6f6a60594f463c32281e13080000000000000a1724313d4a5764707d8a97a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a296897d7063564a3d3023170a0000000000050d14191e20212322201b160f0a05010000000000000000000000000006101c28343f4a5465727f8c98a5ac9f9286796c605346392d2013060000000000000000030c18222c353e474f575e616c70787d83898e92989da0a7aca8a19e99928e88827c746d68605950483e352b20170d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c19242f3a434d575f6a6f7b848e939d9fa7aaa29f9c99989797989a9d9fa4aca7a09d948f857c706b60584e443a3024190d0500000000000a1724313d4a5764707d8a97a3a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a396897d7063564a3d3023170a00000000000002080d1114141615130f0b0400000000000000000000000000000000000c17232e3e4a5764717d8a97a4aea399877b6e6154483b2e21150800000000000000000a151e2a343e474f5960696e767d838a90959b9fa3aaaaa39f9b96918c86817c756f6a605d564f473e362c23190e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2935414c565f696f7c8591969ea5a8a19e98928f8c8b8a8b8c8d90939a9ea1a9a69e9791867d706a5f564c41352921160b00000000000a1724313d4a5764707d8a97999999999999999999999999999999999996897d7063564a3d3023170a0000000000000000010507080909070300000000000000000000000000000000000000061623303d495663707c8996a3b4ab95887c6f6255493c2f2216090000000000000006111c26303c464f59616b707b828a90959d9fa7aca7a09d98928e89847f7b756f6a625f58524c443d352c241b1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303945525d686e7b859297a0a8a49f96918b8682807e7d7e7f8083878b92979da4a9a19892867c6f685d52463d32271c1004000000000a1724313d4a5764707d8a8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afa296897c6f6356493c30231609000000000000000c17232e38424e58616b707d858f949da0a7aba39f9b95908b86817d78736e69625f58534e45413a322b231b12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3943505a606d7a849197a1a9a299938d847e7a76737171717273777a7f858d929fa4aaa29891847a6d61594f44382c21160a000000000815222e3b4855616e7b7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afa396897d7063564a3d3023170a00000000000003101c28343f4a545f6a707d8692979fa6aaa39f99928e89837e7a75706c65615e56534e47433c352f282019110900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55616c75818e96a0a9a29892878079726d67666564646567686d727a808b939aa4aaa1968e81756b6054483d32271b0f000000000814212d3a47535f696e7272727272727272727272727272727272727272726e695e53463a2d21140700000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3afa296897c6f6356493c3023160900000000000006121f2c3844505c666f7c869298a1a9a69f98928d86817c77726d6863605b53524d47433c373229241e160d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c67707d8a939ea8a39892867d736d67605d5558575859565e61676d747f88939fa6a89e93897d7063584e43382c1c110600000006121e2b37424d575f61666666666666666666666666666666666666666666615e574d42362a1e120500000000000000000000000000000306070807060400000000000000000000000001070f1c28333f4a5465727f8b98a5b3a995887b6f6255483c2f2215090000000000000713202d3a4653606d78839098a2aaa49d948f86807b756f6a65605d5653504946423b37322b262019130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606d7984919ea5a59f92867d706b605d55514b4b4a4b4c4c52555d606d727f8b949faba59d9083766a605448382e23170b000000020e1a26313c454d535559595959595959595959595959595959595959595954534d453b31251a0e02000000000000000000000000060b101213151313100c070a0907070604060708090e1218222b3844505b6674818e9ba7ada197877a6d6054473a2d211407000000000004101d2935404b5564717e8b95a0aaa59d928d827b746e6962605854524c46443f3836302b26201b150d0801010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66727f8c96a1aa9e938a7e716b6159514b45413e3e3e3f41464c515b606c77828f99a3ab9f95897c6f62544a3f34281c100300000009151f2a333c4247484c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4846423b33291f14090000000000000000000000020a11171c1f2022201f1c1818171514131210131314161a1d2429343c4653606c7984919eabab9e928578685d5245392c20130600000000000613202c3945515d677683909ca7ab9e938d80786e69615e56544e4745413a37332d2a251f1b191d191816120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919ea8a2988e81756c61594f454039352f313130363a4145505b656e7b86929faca79b8e8174665c5044382b1f1206000000030e18212a31373a3b3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3b3a36312921170d0300000000000000000001070c141c23282b2d2f2d2c282325232221201f1c1f202123252a2f353d46505a63707d8996a1adab9b8f827568564c4135291d110400000000000714202d3a4753606d7a86929faca3998e81756c665f57524d47433d39352f2b27221b1d2021252a2525221e1811090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717e8a96a1ab9f92867a6d615a50473e352f29242425252a2f353f49535e6975818e9ba9ab9e9285796d6053463a2d20130700000000060f181f262b2d2e3333333333333333333333333333333333333333332e2d2a251f170f05000000000000000000030b12181e262e34383a3b3a38342e32302f2e2d2c282c2d2e2f30363940454e58616c76828f9ca9afa4998b7f7265584c3f2f24190d0100000000000916232f3c4956626f7c8999a3ac9f92867b6e615b544d46423b37322c29241f1e2125292d2e323732312e29231b13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6876828f9ca8a3998c8073685e52483e3529241d181718191e242d38414d57636f7c8997a1ada297897c6f6356493c302316090000000000060e151a1e212226262626262626262626262626262626262626262621211e1a140d05000000000000000000030d151d232930383f444648464540403f3d3c3a3a3834383a3b3c3e42464b5158606a717e8a949fabac9f93877b6e6154473b2e2114080000000000000a1724303d4a5763707d8a96aba99d908376695f534a423b36302b27222324262b2d3035393a3f433f3e3a342d251b0b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929fac9f92877b6e61564c41362c2318120d07080d131b262f3b4854606b7885929eaba9988c7f7265594c3f3226190c00000000000003090e1214151919191919191919191919191919191919191919191514120e0903000000000000000000010b151f272f343c424a50535553514b4d4b4a4847464440454647494b4d52555d606a6f7c86929fa6afa59c8f8275695e52463a2d2014070000000000000b1724313e4a5764717d8a97a4a89b8e827568574d42382f2f2e2e2e2f2f3131373a3b4146474c504c4a463f372d1d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b99a3a89c8f8275695e52443a30241a1107010000010a141d2c38434f596975828f9ca8a89b8e8175685b4e4235281b070000000000000000020608080c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c08070502000000000000000000000007121d27313940454e545c6062605c545a5856555453514b5153545658575e61676d737c859298a2aea89d93897c6f62564d42362a1e11050000000000000a1723303d4a5663707d8996a9a89b8f8275665c5046423e3c3b3a3b3b3c3d404247484c5254585d585651493f2f261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c566874818e9babaa988b7e7265564d4232291e12090000000000020b1b2732404c5966737f8c99a6a99d9083766a5d50432e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f39434b51585f666d6e6d66686765636261605c5f5c6061626467696e72797f879297a1aaaaa1968e81746a6054443b3025190e020000000000000815222f3b4855626e7b8897a2ab9e9184796d6059524d4a4948474748494a4c4d5355565e61656a65625b5142382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687784919eaaa298887b6e6155483b3022170d000000000000000a1724313e4a5764717d8a97a4ab9e9185786b544a4034281c10040000000000000002060808090909090909090909090909090909090909090707050100000000000000000000000004101c2934404b555c606a6f787b7977757372706f6d6d666c666d6e6f7174777b7f848c9299a1a9aaa29891847a6d61584e4332291f1409000000000000000613202d394653606c7985929eaca1968b7e716b615e57575555545455565759575f6165686d7276726d62544a3f33281c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8796a0ab9f928578695f53463a2d211405000000000000000a1723303d4a5663707d8996a3ac9f928679665c5144382c1f12060000000000030a0f121415161616161616161616161616161616161616161413110d08020000000000000000000006131f2c3845515c676d737c8388868482807e7d7b7a79797979797a7c7e8083878c91969fa3aba8a19892867c6f685d52463d3220170d020000000000000006121f2b3844505b6674818e9aa4a99f92867d746e696664626161616262646668696e72757a7f837f72665b5044382b1f150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a8aa9d9083776a574d42372b1e1205000000000000000916232f3c4956626f7c8995a2afa39986796d6053463a2d20130700000000060e151a1f21222323232323232323232323232323232323232321201e19130d050000000000000000000714202d3a4753606d798087909592918f8d8b898887868685868687898b8d90939a9ea1a9aba59e9691867d6f6a5f564c41342b200e050000000000000000030f1c28333f4a54626f7c87939fa7a2989287807b7673716f6e6d6e6e6f707375777b7f82868b9084786c6053463c32261b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a89b8f8275685c4f4231261a0e02000000000000000815222f3b4855626e7b8895a1b5a093877a6d6054473a2d211407000000060f1820262b2e2f303030303030303030303030303030303030302e2d2a251e170e0500000000000000010d1a2734404d5a6773808d92999f9f9d9b9a9896959499929292999495979a9d9fa4acaca79f9d938e847c6f6b60584e443a3022190f000000000000000000000b17222d3847535f6a74818e95a0a7a299938d86837f7d7c7b7a7a7b7c7d7f8284888b8f9299968a7d7064584e43372b1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6a89b8e8175685b4e4235281b0a00000000000000000916222f3c4955626f7c8895a2afa49986796d6053463a2d2013070000030e18222a31373a3b3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a3936302920170d02000000000000000d1a2633404d596673808c99a3abacaaa7a5a5a3a2a0a39f9f9fa3aba2a4a7aaa9aaa29f9b959089817a6f6a60594f463c32281e10070000000000000000000006111c2b37434e58606d798390959ea5a49f9992908c8a8888878788898a8c8e9196989c9fa39c9083766a5f53473b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2835414e5b6874818e9ba7a79b8e8174685b4e4132271b0c03000000000000000a1723303d4a5663707d8996a3ac9f938679675c5145382c1f130600000a15202a343c434748494949494949494949494949494949494949494746413a32291e1308000000000000000c1925323f4c5865727f8b98a5afa59d9a989a9c9e9fa3aba2a2a2a2aca49f9e9c9998928e89837d756d6860584f473d342a20160c0000000000000000000000000f1b26323c45515d676e7a838e939da0a7a39f9c999795949494959597999b9ea0a8a8aba49f94887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89c8f827569584e43372b1e150b030000000000000b1824313e4b5764717e8a97a4ab9e9185786b554b4034281c100400020f1a26313c464e53555656565656565656565656565656565656565654524c443a3025190d010000000000000b1824313e4b5764717e8a97a4a99d938e8b8d8f9192999495959695959a93918f8d8985817d76706b615d564e463d352b22180e040000000000000000000000000a15202935404b555e686e79818990959b9fa2aaa6a4a2a1a0a1a1a2a3a6a8a6a9a19e9b99938f8a8174675b4e4134281b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3743505d6a7683909da9ab9e9185786a6054473c30271d150c080502010509111d2935414c566773808d9aa6a99d9083766a5d50432e23180c000006121f2b37434e585f6263636363636363636363636363636363636363615e564c41362a1e11050000000000000a1723303d4a5663707d8996a3a79a8e817e818384868788888989898887868482807d7975706b636059524c443c342b2319100600000000000000000000000000040d18242f39434c565e676d757d83898e9298989b9d9e9f9fa39f9f9e9d9b999797928e8b87827e796d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daaada197887c6f62584e43392f271e1914110e0d11141a232d3946525d687683909ca9a79b8e8174685b4e4135281b0700000814212e3a47535f6a6e6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d685e5246392d2013070000000000000915222f3c4855626f7b8895a2a6998d8073747678797a7b7c7c7c7c7b7b79787673706d67636059544f46413a322b2219110700000000000000000000000000000007121d28313b444c555d606b6f787d8185898c8e9091929299939291908f8d8b8885827e7b76716d675d5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab3a99b8e81746a5f554b4139302a25201e19191d20252a34404b55616d7a86929faca8988b7e7265584b3f3225180c00000815222f3b4855626e7b7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7a6d6154473a2e2114070000000000000814212e3b4754616e7a8794aaa79a8e81746769666c6d6e6f6f6f6f6f6e6d66696663605d55544f48443d3530282019100700000000000000000000000000000000010c161f29323b434b515960666c7074797c7f8183848586868685858482807e7c7875726e6964605d554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2b3844515e6b7784919eaab7ac9f92877c6f675c534a423b36302d2a2525292d30363e45515c67727f8c98a3aca096887b6e6255483b2f22150800000f1c2936424f5c697582898989898989898989898989898989898989897e7164584b3e3125180b0000000000000713202d3a4653606d798698a2a89c8f827569545b606161626263626261605c545a5653514b48443d383329241e160e07000000000000000000000000000000000000040d172029313a41454f545b6063676d707274777878797a797878777573716f6c6565615e5753514b43392f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7afa3999083796d655c544d46413b3936303035393b42465059606d7984919eaaaa9d918477695f53473a2e21140800000f1c2936424f5c6975828f96969696969696969696969696969696968b7e7164584b3e3125180b00000000000006131f2c3845515c667885929fa99d9083766a5d5053545555565656555453504a4d4a4745403938322c272119130c040000000000000000000000000000000000000000050e171f282f353d424a5053555c606365686a6b6c676d6c656b6a68666462605b5354524d4745403931271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6b1ab9f958e81776d665f57524c47464143434146474d525a616c74808d96a1aca2988c7f7266574d42372b1e120600000f1c2936424f5c6975828f9ca2a2a2a2a2a2a2a2a2a2a2a2a2a2a2978b7e7164584b3e3125180b00000000000004101c2834404b546b7784919eaa9e9184776b554b46474849494949484846443f403d3a38352f2c27211c160d080200000000000000000000000000000000000000000000050d161d24292f383f44464b515356595b5d5e555c60605b5e5d5c5a58555350494746423b38352f271f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3743505d6a7683909da9b1a7a09d9d938e81786e69615e5654524c50504c5254575e616c717e88939fa8a89f92857a6d6154473c31261a0e0200000f1c2936424f5c6975828f9ca8afafaaa89f9f9f9f9f9f9f9f9f9f978b7e7164584b3e3125180b000000000000000c18232e43505d6a7683909da99f928578675c51453a3b3c3c3c3c3c3b3a38342e302d2c29241d1c16100b0500000000000000000000000000000000000000000000000000040c13181d262d333839404547494c4e50514b5153535049514f4d4b4946443f3b3a36302c29241d150d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9aba095909095938e837b736d6864615e565c5c565e6164696e747e87929aa4aaa0968c7f73685e5246392a2015090000000f1c2936424f5c6975828f9ca8afa59e9b93939393939393939393938b7e7164584b3e3125180b00000000000000071c2936424f5c6975828f9ca8a298867a6d6053473a2e2f2f302f2f2e2d2c282323201f1d1812100b050000000000000000000000000000000000000000000000000000000001070b141c22282b2f34383a3d3f41444540454746443f4442403e3c3937332d2d2a251f1d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8aa9d9083839098959086807a75716e686a69696a686d71747b818b9299a3aba3989184796d60564c413529180e030000000f1c2936424f5c6975828f9ca8aa9e938e8686868686868686868686867e7164584b3e3125180b000000000000020e1b2835414e5b6874818e9ba7aa94877b6e6154483b2e222323232221201f1c17171413100c07010000000000000000000000000000000000000000000000000000000000000000020a11171c1f23292c2d303235372f34383a3937332d3533312f2d2b2722201e1a14100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2835414e5b6874818e9ba7a89b8e827b86929998928d86817e7a7877767677787a7d81868e939fa3aba39992867c6f675d51443a30251906000000000f1c2936424f5c6975828f9ca8a89b8e81797979797979797979797979716c6256493d3024170a000000000000010d1a2734404d5a6773808d9aa6a295887c6f6255493c2f2216161615151312100c0607060400000000000000000000000000000000000000000000000000000000000000000000000000060b0f12181c1f202326282a23292c2d2d2b272229272522201f1b1714110e090400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6a99c8f83767e8792999f98928e8a87858383838485868a8e92989da5a8a19992877e716a60554b4032281e1308000000000f1c2936424f5c6975828f9ca8a89b8e82756c6c6c6c6c6c6c6c6c6c6c64625a5045392d211508000000000000000c1926333f4c5966727f8c99a5a3968a7d7063574a3d3024170c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0b0a080500000000000000000000000000000000000000000000000000000000000003070c10131416191b1d181c1f20201f1b171c1a181613120f0b060502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d908377717e8792979f9f9b979792908f8f919193999a9fa3aaa39f9691877e716c61584e43392f20160c02000000000f1c2936424f5c6975828f9ca8a89b8e82756860606060606060606060585650483e34291d1105000000000000000b1825323e4b5865717e8b98a4a4978b7e7164584b3e3125191919191919191919191919191919191919181715110c06000000000000000000000000000000000000000000000000000000000000000406070a0c0e070c10131413120f0b060d0b0906050300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4ab9e9185786c717d858e939a9fa2a19e9d9c9c9d9e9fa4aba9a19e99928d847d716c615a50463c31271d0e0400000000000f1c2936424f5c6975828f9ca8a89b8e8275685b5353535353535353534b49453e362d22170c00000000000000000a1724313d4a5764707d8a97a3a5988c7f7265594c3f32262626262626262626262626262626262626262423211d171008000000000000000000000000000000000000000000000000000000000000000000000002000004060706050300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996aaac9f9386796d6b707a81878e9298999c9d9f9fa39f9f9d9c9997928d87817a6f6b615a50483e342b1f150b0000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f46464646464646463e3d39342d241b11060000000000000000091623303c4956636f7c8996a2a6998d8073665a4d40333333333333333333333333333333333333333331302d28221a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a2aea499887b6e61686e747c8185898d8f919292999292908f8c8985807b746d68605950483e362c22190d030000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f423939393939393931302d29221b12090000000000000000000815222e3b4855616e7b8894aba79b8e8174685b4e413f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3e3d39342c241a1006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e687885929fabab96897d70635e616a6f74797d808284858686868584827f7c79746e69615d564f473e362c241a1007000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f42352d2d2d2d2d2d2524211d171109000000000000000000000714212d3a4754606d7a8799a3a89c8f8275695c4f4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4b49453e362c22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c566a7683909da9a5998c7f726659585f62676d707375777879797978777573706d66615f57524c443d352c241a120800000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235282020202020181715110c0600000000000000000000000613202d394653606c7986929fa99d9083766a5d59595959595959595959595959595959595959595959575550483e34281d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d192530414d5a6774808d9aa7a89b8e817568574e53555c606366696a6c666d666c6a696663605c54534d46413a322b231a12080000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c131313130b0a08050000000000000000000000000005121f2b3744505b657885919eab9e9184786b666666666666666666666666666666666666666666666664615a5045392d21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081824313e4b5764717e8a97a8ab9e918478695e53474b5153565a5c5e5f5c605c5f5d5c595653504a46423b35302820191108000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0606060000000000000000000000000000000000030f1b27333f49536a7784909daa9f928579727272727272727272727272727272727272727272727272716c6155493d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8896a1aca196877b6e6154484045474a4d4f514a5153514a514f4c4946443f38363129241e160e0700000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000000000b17222d43505c6976838f9ca9a2988c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697884919eaba8988b7e7165564c41383a3d40424440444644404442403d3a38342e2a261f19130c040000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f020000000000000000000000000000000000000000061c2835424f5b6875828e9ba8aa9c918c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8376695c504336291d100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576774808d9aa9a99c8f8276685e5246392e3033362e34383a38342e3633302d2c28231c1a140d0802000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7ada39c9999999999999999999999999999999999999999999999998f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313d4a5663707d8997a1ac9f92867a6d61544b403428272923282c2d2c2823292623201f1c17110e09030000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000000000d1a2633404d596673808c99a6afada8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a59c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000913202d3a4653606d7985929eaca3998c7f72665c51453a302519181c1f201f1c181c19161312100c060000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000000000c1925323f4c5865727f8b98a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39c8f8376695c504336291d10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c6673808d9aa4ab9e9184796d60564c413529241812121312100c070d0a07060300000004000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000000000b1824313e4b5764717e8a96969696969696969696969696969696969696969696969696969696968f8376695c504336291d10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a54616e7b87939faca1978b7f72685e52463f3629241d15110d0806060300040607080a0d10070705010000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000000000a1723303d4a5663707d898989898989898989898989898989898989898989898989898989898989898276695c504336291d100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3946535f6975828f9aa4a99f92857a6d615b51483e352f27201d191513120f0c10131315171a1d1413110d0802000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000000000714212d3a4754606d797d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c2a36424d57626f7c87939faaa2978e81756d625a50454039312c292421201f1c181c1f202224262a21201e19130d050000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000000000613202c3945515d676d707070707070707070707070707070707070707070707070707070707070706f6a5f53473b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313b47535f6a75818e98a2a99e938b7f726c625a514b433e39352f2e2d2b2823282c2d2e3133372e2d2a251e170e0500000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000004111d2935414b555d6063636363636363636363636363636363636363636363636363636363636363625f584e43372b1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2b37434e58616e7b86929fa5a59f92877e716c605d554f4745413d3b3938332e34383a3b3d40433a3936302920170d02000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f020000000000000000000000000000000000000000010d18242f3a434b51545656565656565656565656565656565656565656565656565656565656565655534e463c32261b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c46535e69717e8b939ea7a39992877e746d67615954514c494846443f44404546484a4d504746413a32291e1308000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000000000007131d28313a414547494949494949494949494949494949494949494949494949494949494949494947433c342a20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a36424d57626c75828f95a0a8a399928b8079706b64605d55565453504a514b51535557595d54524c443a3025190d010000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22180e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1a25313b45505a606d79839096a0a7a39f928d847d77716d67666361605b5e5e545c606164666a615e564c41362a1e11050000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000000000000040d161d24292c2d303030303030303030303030303030303030303030303030303030303030302f2e2b2620181006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333f45515d676e7a8491959fa6a49d96918a837e7a7572706e6c666b6b6b666d6e7073766d685e5246392d2013070000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f020000000000000000000000000000000000000000000000040c13181d20212323232323232323232323232323232323232323232323232323232323232322211f1b150e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212935414b555e686e7b838f949fa3a8a09e95908b86827f7c7b797878777878797b7d80837a6d6154473a2e2114070000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000000000000000001070d111314161616161616161616161616161616161616161616161616161616161616161615130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f3a434d565e696e7a828c92999fa6a7a09d98928f8c898786858484848586888a8c877a6e6154473b2e2114080000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f020000000000000000000000000000000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313b444d575e686d787f868f949c9fa6aaa39f9c999699929291919192939a9794877a6e6154473b2e2114080000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f29323b454d565d666d727c82898f94999da0a8a7a5aba39f9e9e9e9e9e9fa4a194877a6e6154473b2e2114080000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d172029333b444c545c606a6f767d82888c9196979a9c9d9fa3aba1a1a1aba39f9d94877a6e6154473b2e2114080000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e172129323a424a50585f626b70767b8084878a8d8f91929994949594949992918f877a6e6154473b2e2114080000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f17202830383f444e53596063696e73777a7d80828486878788888887878684827f796d6053473a2d2014070000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d161e262e343c43474f54575f6166686e71747577797a7a7b7b7b7b7a797775726d675c5145382c1f13060000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c141c232831373d44484d5355565e61646769666c6d6e6e6e6e6e6d676a6966605c554b4034291c10040000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a111720262b32383c4246484d5254575a545b60606161626161605d555c5953514b43392f23180c000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b151b21272c31373a3b4146474a4d4a505354545555555454514b4f4c4745403931271d1207000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1f262b2d3036393b3e413f4446474748484848474541423f3a38342f271f150b01000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b10141a1e21252a2d2e312d3338393a3b3b3b3b3b3a39352f332d2c29231d150d0300000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214191e20212422282b2d2d2e2e2f2e2e2d2c292426201f1c18120b030000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205080e11141417171c1f2021212222222121201d18191413100c0701000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708060b0f12131414151515151413110d07070604000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060708080808080706040100000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809090909090909090909090909090909090909090707050100000000000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f121515161616161616161616161616161616161616161413110d08020000000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222323232323232323232323232323232323232321201d19130c0400000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f303030303030303030303030303030303030302e2d29251e160e04000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222a31373a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a3935302820160c020000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c434748494949494949494949494949494949494949494746413a32281e13080000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c464e53555656565656565656565656565656565656565654524c443a3025190d0100000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e585f6263636363636363636363636363636363636363615e564c4135291d110500000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d685e5246392d20130700000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7a6d6154473a2e21140700000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697682898989898989898989898989898989898989897e7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d6976839096969696969696969696969696969696968a7e7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca2a2a2a2a2a2a2a2a2a2a2a2a2a2a2978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909c9f9f9f9f9f9f9f9f9fa0a2a8afafa4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c0f060606000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909393939393939393939393969ea8b0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281c131313130b0a08050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d6976828686868686868686868686878c96a2b0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f4235281f1f1f1f1f181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424e5a66707679797979797979797979797a8793a0ada4978a7e7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f42352c2c2c2c2c2c2424211d17100900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a26323e4a545e66696c6c6c6c6c6c6c6c6c6c6d7a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f423939393939393931302d28221a1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16222d38434c545a5d606060606060606060606d7a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b4f46464646464646463e3d39342c241a100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111c27313a434a4e50535353535353535354606d7a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685b5252525252525252524b49453e362c22170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2831383e4243464646464646464754606d7a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e8275685f5f5f5f5f5f5f5f5f5f575550483e34281d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f272d3235363939393939393a4754606d7a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e82756c6c6c6c6c6c6c6c6c6c6c64615a5045392d21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2d2d2d2d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8a89b8e81797979797979797979797979716c6155493d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d20202020212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8ac9f92878585858585858585858585867e7164574b3e3124180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0d0f1013131314212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8afa3999292929292929292929292928b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001030306060714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8b5aba39f9f9f9f9f9f9f9f9f9f9f978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c6975828f96969696969696969696969696969696968b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000f1c2936424f5c697582898989898989898989898989898989898989897e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000915222f3c4855626f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000815212e3a47535f6a6f707070707070707070707070707070707070706e685e5246392d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000006121f2b37434e585f6263636363636363636363636363636363636363615e564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000030f1b26313c464e53555656565656565656565656565656565656565654524c443b3025190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000a15202a343c434748494949494949494949494949494949494949494746413b32291e14080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000040e18222a31373a3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3936302920170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000006101820262b2e2f303030303030303030303030303030303030302e2d2a251e170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000060e151b1f21222323232323232323232323232323232323232321201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000040a0f121515161616161616161616161616161616161616161414110e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020306060714212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005090d0f1013131314212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1015191c1c1f1f1f1f212d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c141b212528292c2c2c2c2c2d3a4754606d7a8793a0ada4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c161e262d3235363939393939393a4754606d7a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2830383e4143464646464646464754606d7a8793a0ada4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101b26303a42494e4f525252525252525254606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212d38424c545a5c5f5f5f5f5f5f5f5f5f606d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1925323e49545e66696c6c6c6c6c6c6c6c6c6c6d7a8793a0ada4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835414e5a66707679797979797979797979797a8793a0ada4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c697682858585858585858585858586929facb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d69768390929292929292929292929298a2aeb0a4978a7e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909c9f9f9f9f9f9f9f9f9f9fa2aab4afa4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d6976839096969696969696969696969696969696968a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697682898989898989898989898989898989898989897d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a6f707070707070707070707070707070707070706d685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f6263636363636363636363636363636363636363615e564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e53555656565656565656565656565656565656565654524c443a3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c434749494949494949494949494949494949494949494746413a32291e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222a32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a3936302920170c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101820262b2e2f303030303030303030303030303030303030302e2d2a251e170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e151b1f21222323232323232323232323232323232323232321201d19130c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f131516161616161616161616161616161616161616161413110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: +--- !u!21 &-3136376441605835023 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: OpenSans-Regular Atlas Material + m_Shader: {fileID: 4800000, guid: 68e6db2ebdc24f95958faec2be5558d6, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Cube: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FaceTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: -5213088529714667522} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OutlineTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _Ambient: 0.5 + - _Bevel: 0.5 + - _BevelClamp: 0 + - _BevelOffset: 0 + - _BevelRoundness: 0 + - _BevelWidth: 0 + - _BumpFace: 0 + - _BumpOutline: 0 + - _ColorMask: 15 + - _CullMode: 0 + - _Diffuse: 0.5 + - _FaceDilate: 0 + - _FaceUVSpeedX: 0 + - _FaceUVSpeedY: 0 + - _GlowInner: 0.05 + - _GlowOffset: 0 + - _GlowOuter: 0.05 + - _GlowPower: 0.75 + - _GradientScale: 10 + - _LightAngle: 3.1416 + - _MaskSoftnessX: 0 + - _MaskSoftnessY: 0 + - _OutlineSoftness: 0 + - _OutlineUVSpeedX: 0 + - _OutlineUVSpeedY: 0 + - _OutlineWidth: 0 + - _PerspectiveFilter: 0.875 + - _Reflectivity: 10 + - _ScaleRatioA: 0.9 + - _ScaleRatioB: 0.73125 + - _ScaleRatioC: 0.73125 + - _ScaleX: 1 + - _ScaleY: 1 + - _ShaderFlags: 0 + - _Sharpness: 0 + - _SpecularPower: 2 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _TextureHeight: 1024 + - _TextureWidth: 1024 + - _UnderlayDilate: 0 + - _UnderlayOffsetX: 0 + - _UnderlayOffsetY: 0 + - _UnderlaySoftness: 0 + - _VertexOffsetX: 0 + - _VertexOffsetY: 0 + - _WeightBold: 0.75 + - _WeightNormal: 0 + m_Colors: + - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} + - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} + - _FaceColor: {r: 1, g: 1, b: 1, a: 1} + - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} + - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} + - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} + m_BuildTextureStacks: [] +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 71c1514a6bd24e1e882cebbe1904ce04, type: 3} + m_Name: OpenSans-Regular SDF + m_EditorClassIdentifier: + hashCode: -1025855939 + material: {fileID: -3136376441605835023} + materialHashCode: -657854723 + m_Version: 1.1.0 + m_SourceFontFileGUID: 5dfd9f912568dd149a87a39b8befa8da + m_SourceFontFile_EditorRef: {fileID: 12800000, guid: 5dfd9f912568dd149a87a39b8befa8da, type: 3} + m_SourceFontFile: {fileID: 12800000, guid: 5dfd9f912568dd149a87a39b8befa8da, type: 3} + m_AtlasPopulationMode: 1 + m_FaceInfo: + m_FaceIndex: 0 + m_FamilyName: Open Sans + m_StyleName: Regular + m_PointSize: 90 + m_Scale: 1 + m_UnitsPerEM: 2048 + m_LineHeight: 100 + m_AscentLine: 96.19629 + m_CapLine: 64 + m_MeanLine: 48 + m_Baseline: 0 + m_DescentLine: -26.367188 + m_SuperscriptOffset: 96.19629 + m_SuperscriptSize: 0.5 + m_SubscriptOffset: -26.367188 + m_SubscriptSize: 0.5 + m_UnderlineOffset: -9.008789 + m_UnderlineThickness: 4.482422 + m_StrikethroughOffset: 19.2 + m_StrikethroughThickness: 4.482422 + m_TabWidth: 23 + m_GlyphTable: + - m_Index: 3 + m_Metrics: + m_Width: 0 + m_Height: 0 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 0 + m_HorizontalAdvance: 23.375 + m_GlyphRect: + m_X: 0 + m_Y: 0 + m_Width: 0 + m_Height: 0 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 14 + m_Metrics: + m_Width: 42.21875 + m_Height: 43.59375 + m_HorizontalBearingX: 4.578125 + m_HorizontalBearingY: 53.5625 + m_HorizontalAdvance: 51.453125 + m_GlyphRect: + m_X: 959 + m_Y: 10 + m_Width: 43 + m_Height: 45 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 16 + m_Metrics: + m_Width: 21.578125 + m_Height: 6.6875 + m_HorizontalBearingX: 3.6875 + m_HorizontalBearingY: 27.46875 + m_HorizontalAdvance: 28.953125 + m_GlyphRect: + m_X: 72 + m_Y: 448 + m_Width: 23 + m_Height: 8 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 18 + m_Metrics: + m_Width: 31.25 + m_Height: 64.25 + m_HorizontalBearingX: 0.875 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 33.046875 + m_GlyphRect: + m_X: 10 + m_Y: 267 + m_Width: 33 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 19 + m_Metrics: + m_Width: 42.5 + m_Height: 66.140625 + m_HorizontalBearingX: 4.484375 + m_HorizontalBearingY: 65.265625 + m_HorizontalAdvance: 51.453125 + m_GlyphRect: + m_X: 692 + m_Y: 99 + m_Width: 43 + m_Height: 67 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 20 + m_Metrics: + m_Width: 23.15625 + m_Height: 64.25 + m_HorizontalBearingX: 8.265625 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 51.453125 + m_GlyphRect: + m_X: 10 + m_Y: 351 + m_Width: 24 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 21 + m_Metrics: + m_Width: 42.234375 + m_Height: 65.171875 + m_HorizontalBearingX: 4.390625 + m_HorizontalBearingY: 65.171875 + m_HorizontalAdvance: 51.453125 + m_GlyphRect: + m_X: 118 + m_Y: 349 + m_Width: 43 + m_Height: 66 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 22 + m_Metrics: + m_Width: 42.0625 + m_Height: 66.046875 + m_HorizontalBearingX: 4.125 + m_HorizontalBearingY: 65.171875 + m_HorizontalAdvance: 51.453125 + m_GlyphRect: + m_X: 53 + m_Y: 362 + m_Width: 43 + m_Height: 67 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 23 + m_Metrics: + m_Width: 47.765625 + m_Height: 64.59375 + m_HorizontalBearingX: 1.890625 + m_HorizontalBearingY: 64.59375 + m_HorizontalAdvance: 51.453125 + m_GlyphRect: + m_X: 253 + m_Y: 346 + m_Width: 49 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 24 + m_Metrics: + m_Width: 40.4375 + m_Height: 65.125 + m_HorizontalBearingX: 5.84375 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 51.453125 + m_GlyphRect: + m_X: 115 + m_Y: 434 + m_Width: 42 + m_Height: 66 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 25 + m_Metrics: + m_Width: 41.921875 + m_Height: 66.046875 + m_HorizontalBearingX: 5.140625 + m_HorizontalBearingY: 65.171875 + m_HorizontalAdvance: 51.453125 + m_GlyphRect: + m_X: 10 + m_Y: 448 + m_Width: 43 + m_Height: 67 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 26 + m_Metrics: + m_Width: 42.765625 + m_Height: 64.25 + m_HorizontalBearingX: 4.125 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 51.453125 + m_GlyphRect: + m_X: 630 + m_Y: 80 + m_Width: 43 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 29 + m_Metrics: + m_Width: 10.578125 + m_Height: 50.671875 + m_HorizontalBearingX: 6.6875 + m_HorizontalBearingY: 49.390625 + m_HorizontalAdvance: 23.953125 + m_GlyphRect: + m_X: 89 + m_Y: 119 + m_Width: 12 + m_Height: 52 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 36 + m_Metrics: + m_Width: 56.953125 + m_Height: 64.515625 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 64.515625 + m_HorizontalAdvance: 56.953125 + m_GlyphRect: + m_X: 318 + m_Y: 94 + m_Width: 57 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 37 + m_Metrics: + m_Width: 44.515625 + m_Height: 64.25 + m_HorizontalBearingX: 8.828125 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 58.3125 + m_GlyphRect: + m_X: 754 + m_Y: 94 + m_Width: 46 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 38 + m_Metrics: + m_Width: 48.59375 + m_Height: 66.046875 + m_HorizontalBearingX: 5.5 + m_HorizontalBearingY: 65.171875 + m_HorizontalAdvance: 56.78125 + m_GlyphRect: + m_X: 148 + m_Y: 10 + m_Width: 50 + m_Height: 67 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 39 + m_Metrics: + m_Width: 51.296875 + m_Height: 64.25 + m_HorizontalBearingX: 8.828125 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 65.609375 + m_GlyphRect: + m_X: 145 + m_Y: 96 + m_Width: 53 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 40 + m_Metrics: + m_Width: 35.828125 + m_Height: 64.25 + m_HorizontalBearingX: 8.828125 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 50.046875 + m_GlyphRect: + m_X: 120 + m_Y: 180 + m_Width: 37 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 41 + m_Metrics: + m_Width: 35.828125 + m_Height: 64.25 + m_HorizontalBearingX: 8.828125 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 46.453125 + m_GlyphRect: + m_X: 62 + m_Y: 278 + m_Width: 37 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 43 + m_Metrics: + m_Width: 48.78125 + m_Height: 64.25 + m_HorizontalBearingX: 8.828125 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 66.40625 + m_GlyphRect: + m_X: 263 + m_Y: 262 + m_Width: 50 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 45 + m_Metrics: + m_Width: 22.859375 + m_Height: 81.171875 + m_HorizontalBearingX: -7.03125 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 24.03125 + m_GlyphRect: + m_X: 448 + m_Y: 163 + m_Width: 24 + m_Height: 82 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 47 + m_Metrics: + m_Width: 35.828125 + m_Height: 64.25 + m_HorizontalBearingX: 8.828125 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 46.71875 + m_GlyphRect: + m_X: 89 + m_Y: 35 + m_Width: 37 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 48 + m_Metrics: + m_Width: 63.640625 + m_Height: 64.25 + m_HorizontalBearingX: 8.828125 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 81.25 + m_GlyphRect: + m_X: 483 + m_Y: 10 + m_Width: 65 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 49 + m_Metrics: + m_Width: 50.1875 + m_Height: 64.25 + m_HorizontalBearingX: 8.828125 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 67.859375 + m_GlyphRect: + m_X: 217 + m_Y: 10 + m_Width: 52 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 50 + m_Metrics: + m_Width: 59.09375 + m_Height: 66.140625 + m_HorizontalBearingX: 5.5 + m_HorizontalBearingY: 65.265625 + m_HorizontalAdvance: 70.09375 + m_GlyphRect: + m_X: 10 + m_Y: 42 + m_Width: 60 + m_Height: 67 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 51 + m_Metrics: + m_Width: 40.75 + m_Height: 64.25 + m_HorizontalBearingX: 8.828125 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 54.1875 + m_GlyphRect: + m_X: 306 + m_Y: 178 + m_Width: 42 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 53 + m_Metrics: + m_Width: 45.265625 + m_Height: 64.25 + m_HorizontalBearingX: 8.828125 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 55.640625 + m_GlyphRect: + m_X: 356 + m_Y: 10 + m_Width: 47 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 54 + m_Metrics: + m_Width: 40.4375 + m_Height: 66.046875 + m_HorizontalBearingX: 4.65625 + m_HorizontalBearingY: 65.171875 + m_HorizontalAdvance: 49.390625 + m_GlyphRect: + m_X: 422 + m_Y: 10 + m_Width: 42 + m_Height: 67 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 55 + m_Metrics: + m_Width: 48.15625 + m_Height: 64.25 + m_HorizontalBearingX: 0.796875 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 49.796875 + m_GlyphRect: + m_X: 288 + m_Y: 10 + m_Width: 49 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 56 + m_Metrics: + m_Width: 49.171875 + m_Height: 65.125 + m_HorizontalBearingX: 8.171875 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 65.515625 + m_GlyphRect: + m_X: 118 + m_Y: 264 + m_Width: 50 + m_Height: 66 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 57 + m_Metrics: + m_Width: 53.5625 + m_Height: 64.25 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 53.5625 + m_GlyphRect: + m_X: 959 + m_Y: 74 + m_Width: 54 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 58 + m_Metrics: + m_Width: 80.90625 + m_Height: 64.25 + m_HorizontalBearingX: 1.1875 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 83.328125 + m_GlyphRect: + m_X: 217 + m_Y: 94 + m_Width: 82 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 59 + m_Metrics: + m_Width: 51.234375 + m_Height: 64.25 + m_HorizontalBearingX: 0.359375 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 51.9375 + m_GlyphRect: + m_X: 824 + m_Y: 10 + m_Width: 52 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 60 + m_Metrics: + m_Width: 50.40625 + m_Height: 64.25 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 50.40625 + m_GlyphRect: + m_X: 754 + m_Y: 10 + m_Width: 51 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 61 + m_Metrics: + m_Width: 44.15625 + m_Height: 64.25 + m_HorizontalBearingX: 3.609375 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 51.375 + m_GlyphRect: + m_X: 895 + m_Y: 10 + m_Width: 45 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 62 + m_Metrics: + m_Width: 20.078125 + m_Height: 78.484375 + m_HorizontalBearingX: 7.296875 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 29.625 + m_GlyphRect: + m_X: 72 + m_Y: 475 + m_Width: 21 + m_Height: 80 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 64 + m_Metrics: + m_Width: 20.09375 + m_Height: 78.484375 + m_HorizontalBearingX: 2.234375 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 29.625 + m_GlyphRect: + m_X: 10 + m_Y: 534 + m_Width: 21 + m_Height: 80 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 66 + m_Metrics: + m_Width: 40.6875 + m_Height: 5.75 + m_HorizontalBearingX: -0.171875 + m_HorizontalBearingY: -8.09375 + m_HorizontalAdvance: 40.34375 + m_GlyphRect: + m_X: 87 + m_Y: 10 + m_Width: 42 + m_Height: 6 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 68 + m_Metrics: + m_Width: 38.640625 + m_Height: 49.828125 + m_HorizontalBearingX: 4.125 + m_HorizontalBearingY: 48.953125 + m_HorizontalAdvance: 50.046875 + m_GlyphRect: + m_X: 483 + m_Y: 94 + m_Width: 39 + m_Height: 50 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 70 + m_Metrics: + m_Width: 34.8125 + m_Height: 49.921875 + m_HorizontalBearingX: 5.046875 + m_HorizontalBearingY: 49.046875 + m_HorizontalAdvance: 42.84375 + m_GlyphRect: + m_X: 394 + m_Y: 96 + m_Width: 35 + m_Height: 51 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 71 + m_Metrics: + m_Width: 42.375 + m_Height: 69.25 + m_HorizontalBearingX: 5.046875 + m_HorizontalBearingY: 68.375 + m_HorizontalAdvance: 55.15625 + m_GlyphRect: + m_X: 692 + m_Y: 10 + m_Width: 43 + m_Height: 70 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 72 + m_Metrics: + m_Width: 40.75 + m_Height: 49.921875 + m_HorizontalBearingX: 5.046875 + m_HorizontalBearingY: 49.046875 + m_HorizontalAdvance: 50.5 + m_GlyphRect: + m_X: 632 + m_Y: 10 + m_Width: 41 + m_Height: 51 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 73 + m_Metrics: + m_Width: 33.078125 + m_Height: 68.859375 + m_HorizontalBearingX: 1.28125 + m_HorizontalBearingY: 68.859375 + m_HorizontalAdvance: 30.5 + m_GlyphRect: + m_X: 395 + m_Y: 235 + m_Width: 34 + m_Height: 69 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 74 + m_Metrics: + m_Width: 45.4375 + m_Height: 70.671875 + m_HorizontalBearingX: 1.71875 + m_HorizontalBearingY: 49.046875 + m_HorizontalAdvance: 49.3125 + m_GlyphRect: + m_X: 187 + m_Y: 335 + m_Width: 47 + m_Height: 72 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 76 + m_Metrics: + m_Width: 8.609375 + m_Height: 66.046875 + m_HorizontalBearingX: 7.125 + m_HorizontalBearingY: 66.046875 + m_HorizontalAdvance: 22.765625 + m_GlyphRect: + m_X: 367 + m_Y: 235 + m_Width: 9 + m_Height: 67 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 78 + m_Metrics: + m_Width: 38.546875 + m_Height: 68.375 + m_HorizontalBearingX: 7.734375 + m_HorizontalBearingY: 68.375 + m_HorizontalAdvance: 47.234375 + m_GlyphRect: + m_X: 204 + m_Y: 247 + m_Width: 40 + m_Height: 69 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 79 + m_Metrics: + m_Width: 7.296875 + m_Height: 68.375 + m_HorizontalBearingX: 7.734375 + m_HorizontalBearingY: 68.375 + m_HorizontalAdvance: 22.765625 + m_GlyphRect: + m_X: 332 + m_Y: 262 + m_Width: 9 + m_Height: 69 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 80 + m_Metrics: + m_Width: 68.6875 + m_Height: 49.046875 + m_HorizontalBearingX: 7.734375 + m_HorizontalBearingY: 49.046875 + m_HorizontalAdvance: 83.71875 + m_GlyphRect: + m_X: 217 + m_Y: 178 + m_Width: 70 + m_Height: 50 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 81 + m_Metrics: + m_Width: 40.25 + m_Height: 49.046875 + m_HorizontalBearingX: 7.734375 + m_HorizontalBearingY: 49.046875 + m_HorizontalAdvance: 55.234375 + m_GlyphRect: + m_X: 10 + m_Y: 198 + m_Width: 41 + m_Height: 50 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 82 + m_Metrics: + m_Width: 44.265625 + m_Height: 49.921875 + m_HorizontalBearingX: 5.046875 + m_HorizontalBearingY: 49.046875 + m_HorizontalAdvance: 54.359375 + m_GlyphRect: + m_X: 10 + m_Y: 128 + m_Width: 45 + m_Height: 51 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 83 + m_Metrics: + m_Width: 42.40625 + m_Height: 70.671875 + m_HorizontalBearingX: 7.734375 + m_HorizontalBearingY: 49.046875 + m_HorizontalAdvance: 55.15625 + m_GlyphRect: + m_X: 567 + m_Y: 78 + m_Width: 44 + m_Height: 72 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 85 + m_Metrics: + m_Width: 27.734375 + m_Height: 49.046875 + m_HorizontalBearingX: 7.734375 + m_HorizontalBearingY: 49.046875 + m_HorizontalAdvance: 36.734375 + m_GlyphRect: + m_X: 394 + m_Y: 166 + m_Width: 29 + m_Height: 50 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 86 + m_Metrics: + m_Width: 34.140625 + m_Height: 49.921875 + m_HorizontalBearingX: 4.65625 + m_HorizontalBearingY: 49.046875 + m_HorizontalAdvance: 42.9375 + m_GlyphRect: + m_X: 180 + m_Y: 426 + m_Width: 35 + m_Height: 51 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 87 + m_Metrics: + m_Width: 28.53125 + m_Height: 60.203125 + m_HorizontalBearingX: 1.359375 + m_HorizontalBearingY: 59.328125 + m_HorizontalAdvance: 31.765625 + m_GlyphRect: + m_X: 70 + m_Y: 198 + m_Width: 29 + m_Height: 61 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 88 + m_Metrics: + m_Width: 40.296875 + m_Height: 49.046875 + m_HorizontalBearingX: 7.203125 + m_HorizontalBearingY: 48.171875 + m_HorizontalAdvance: 55.234375 + m_GlyphRect: + m_X: 491 + m_Y: 163 + m_Width: 41 + m_Height: 50 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 89 + m_Metrics: + m_Width: 45.09375 + m_Height: 48.171875 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 48.171875 + m_HorizontalAdvance: 45.09375 + m_GlyphRect: + m_X: 567 + m_Y: 10 + m_Width: 46 + m_Height: 49 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 528 + m_Metrics: + m_Width: 57.203125 + m_Height: 11.921875 + m_HorizontalBearingX: 6.6875 + m_HorizontalBearingY: 10.640625 + m_HorizontalAdvance: 70.578125 + m_GlyphRect: + m_X: 10 + m_Y: 10 + m_Width: 58 + m_Height: 13 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 918 + m_Metrics: + m_Width: 7.46875 + m_Height: 64.25 + m_HorizontalBearingX: 8.828125 + m_HorizontalBearingY: 64.25 + m_HorizontalAdvance: 25.09375 + m_GlyphRect: + m_X: 176 + m_Y: 180 + m_Width: 9 + m_Height: 65 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + m_CharacterTable: + - m_ElementType: 1 + m_Unicode: 32 + m_GlyphIndex: 3 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 43 + m_GlyphIndex: 14 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 45 + m_GlyphIndex: 16 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 47 + m_GlyphIndex: 18 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 48 + m_GlyphIndex: 19 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 49 + m_GlyphIndex: 20 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 50 + m_GlyphIndex: 21 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 51 + m_GlyphIndex: 22 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 52 + m_GlyphIndex: 23 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 53 + m_GlyphIndex: 24 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 54 + m_GlyphIndex: 25 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 55 + m_GlyphIndex: 26 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 58 + m_GlyphIndex: 29 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 65 + m_GlyphIndex: 36 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 66 + m_GlyphIndex: 37 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 67 + m_GlyphIndex: 38 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 68 + m_GlyphIndex: 39 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 69 + m_GlyphIndex: 40 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 70 + m_GlyphIndex: 41 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 72 + m_GlyphIndex: 43 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 73 + m_GlyphIndex: 918 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 74 + m_GlyphIndex: 45 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 76 + m_GlyphIndex: 47 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 77 + m_GlyphIndex: 48 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 78 + m_GlyphIndex: 49 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 79 + m_GlyphIndex: 50 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 80 + m_GlyphIndex: 51 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 82 + m_GlyphIndex: 53 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 83 + m_GlyphIndex: 54 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 84 + m_GlyphIndex: 55 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 85 + m_GlyphIndex: 56 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 86 + m_GlyphIndex: 57 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 87 + m_GlyphIndex: 58 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 88 + m_GlyphIndex: 59 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 89 + m_GlyphIndex: 60 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 90 + m_GlyphIndex: 61 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 91 + m_GlyphIndex: 62 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 93 + m_GlyphIndex: 64 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 95 + m_GlyphIndex: 66 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 97 + m_GlyphIndex: 68 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 99 + m_GlyphIndex: 70 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 100 + m_GlyphIndex: 71 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 101 + m_GlyphIndex: 72 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 102 + m_GlyphIndex: 73 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 103 + m_GlyphIndex: 74 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 105 + m_GlyphIndex: 76 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 107 + m_GlyphIndex: 78 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 108 + m_GlyphIndex: 79 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 109 + m_GlyphIndex: 80 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 110 + m_GlyphIndex: 81 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 111 + m_GlyphIndex: 82 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 112 + m_GlyphIndex: 83 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 114 + m_GlyphIndex: 85 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 115 + m_GlyphIndex: 86 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 116 + m_GlyphIndex: 87 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 117 + m_GlyphIndex: 88 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 118 + m_GlyphIndex: 89 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 8230 + m_GlyphIndex: 528 + m_Scale: 1 + m_AtlasTextures: + - {fileID: -5213088529714667522} + m_AtlasTextureIndex: 0 + m_IsMultiAtlasTexturesEnabled: 0 + m_ClearDynamicDataOnBuild: 0 + m_UsedGlyphRects: + - m_X: 0 + m_Y: 0 + m_Width: 77 + m_Height: 32 + - m_X: 77 + m_Y: 0 + m_Width: 61 + m_Height: 25 + - m_X: 138 + m_Y: 0 + m_Width: 69 + m_Height: 86 + - m_X: 0 + m_Y: 32 + m_Width: 79 + m_Height: 86 + - m_X: 207 + m_Y: 0 + m_Width: 71 + m_Height: 84 + - m_X: 278 + m_Y: 0 + m_Width: 68 + m_Height: 84 + - m_X: 346 + m_Y: 0 + m_Width: 66 + m_Height: 84 + - m_X: 79 + m_Y: 25 + m_Width: 56 + m_Height: 84 + - m_X: 412 + m_Y: 0 + m_Width: 61 + m_Height: 86 + - m_X: 207 + m_Y: 84 + m_Width: 101 + m_Height: 84 + - m_X: 308 + m_Y: 84 + m_Width: 76 + m_Height: 84 + - m_X: 135 + m_Y: 86 + m_Width: 72 + m_Height: 84 + - m_X: 79 + m_Y: 109 + m_Width: 31 + m_Height: 71 + - m_X: 473 + m_Y: 0 + m_Width: 84 + m_Height: 84 + - m_X: 0 + m_Y: 118 + m_Width: 64 + m_Height: 70 + - m_X: 557 + m_Y: 0 + m_Width: 65 + m_Height: 68 + - m_X: 622 + m_Y: 0 + m_Width: 60 + m_Height: 70 + - m_X: 557 + m_Y: 68 + m_Width: 63 + m_Height: 91 + - m_X: 473 + m_Y: 84 + m_Width: 58 + m_Height: 69 + - m_X: 384 + m_Y: 86 + m_Width: 54 + m_Height: 70 + - m_X: 438 + m_Y: 153 + m_Width: 43 + m_Height: 101 + - m_X: 481 + m_Y: 153 + m_Width: 60 + m_Height: 69 + - m_X: 207 + m_Y: 168 + m_Width: 89 + m_Height: 69 + - m_X: 110 + m_Y: 170 + m_Width: 56 + m_Height: 84 + - m_X: 166 + m_Y: 170 + m_Width: 28 + m_Height: 84 + - m_X: 0 + m_Y: 188 + m_Width: 60 + m_Height: 69 + - m_X: 60 + m_Y: 188 + m_Width: 48 + m_Height: 80 + - m_X: 384 + m_Y: 156 + m_Width: 48 + m_Height: 69 + - m_X: 0 + m_Y: 257 + m_Width: 52 + m_Height: 84 + - m_X: 296 + m_Y: 168 + m_Width: 61 + m_Height: 84 + - m_X: 357 + m_Y: 225 + m_Width: 28 + m_Height: 86 + - m_X: 194 + m_Y: 237 + m_Width: 59 + m_Height: 88 + - m_X: 108 + m_Y: 254 + m_Width: 69 + m_Height: 85 + - m_X: 253 + m_Y: 252 + m_Width: 69 + m_Height: 84 + - m_X: 177 + m_Y: 325 + m_Width: 66 + m_Height: 91 + - m_X: 322 + m_Y: 252 + m_Width: 28 + m_Height: 88 + - m_X: 52 + m_Y: 268 + m_Width: 56 + m_Height: 84 + - m_X: 0 + m_Y: 341 + m_Width: 43 + m_Height: 84 + - m_X: 108 + m_Y: 339 + m_Width: 62 + m_Height: 85 + - m_X: 43 + m_Y: 352 + m_Width: 62 + m_Height: 86 + - m_X: 243 + m_Y: 336 + m_Width: 68 + m_Height: 84 + - m_X: 170 + m_Y: 416 + m_Width: 54 + m_Height: 70 + - m_X: 105 + m_Y: 424 + m_Width: 61 + m_Height: 85 + - m_X: 0 + m_Y: 438 + m_Width: 62 + m_Height: 86 + - m_X: 682 + m_Y: 0 + m_Width: 62 + m_Height: 89 + - m_X: 620 + m_Y: 70 + m_Width: 62 + m_Height: 84 + - m_X: 744 + m_Y: 0 + m_Width: 70 + m_Height: 84 + - m_X: 814 + m_Y: 0 + m_Width: 71 + m_Height: 84 + - m_X: 885 + m_Y: 0 + m_Width: 64 + m_Height: 84 + - m_X: 62 + m_Y: 438 + m_Width: 42 + m_Height: 27 + - m_X: 949 + m_Y: 0 + m_Width: 62 + m_Height: 64 + - m_X: 949 + m_Y: 64 + m_Width: 73 + m_Height: 84 + - m_X: 744 + m_Y: 84 + m_Width: 65 + m_Height: 84 + - m_X: 385 + m_Y: 225 + m_Width: 53 + m_Height: 88 + - m_X: 682 + m_Y: 89 + m_Width: 62 + m_Height: 86 + - m_X: 62 + m_Y: 465 + m_Width: 40 + m_Height: 99 + - m_X: 0 + m_Y: 524 + m_Width: 40 + m_Height: 99 + m_FreeGlyphRects: + - m_X: 77 + m_Y: 25 + m_Width: 2 + m_Height: 7 + - m_X: 135 + m_Y: 25 + m_Width: 3 + m_Height: 61 + - m_X: 384 + m_Y: 84 + m_Width: 28 + m_Height: 2 + - m_X: 438 + m_Y: 86 + m_Width: 35 + m_Height: 67 + - m_X: 531 + m_Y: 84 + m_Width: 26 + m_Height: 69 + - m_X: 541 + m_Y: 84 + m_Width: 16 + m_Height: 939 + - m_X: 481 + m_Y: 222 + m_Width: 542 + m_Height: 801 + - m_X: 110 + m_Y: 109 + m_Width: 25 + m_Height: 61 + - m_X: 64 + m_Y: 118 + m_Width: 15 + m_Height: 70 + - m_X: 64 + m_Y: 180 + m_Width: 46 + m_Height: 8 + - m_X: 357 + m_Y: 168 + m_Width: 27 + m_Height: 57 + - m_X: 194 + m_Y: 170 + m_Width: 13 + m_Height: 67 + - m_X: 108 + m_Y: 180 + m_Width: 2 + m_Height: 74 + - m_X: 253 + m_Y: 237 + m_Width: 43 + m_Height: 15 + - m_X: 177 + m_Y: 254 + m_Width: 17 + m_Height: 71 + - m_X: 350 + m_Y: 252 + m_Width: 7 + m_Height: 771 + - m_X: 52 + m_Y: 257 + m_Width: 8 + m_Height: 11 + - m_X: 43 + m_Y: 341 + m_Width: 9 + m_Height: 11 + - m_X: 243 + m_Y: 325 + m_Width: 10 + m_Height: 11 + - m_X: 311 + m_Y: 340 + m_Width: 712 + m_Height: 683 + - m_X: 311 + m_Y: 336 + m_Width: 11 + m_Height: 687 + - m_X: 170 + m_Y: 339 + m_Width: 7 + m_Height: 77 + - m_X: 224 + m_Y: 420 + m_Width: 799 + m_Height: 603 + - m_X: 224 + m_Y: 416 + m_Width: 19 + m_Height: 607 + - m_X: 105 + m_Y: 352 + m_Width: 3 + m_Height: 72 + - m_X: 166 + m_Y: 486 + m_Width: 857 + m_Height: 537 + - m_X: 166 + m_Y: 424 + m_Width: 4 + m_Height: 599 + - m_X: 0 + m_Y: 425 + m_Width: 43 + m_Height: 13 + - m_X: 620 + m_Y: 68 + m_Width: 2 + m_Height: 2 + - m_X: 104 + m_Y: 438 + m_Width: 1 + m_Height: 585 + - m_X: 1011 + m_Y: 0 + m_Width: 12 + m_Height: 64 + - m_X: 1022 + m_Y: 0 + m_Width: 1 + m_Height: 1023 + - m_X: 809 + m_Y: 148 + m_Width: 214 + m_Height: 875 + - m_X: 809 + m_Y: 84 + m_Width: 140 + m_Height: 939 + - m_X: 432 + m_Y: 156 + m_Width: 6 + m_Height: 69 + - m_X: 438 + m_Y: 254 + m_Width: 585 + m_Height: 769 + - m_X: 350 + m_Y: 313 + m_Width: 673 + m_Height: 710 + - m_X: 350 + m_Y: 311 + m_Width: 35 + m_Height: 712 + - m_X: 541 + m_Y: 175 + m_Width: 482 + m_Height: 848 + - m_X: 744 + m_Y: 168 + m_Width: 279 + m_Height: 855 + - m_X: 541 + m_Y: 159 + m_Width: 141 + m_Height: 864 + - m_X: 620 + m_Y: 154 + m_Width: 62 + m_Height: 869 + - m_X: 102 + m_Y: 509 + m_Width: 921 + m_Height: 514 + - m_X: 102 + m_Y: 465 + m_Width: 3 + m_Height: 558 + - m_X: 0 + m_Y: 623 + m_Width: 1023 + m_Height: 400 + - m_X: 40 + m_Y: 564 + m_Width: 983 + m_Height: 459 + - m_X: 40 + m_Y: 524 + m_Width: 22 + m_Height: 499 + m_fontInfo: + Name: + PointSize: 0 + Scale: 0 + CharacterCount: 0 + LineHeight: 0 + Baseline: 0 + Ascender: 0 + CapHeight: 0 + Descender: 0 + CenterLine: 0 + SuperscriptOffset: 0 + SubscriptOffset: 0 + SubSize: 0 + Underline: 0 + UnderlineThickness: 0 + strikethrough: 0 + strikethroughThickness: 0 + TabWidth: 0 + Padding: 0 + AtlasWidth: 0 + AtlasHeight: 0 + atlas: {fileID: 0} + m_AtlasWidth: 1024 + m_AtlasHeight: 1024 + m_AtlasPadding: 9 + m_AtlasRenderMode: 4165 + m_glyphInfoList: [] + m_KerningTable: + kerningPairs: [] + m_FontFeatureTable: + m_GlyphPairAdjustmentRecords: + - m_FirstAdjustmentRecord: + m_GlyphIndex: 16 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.609375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 38 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 11.6875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 45 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.28125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.609375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.609375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.40625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 37 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 37 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -2.6875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 37 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 37 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 37 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 59 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 37 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 37 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 61 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 38 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 38 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 38 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -2.6875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 59 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 61 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 40 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 5.40625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 45 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 41 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 47 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 38 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 47 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 47 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 47 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 56 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 47 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 47 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 47 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -2.6875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -2.6875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 59 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 61 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 51 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.484375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 51 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 59 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 51 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 61 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.609375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 16 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.28125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 38 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.203125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 68 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.28125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 70 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.28125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 71 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.28125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 72 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.28125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 74 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.484375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 80 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.484375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 81 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -6.28125 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 82 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.484375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 83 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.484375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.40625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 86 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.484375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 88 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 55 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 89 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 56 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.609375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 38 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 68 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 70 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 71 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 72 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 74 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 80 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 81 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 82 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 83 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 86 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 57 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 88 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.609375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 38 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 68 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 70 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 71 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 72 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 74 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 80 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 81 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 82 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 83 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 86 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 58 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 88 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 59 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 38 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 59 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.40625 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 36 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 38 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.484375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 68 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.484375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 70 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.484375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 71 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.484375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 72 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 74 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -2.6875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 80 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -2.6875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 81 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -4.484375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 82 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -2.6875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 83 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -2.6875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.609375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 86 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 60 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -2.6875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 88 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 61 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 38 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 61 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 50 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 62 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 8.09375 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 45 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 72 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 89 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 78 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 70 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 78 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 71 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 78 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 72 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 78 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 82 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 82 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 89 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 83 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 89 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 68 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 70 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 71 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 72 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -0.875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 74 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 85 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.796875 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 82 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 0 + fallbackFontAssets: [] + m_FallbackFontAssetTable: [] + m_CreationSettings: + sourceFontFileName: + sourceFontFileGUID: 5dfd9f912568dd149a87a39b8befa8da + pointSizeSamplingMode: 0 + pointSize: 90 + padding: 9 + packingMode: 0 + atlasWidth: 1024 + atlasHeight: 1024 + characterSetSelectionMode: 7 + characterSequence: + referencedFontAssetGUID: + referencedTextAssetGUID: + fontStyle: 0 + fontStyleModifier: 0 + renderMode: 4165 + includeFontFeatures: 0 + m_FontWeightTable: + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + - regularTypeface: {fileID: 0} + italicTypeface: {fileID: 0} + fontWeights: [] + normalStyle: 0 + normalSpacingOffset: 0 + boldStyle: 0.75 + boldSpacing: 7 + italicStyle: 35 + tabSize: 10 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Regular SDF.asset.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Regular SDF.asset.meta new file mode 100644 index 000000000..9cd0baa0b --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Regular SDF.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: cc3844638b1362867bf8cac6146a53ec +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Regular + SDF.asset + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Regular.ttf.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Regular.ttf.meta index 50f255380..b2cb6118b 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Regular.ttf.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Regular.ttf.meta @@ -26,6 +26,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Fonts/OpenSans-Regular.ttf - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Fonts/OpenSans-Regular.ttf + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUD Navigation Canvas.prefab b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUD Navigation Canvas.prefab index 78e40b8cd..797e5271f 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUD Navigation Canvas.prefab +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUD Navigation Canvas.prefab @@ -1,22 +1,12 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 1172632575032340} - m_IsPrefabParent: 1 --- !u!1 &1026287889738262 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224446553714101956} m_Layer: 5 @@ -26,12 +16,33 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224446553714101956 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1026287889738262} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224875834951319346} + m_Father: {fileID: 224869677321073616} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1026857520983924 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224541907654822726} m_Layer: 5 @@ -41,12 +52,33 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224541907654822726 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1026857520983924} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224739794186761004} + m_Father: {fileID: 224869677321073616} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -15, y: 15} + m_SizeDelta: {x: 180, y: 180} + m_Pivot: {x: 1, y: 0} --- !u!1 &1080422648510842 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224915738334429896} m_Layer: 5 @@ -56,12 +88,36 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224915738334429896 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1080422648510842} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224653063805909128} + - {fileID: 4527139924259189926} + - {fileID: 3096186757819308455} + - {fileID: 3713628762084713239} + m_Father: {fileID: 224204654358280402} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1094150248627938 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224181157159074652} - component: {fileID: 222307365890810248} @@ -73,18 +129,73 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224181157159074652 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1094150248627938} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224361184406027978} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 720, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222307365890810248 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1094150248627938} + m_CullTransparentMesh: 1 +--- !u!114 &114925672327079108 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1094150248627938} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 2800000, guid: 1d29c4bad336ec54095151d15748b2cc, type: 3} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 --- !u!1 &1116057275308016 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224969629468702372} - component: {fileID: 222184525191795300} - - component: {fileID: 114846219501546086} - - component: {fileID: 114518647063095216} + - component: {fileID: 4399525032720222115} - component: {fileID: 114638191417145888} + - component: {fileID: 103980629055976045} m_Layer: 5 m_Name: Degrees Text m_TagString: Untagged @@ -92,12 +203,154 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224969629468702372 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1116057275308016} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2669135240966150682} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &222184525191795300 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1116057275308016} + m_CullTransparentMesh: 1 +--- !u!114 &4399525032720222115 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1116057275308016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5ecc4b41a1574f739f1ddc6af9d0b0fe, type: 3} + m_Name: + m_EditorClassIdentifier: + _textComponent: {fileID: 103980629055976045} +--- !u!114 &114638191417145888 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1116057275308016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6a0150687d1bc8340b2b8c12dd74deec, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &103980629055976045 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1116057275308016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 123 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_sharedMaterial: {fileID: -349563783649582222, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4279505940 + m_fontColor: {r: 0.078431375, g: 0.078431375, b: 0.078431375, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 8 + m_fontSizeBase: 8 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 7 + m_fontSizeMax: 8 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &1125685532396072 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224126504601674994} m_Layer: 5 @@ -107,18 +360,37 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224126504601674994 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1125685532396072} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224821425458680768} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1161277623986372 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224653063805909128} - component: {fileID: 222423073614574772} - - component: {fileID: 114959178637528828} - - component: {fileID: 114576136140098726} - component: {fileID: 114197251210946280} + - component: {fileID: 5876395299209420645} m_Layer: 5 m_Name: N m_TagString: Untagged @@ -126,12 +398,141 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224653063805909128 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161277623986372} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224915738334429896} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 75} + m_SizeDelta: {x: 30, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222423073614574772 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161277623986372} + m_CullTransparentMesh: 1 +--- !u!114 &114197251210946280 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161277623986372} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9fadd8a3a91873c4fa06408454ce535b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &5876395299209420645 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161277623986372} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: N + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_sharedMaterial: {fileID: -349563783649582222, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 20 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &1172632575032340 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224869677321073616} - component: {fileID: 223720822928692868} @@ -145,375 +546,62 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1214844888318672 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224739794186761004} - m_Layer: 5 - m_Name: Minimap - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1233837181313200 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224821425458680768} - - component: {fileID: 222526577903241854} - - component: {fileID: 114394724149965162} - - component: {fileID: 114876578135238068} - m_Layer: 5 - m_Name: Minimap Mask - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1263325917527258 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224927719160481036} - - component: {fileID: 222542682324676334} - - component: {fileID: 114996826064109240} - - component: {fileID: 114271472870288928} - - component: {fileID: 114891418278014112} - m_Layer: 5 - m_Name: S - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1274881830098818 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224542489318507790} - - component: {fileID: 222065873051365988} - - component: {fileID: 114016106043242042} - - component: {fileID: 114107316596667976} - m_Layer: 5 - m_Name: PlayerIndicator - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1349500483240396 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224650824139513444} - m_Layer: 5 - m_Name: ElementContainer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1379097294638678 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224733243328911560} - - component: {fileID: 222648657155096424} - - component: {fileID: 114668541748019546} - - component: {fileID: 114332275777327656} - - component: {fileID: 114889890863494930} - m_Layer: 5 - m_Name: E - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1424140091183574 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224866654347732556} - - component: {fileID: 222965998436594414} - - component: {fileID: 114520247998490710} - - component: {fileID: 114264536458200630} - - component: {fileID: 114797584801717448} - m_Layer: 5 - m_Name: W - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1486902778732982 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224592319998502660} - - component: {fileID: 222183078700729402} - - component: {fileID: 114439899953452364} - - component: {fileID: 114124639816556496} - m_Layer: 5 - m_Name: PlayerIndicator - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1555493875070634 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224875834951319346} - m_Layer: 5 - m_Name: ElementContainer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1573175686494212 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224361184406027978} - - component: {fileID: 222890201752526834} - - component: {fileID: 114456494067207994} - - component: {fileID: 114389952224613218} - m_Layer: 5 - m_Name: Compass Bar Mask - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1732376890711450 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224330748563683020} - m_Layer: 5 - m_Name: Element Container - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1782480379004756 -GameObject: +--- !u!224 &224869677321073616 +RectTransform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224783364505344928} - m_Layer: 5 - m_Name: Compass Bar Panel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1797012653604416 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224204654358280402} - - component: {fileID: 222655696509906246} - - component: {fileID: 114677819967182746} - m_Layer: 5 - m_Name: Radar - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1807306712056386 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224304784151329030} - - component: {fileID: 222614545502472568} - - component: {fileID: 114913090309954888} - m_Layer: 5 - m_Name: Minimap Design - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1837124348523414 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224454889229008882} - - component: {fileID: 222158193102934584} - - component: {fileID: 114678217515776276} - - component: {fileID: 114376772079277720} - m_Layer: 5 - m_Name: Arrow - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1870338841497742 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224570661217584568} - m_Layer: 5 - m_Name: ElementContainer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1905937978878038 -GameObject: + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1172632575032340} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224446553714101956} + - {fileID: 224783364505344928} + - {fileID: 224236267394613724} + - {fileID: 224541907654822726} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!223 &223720822928692868 +Canvas: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224236267394613724} - m_Layer: 5 - m_Name: Radar Panel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1928833737707516 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224725425921017504} - - component: {fileID: 222140146949131354} - - component: {fileID: 114666669601778852} - m_Layer: 5 - m_Name: Compass Bar Design - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!114 &114016106043242042 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1274881830098818} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: ed3549c3fc383d84b94106c698ab2e35, type: 3} - m_Type: 0 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114084661275339154 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1172632575032340} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &114107316596667976 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1274881830098818} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 0.78431374} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 25 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 --- !u!114 &114116620564856170 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1172632575032340} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} m_Name: m_EditorClassIdentifier: m_UiScaleMode: 1 @@ -526,185 +614,30 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 ---- !u!114 &114124639816556496 + m_PresetInfoIsWorld: 0 +--- !u!114 &114084661275339154 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1486902778732982} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1172632575032340} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} m_Name: m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 0.78431374} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &114197251210946280 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1161277623986372} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9fadd8a3a91873c4fa06408454ce535b, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &114264536458200630 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1424140091183574} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 0.78431374} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &114271472870288928 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1263325917527258} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 0.78431374} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &114332275777327656 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1379097294638678} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 0.78431374} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &114376772079277720 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1837124348523414} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 0.628} - m_EffectDistance: {x: 0.5, y: -0.5} - m_UseGraphicAlpha: 1 ---- !u!114 &114389952224613218 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1573175686494212} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1200242548, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ShowMaskGraphic: 0 ---- !u!114 &114394724149965162 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1233837181313200} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.09019608, g: 0.09019608, b: 0.09019608, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114439899953452364 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1486902778732982} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: ed3549c3fc383d84b94106c698ab2e35, type: 3} - m_Type: 0 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114456494067207994 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1573175686494212} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 0, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 --- !u!114 &114500138376114962 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1172632575032340} m_Enabled: 1 m_EditorHideFlags: 0 @@ -729,98 +662,202 @@ MonoBehaviour: MapContainer: {fileID: 224126504601674994} PlayerIndicator: {fileID: 224542489318507790} ElementContainer: {fileID: 224650824139513444} ---- !u!114 &114518647063095216 + _isEnabled: 1 +--- !u!1 &1214844888318672 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224739794186761004} + m_Layer: 5 + m_Name: Minimap + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224739794186761004 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1214844888318672} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224304784151329030} + - {fileID: 224821425458680768} + - {fileID: 224650824139513444} + - {fileID: 224542489318507790} + m_Father: {fileID: 224541907654822726} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1233837181313200 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224821425458680768} + - component: {fileID: 222526577903241854} + - component: {fileID: 114394724149965162} + - component: {fileID: 114876578135238068} + m_Layer: 5 + m_Name: Minimap Mask + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224821425458680768 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1233837181313200} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224126504601674994} + m_Father: {fileID: 224739794186761004} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222526577903241854 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1233837181313200} + m_CullTransparentMesh: 1 +--- !u!114 &114394724149965162 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1116057275308016} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1233837181313200} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 0.628} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &114520247998490710 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1424140091183574} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Color: {r: 0.09019608, g: 0.09019608, b: 0.09019608, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 12800000, guid: 6ebf2a689a7843348a97bb68140c32a8, type: 3} - m_FontSize: 20 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 1 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 1 - m_VerticalOverflow: 1 - m_LineSpacing: 1 - m_Text: W ---- !u!114 &114576136140098726 + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &114876578135238068 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1161277623986372} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1233837181313200} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} m_Name: m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 0.78431374} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &114638191417145888 + m_ShowMaskGraphic: 1 +--- !u!1 &1274881830098818 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224542489318507790} + - component: {fileID: 222065873051365988} + - component: {fileID: 114016106043242042} + m_Layer: 5 + m_Name: PlayerIndicator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224542489318507790 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1274881830098818} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224739794186761004} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 12, y: 12} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222065873051365988 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1274881830098818} + m_CullTransparentMesh: 1 +--- !u!114 &114016106043242042 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1116057275308016} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1274881830098818} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6a0150687d1bc8340b2b8c12dd74deec, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &114666669601778852 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1928833737707516} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Color: {r: 1, g: 1, b: 0, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 702fb605a511bb74ebf3e782e85bd723, type: 3} + m_Sprite: {fileID: 21300000, guid: ed3549c3fc383d84b94106c698ab2e35, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -828,58 +865,385 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &114668541748019546 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1349500483240396 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224650824139513444} + m_Layer: 5 + m_Name: ElementContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224650824139513444 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1349500483240396} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224739794186761004} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1486902778732982 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224592319998502660} + - component: {fileID: 222183078700729402} + - component: {fileID: 114439899953452364} + m_Layer: 5 + m_Name: PlayerIndicator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224592319998502660 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1486902778732982} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224204654358280402} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 12, y: 12} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222183078700729402 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1486902778732982} + m_CullTransparentMesh: 1 +--- !u!114 &114439899953452364 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1379097294638678} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1486902778732982} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Color: {r: 1, g: 1, b: 0, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 12800000, guid: 6ebf2a689a7843348a97bb68140c32a8, type: 3} - m_FontSize: 20 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 1 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 1 - m_VerticalOverflow: 1 - m_LineSpacing: 1 - m_Text: E + m_Sprite: {fileID: 21300000, guid: ed3549c3fc383d84b94106c698ab2e35, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1555493875070634 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224875834951319346} + m_Layer: 5 + m_Name: ElementContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224875834951319346 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1555493875070634} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224446553714101956} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1573175686494212 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224361184406027978} + - component: {fileID: 222890201752526834} + - component: {fileID: 114456494067207994} + - component: {fileID: 114389952224613218} + m_Layer: 5 + m_Name: Compass Bar Mask + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224361184406027978 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1573175686494212} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2669135240966150682} + - {fileID: 224181157159074652} + - {fileID: 224330748563683020} + m_Father: {fileID: 224783364505344928} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222890201752526834 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1573175686494212} + m_CullTransparentMesh: 1 +--- !u!114 &114456494067207994 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1573175686494212} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &114389952224613218 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1573175686494212} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!1 &1732376890711450 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224330748563683020} + m_Layer: 5 + m_Name: Element Container + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224330748563683020 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1732376890711450} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224361184406027978} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1782480379004756 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224783364505344928} + m_Layer: 5 + m_Name: Compass Bar Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224783364505344928 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1782480379004756} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224725425921017504} + - {fileID: 224361184406027978} + m_Father: {fileID: 224869677321073616} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 500, y: 60} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &1797012653604416 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224204654358280402} + - component: {fileID: 222655696509906246} + - component: {fileID: 114677819967182746} + m_Layer: 5 + m_Name: Radar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224204654358280402 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1797012653604416} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224570661217584568} + - {fileID: 224592319998502660} + - {fileID: 224915738334429896} + m_Father: {fileID: 224236267394613724} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222655696509906246 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1797012653604416} + m_CullTransparentMesh: 1 --- !u!114 &114677819967182746 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1797012653604416} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 0.7254902} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_Sprite: {fileID: 21300000, guid: 3210b1105740bca47b9974e958ee8cc3, type: 3} m_Type: 0 m_PreserveAspect: 1 @@ -888,130 +1252,73 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &114678217515776276 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1837124348523414} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: c95062126ad471545960ea53144e9b5b, type: 3} - m_Type: 0 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114797584801717448 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1424140091183574} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9fadd8a3a91873c4fa06408454ce535b, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &114846219501546086 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1116057275308016} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 12800000, guid: 6ebf2a689a7843348a97bb68140c32a8, type: 3} - m_FontSize: 6 - m_FontStyle: 0 - m_BestFit: 1 - m_MinSize: 4 - m_MaxSize: 7 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 0 ---- !u!114 &114876578135238068 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1233837181313200} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1200242548, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ShowMaskGraphic: 1 ---- !u!114 &114889890863494930 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1379097294638678} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9fadd8a3a91873c4fa06408454ce535b, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &114891418278014112 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1263325917527258} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9fadd8a3a91873c4fa06408454ce535b, type: 3} - m_Name: - m_EditorClassIdentifier: + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1807306712056386 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224304784151329030} + - component: {fileID: 222614545502472568} + - component: {fileID: 114913090309954888} + m_Layer: 5 + m_Name: Minimap Design + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224304784151329030 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1807306712056386} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224739794186761004} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 4, y: 4} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222614545502472568 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1807306712056386} + m_CullTransparentMesh: 1 --- !u!114 &114913090309954888 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1807306712056386} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 0.116} + m_Color: {r: 1, g: 1, b: 1, a: 0.11764706} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_Sprite: {fileID: 21300000, guid: 79a4e1a844ab24946966d98cbf4a2e23, type: 3} m_Type: 0 m_PreserveAspect: 0 @@ -1020,692 +1327,744 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &114925672327079108 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1094150248627938} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -98529514, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Texture: {fileID: 2800000, guid: 1d29c4bad336ec54095151d15748b2cc, type: 3} - m_UVRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 ---- !u!114 &114959178637528828 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1161277623986372} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 12800000, guid: 6ebf2a689a7843348a97bb68140c32a8, type: 3} - m_FontSize: 20 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 1 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 1 - m_VerticalOverflow: 1 - m_LineSpacing: 1 - m_Text: N ---- !u!114 &114996826064109240 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1263325917527258} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 12800000, guid: 6ebf2a689a7843348a97bb68140c32a8, type: 3} - m_FontSize: 20 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 1 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 1 - m_VerticalOverflow: 1 - m_LineSpacing: 1 - m_Text: S ---- !u!222 &222065873051365988 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1274881830098818} ---- !u!222 &222140146949131354 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1928833737707516} ---- !u!222 &222158193102934584 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1837124348523414 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224454889229008882} + - component: {fileID: 222158193102934584} + - component: {fileID: 114678217515776276} + m_Layer: 5 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224454889229008882 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1837124348523414} ---- !u!222 &222183078700729402 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1486902778732982} ---- !u!222 &222184525191795300 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1116057275308016} ---- !u!222 &222307365890810248 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1094150248627938} ---- !u!222 &222423073614574772 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1161277623986372} ---- !u!222 &222526577903241854 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1233837181313200} ---- !u!222 &222542682324676334 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1263325917527258} ---- !u!222 &222614545502472568 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1807306712056386} ---- !u!222 &222648657155096424 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1379097294638678} ---- !u!222 &222655696509906246 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1797012653604416} ---- !u!222 &222890201752526834 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1573175686494212} ---- !u!222 &222965998436594414 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1424140091183574} ---- !u!223 &223720822928692868 -Canvas: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1172632575032340} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_AdditionalShaderChannelsFlag: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 ---- !u!224 &224126504601674994 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1125685532396072} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224821425458680768} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224181157159074652 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1094150248627938} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224361184406027978} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 720, y: 32} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224204654358280402 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1797012653604416} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224570661217584568} - - {fileID: 224592319998502660} - - {fileID: 224915738334429896} - m_Father: {fileID: 224236267394613724} - m_RootOrder: 0 + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2669135240966150682} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -10} + m_SizeDelta: {x: 6, y: 6} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &222158193102934584 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1837124348523414} + m_CullTransparentMesh: 1 +--- !u!114 &114678217515776276 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1837124348523414} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: c95062126ad471545960ea53144e9b5b, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1870338841497742 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224570661217584568} + m_Layer: 5 + m_Name: ElementContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224570661217584568 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1870338841497742} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224204654358280402} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1905937978878038 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224236267394613724} + m_Layer: 5 + m_Name: Radar Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!224 &224236267394613724 RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1905937978878038} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224204654358280402} m_Father: {fileID: 224869677321073616} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: -15, y: -15} m_SizeDelta: {x: 160, y: 160} m_Pivot: {x: 1, y: 1} ---- !u!224 &224304784151329030 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1807306712056386} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224739794186761004} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 4, y: 4} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224330748563683020 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1732376890711450} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224361184406027978} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224361184406027978 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1573175686494212} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224969629468702372} - - {fileID: 224181157159074652} - - {fileID: 224330748563683020} - - {fileID: 224454889229008882} - m_Father: {fileID: 224783364505344928} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224446553714101956 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1026287889738262} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224875834951319346} - m_Father: {fileID: 224869677321073616} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224454889229008882 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1837124348523414} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224361184406027978} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 1} - m_AnchorMax: {x: 0.5, y: 1} - m_AnchoredPosition: {x: 0, y: -12} - m_SizeDelta: {x: 6, y: 6} - m_Pivot: {x: 0.5, y: 1} ---- !u!224 &224541907654822726 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1026857520983924} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224739794186761004} - m_Father: {fileID: 224869677321073616} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0} - m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: -15, y: 15} - m_SizeDelta: {x: 180, y: 180} - m_Pivot: {x: 1, y: 0} ---- !u!224 &224542489318507790 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1274881830098818} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224739794186761004} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 12, y: 12} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224570661217584568 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1870338841497742} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224204654358280402} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224592319998502660 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1486902778732982} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224204654358280402} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 12, y: 12} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224650824139513444 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1349500483240396} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224739794186761004} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224653063805909128 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1161277623986372} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224915738334429896} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 75} - m_SizeDelta: {x: 30, y: 30} - m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1928833737707516 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224725425921017504} + - component: {fileID: 222140146949131354} + - component: {fileID: 114666669601778852} + m_Layer: 5 + m_Name: Compass Bar Design + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 --- !u!224 &224725425921017504 RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1928833737707516} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224783364505344928} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 606, y: 47.5} m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224733243328911560 +--- !u!222 &222140146949131354 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1928833737707516} + m_CullTransparentMesh: 1 +--- !u!114 &114666669601778852 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1928833737707516} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 702fb605a511bb74ebf3e782e85bd723, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1865007758095543203 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2669135240966150682} + - component: {fileID: 3458901851897820600} + - component: {fileID: 6732225215339428032} + m_Layer: 5 + m_Name: Degrees Box + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2669135240966150682 RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1379097294638678} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224915738334429896} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 75, y: 0} - m_SizeDelta: {x: 30, y: 30} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224739794186761004 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1214844888318672} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224304784151329030} - - {fileID: 224821425458680768} - - {fileID: 224650824139513444} - - {fileID: 224542489318507790} - m_Father: {fileID: 224541907654822726} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224783364505344928 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1782480379004756} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1865007758095543203} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 224725425921017504} - - {fileID: 224361184406027978} - m_Father: {fileID: 224869677321073616} - m_RootOrder: 1 + - {fileID: 224969629468702372} + - {fileID: 224454889229008882} + m_Father: {fileID: 224361184406027978} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 500, y: 60} + m_AnchoredPosition: {x: 0, y: -2} + m_SizeDelta: {x: 20, y: 11} m_Pivot: {x: 0.5, y: 1} ---- !u!224 &224821425458680768 +--- !u!222 &3458901851897820600 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1865007758095543203} + m_CullTransparentMesh: 1 +--- !u!114 &6732225215339428032 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1865007758095543203} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1985436511885970229 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4527139924259189926} + - component: {fileID: 1148846899704668291} + - component: {fileID: 4452634046178704393} + - component: {fileID: 7965107789200763583} + m_Layer: 5 + m_Name: S + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4527139924259189926 RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1233837181313200} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1985436511885970229} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224126504601674994} - m_Father: {fileID: 224739794186761004} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224866654347732556 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1424140091183574} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 224915738334429896} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -75, y: 0} - m_SizeDelta: {x: 30, y: 30} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224869677321073616 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1172632575032340} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 224446553714101956} - - {fileID: 224783364505344928} - - {fileID: 224236267394613724} - - {fileID: 224541907654822726} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!224 &224875834951319346 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1555493875070634} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224446553714101956} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224915738334429896 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1080422648510842} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224653063805909128} - - {fileID: 224927719160481036} - - {fileID: 224866654347732556} - - {fileID: 224733243328911560} - m_Father: {fileID: 224204654358280402} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224927719160481036 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1263325917527258} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224915738334429896} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: -75} m_SizeDelta: {x: 30, y: 30} m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224969629468702372 +--- !u!222 &1148846899704668291 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1985436511885970229} + m_CullTransparentMesh: 1 +--- !u!114 &4452634046178704393 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1985436511885970229} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9fadd8a3a91873c4fa06408454ce535b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &7965107789200763583 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1985436511885970229} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: S + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_sharedMaterial: {fileID: -349563783649582222, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 20 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6197499657483457000 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3096186757819308455} + - component: {fileID: 7765938445652462623} + - component: {fileID: 8368331581583998398} + - component: {fileID: 2944541514541774616} + m_Layer: 5 + m_Name: W + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3096186757819308455 RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1116057275308016} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6197499657483457000} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 224361184406027978} - m_RootOrder: 0 + m_Father: {fileID: 224915738334429896} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 1} - m_AnchorMax: {x: 0.5, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 30, y: 12} - m_Pivot: {x: 0.5, y: 1} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -75, y: 0} + m_SizeDelta: {x: 30, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7765938445652462623 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6197499657483457000} + m_CullTransparentMesh: 1 +--- !u!114 &8368331581583998398 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6197499657483457000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9fadd8a3a91873c4fa06408454ce535b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &2944541514541774616 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6197499657483457000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: W + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_sharedMaterial: {fileID: -349563783649582222, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 20 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6917696863837980049 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3713628762084713239} + - component: {fileID: 1376633594324655626} + - component: {fileID: 3443887380703119526} + - component: {fileID: 4637200854411285716} + m_Layer: 5 + m_Name: E + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3713628762084713239 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6917696863837980049} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224915738334429896} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 75, y: 0} + m_SizeDelta: {x: 30, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1376633594324655626 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6917696863837980049} + m_CullTransparentMesh: 1 +--- !u!114 &3443887380703119526 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6917696863837980049} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9fadd8a3a91873c4fa06408454ce535b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &4637200854411285716 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6917696863837980049} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: E + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_sharedMaterial: {fileID: -349563783649582222, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 20 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUD Navigation Canvas.prefab.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUD Navigation Canvas.prefab.meta index 7f7a3e414..bdec1d6c8 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUD Navigation Canvas.prefab.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUD Navigation Canvas.prefab.meta @@ -11,7 +11,7 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Prefabs/HUD Navigation + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUD Navigation Canvas.prefab - uploadId: 382610 + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/CompassBarPrefab_Default.prefab b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/CompassBarPrefab_Default.prefab index dad7c3edb..7937a902f 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/CompassBarPrefab_Default.prefab +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/CompassBarPrefab_Default.prefab @@ -1,27 +1,17 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 1507512721026946} - m_IsPrefabParent: 1 --- !u!1 &1013255863125308 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224118163955718334} - component: {fileID: 222114312644022866} - - component: {fileID: 114708722653238958} - - component: {fileID: 114735197217376570} + - component: {fileID: 8146021254710589942} + - component: {fileID: 5264962819809681359} m_Layer: 5 m_Name: Distance Text m_TagString: Untagged @@ -29,12 +19,142 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224118163955718334 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013255863125308} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224850286173334310} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: -12} + m_SizeDelta: {x: 50, y: 14} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &222114312644022866 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013255863125308} + m_CullTransparentMesh: 1 +--- !u!114 &8146021254710589942 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013255863125308} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5ecc4b41a1574f739f1ddc6af9d0b0fe, type: 3} + m_Name: + m_EditorClassIdentifier: + _textComponent: {fileID: 5264962819809681359} +--- !u!114 &5264962819809681359 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013255863125308} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 1234 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_sharedMaterial: {fileID: -349563783649582222, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 7 + m_fontSizeBase: 7 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &1093568185549164 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224209256470595980} - component: {fileID: 222002878565774002} @@ -46,12 +166,70 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224209256470595980 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1093568185549164} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224850286173334310} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222002878565774002 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1093568185549164} + m_CullTransparentMesh: 1 +--- !u!114 &114386854778244226 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1093568185549164} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.80689657, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 51bbcf8758719b34bbde5336488efec3, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &1507512721026946 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224850286173334310} - component: {fileID: 114875581833013858} @@ -62,85 +240,33 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &114386854778244226 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1093568185549164} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 0.80689657, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 51bbcf8758719b34bbde5336488efec3, type: 3} - m_Type: 0 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114708722653238958 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1013255863125308} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 12800000, guid: 6ebf2a689a7843348a97bb68140c32a8, type: 3} - m_FontSize: 7 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 0 - m_MaxSize: 40 - m_Alignment: 1 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 1234 ---- !u!114 &114735197217376570 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1013255863125308} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 +--- !u!224 &224850286173334310 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1507512721026946} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224209256470595980} + - {fileID: 224118163955718334} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &114875581833013858 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1507512721026946} m_Enabled: 1 m_EditorHideFlags: 0 @@ -149,73 +275,6 @@ MonoBehaviour: m_EditorClassIdentifier: CustomTransforms: [] PrefabRect: {fileID: 0} + PrefabCanvasGroup: {fileID: 0} Icon: {fileID: 114386854778244226} - DistanceText: {fileID: 114708722653238958} ---- !u!222 &222002878565774002 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1093568185549164} ---- !u!222 &222114312644022866 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1013255863125308} ---- !u!224 &224118163955718334 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1013255863125308} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224850286173334310} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0} - m_AnchorMax: {x: 0.5, y: 0} - m_AnchoredPosition: {x: 0, y: -12} - m_SizeDelta: {x: 50, y: 14} - m_Pivot: {x: 0.5, y: 0} ---- !u!224 &224209256470595980 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1093568185549164} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224850286173334310} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224850286173334310 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1507512721026946} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224209256470595980} - - {fileID: 224118163955718334} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 32, y: 32} - m_Pivot: {x: 0.5, y: 0.5} + DistanceText: {fileID: 8146021254710589942} diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/CompassBarPrefab_Default.prefab.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/CompassBarPrefab_Default.prefab.meta index cc79c9a53..3d9382664 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/CompassBarPrefab_Default.prefab.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/CompassBarPrefab_Default.prefab.meta @@ -12,6 +12,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/CompassBarPrefab_Default.prefab - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/CompassBarPrefab_Default.prefab + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/IndicatorPrefab_Default.prefab b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/IndicatorPrefab_Default.prefab index cad8507f4..6907c03b5 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/IndicatorPrefab_Default.prefab +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/IndicatorPrefab_Default.prefab @@ -1,22 +1,12 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 1964079307588546} - m_IsPrefabParent: 1 --- !u!1 &1001124507672958 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224351502661603824} m_Layer: 5 @@ -26,12 +16,33 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224351502661603824 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1001124507672958} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224925099391372114} + m_Father: {fileID: 224401391670222220} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 24, y: 24} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1121684268816122 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224728732023918860} - component: {fileID: 222310356818570712} @@ -43,12 +54,70 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224728732023918860 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1121684268816122} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224470117859348906} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222310356818570712 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1121684268816122} + m_CullTransparentMesh: 1 +--- !u!114 &114812316014883280 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1121684268816122} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.80689657, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 51bbcf8758719b34bbde5336488efec3, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &1131500754748840 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224470117859348906} m_Layer: 5 @@ -58,12 +127,34 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224470117859348906 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1131500754748840} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224728732023918860} + - {fileID: 224655869230005738} + m_Father: {fileID: 224424057372183896} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1347163311081814 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224153463775296966} - component: {fileID: 222566984952613370} @@ -75,12 +166,70 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224153463775296966 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1347163311081814} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224401391670222220} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222566984952613370 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1347163311081814} + m_CullTransparentMesh: 1 +--- !u!114 &114175470107171544 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1347163311081814} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.80689657, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 385346fc9bceaf44b9a3ee72e6758607, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &1420030324003440 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224925099391372114} - component: {fileID: 222812620472992836} @@ -92,17 +241,75 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224925099391372114 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1420030324003440} + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224351502661603824} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 15} + m_SizeDelta: {x: 8, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222812620472992836 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1420030324003440} + m_CullTransparentMesh: 1 +--- !u!114 &114892908853413626 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1420030324003440} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 188b06acb7f148b439c8606df247fa5d, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &1453703103844778 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224655869230005738} - component: {fileID: 222349084899785720} - - component: {fileID: 114984422360276844} - - component: {fileID: 114261865545941264} + - component: {fileID: 9000529022294661447} + - component: {fileID: 4877402001254115177} m_Layer: 5 m_Name: Onscreen Distance Text m_TagString: Untagged @@ -110,17 +317,147 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224655869230005738 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1453703103844778} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224470117859348906} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 20, y: 0} + m_SizeDelta: {x: 40, y: 16} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222349084899785720 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1453703103844778} + m_CullTransparentMesh: 1 +--- !u!114 &9000529022294661447 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1453703103844778} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5ecc4b41a1574f739f1ddc6af9d0b0fe, type: 3} + m_Name: + m_EditorClassIdentifier: + _textComponent: {fileID: 4877402001254115177} +--- !u!114 &4877402001254115177 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1453703103844778} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 1234m + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_sharedMaterial: {fileID: -349563783649582222, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 9 + m_fontSizeBase: 9 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &1586351377546916 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224781890183217580} - component: {fileID: 222891461832811412} - - component: {fileID: 114226044479921076} - - component: {fileID: 114449929884469018} + - component: {fileID: 6294877238999929788} + - component: {fileID: 5272596809766729828} m_Layer: 5 m_Name: Offscreen Distance Text m_TagString: Untagged @@ -128,12 +465,142 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224781890183217580 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1586351377546916} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224401391670222220} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 40, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222891461832811412 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1586351377546916} + m_CullTransparentMesh: 1 +--- !u!114 &6294877238999929788 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1586351377546916} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5ecc4b41a1574f739f1ddc6af9d0b0fe, type: 3} + m_Name: + m_EditorClassIdentifier: + _textComponent: {fileID: 5272596809766729828} +--- !u!114 &5272596809766729828 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1586351377546916} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 1234 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_sharedMaterial: {fileID: -349563783649582222, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 9 + m_fontSizeBase: 9 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 1 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &1806125258287250 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224401391670222220} m_Layer: 5 @@ -143,12 +610,35 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 0 +--- !u!224 &224401391670222220 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1806125258287250} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224351502661603824} + - {fileID: 224153463775296966} + - {fileID: 224781890183217580} + m_Father: {fileID: 224424057372183896} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1964079307588546 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224424057372183896} - component: {fileID: 114724236924444632} @@ -159,99 +649,33 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &114175470107171544 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1347163311081814} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 0.80689657, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 385346fc9bceaf44b9a3ee72e6758607, type: 3} - m_Type: 0 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114226044479921076 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1586351377546916} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 12800000, guid: 6ebf2a689a7843348a97bb68140c32a8, type: 3} - m_FontSize: 9 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 0 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 1234 ---- !u!114 &114261865545941264 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1453703103844778} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &114449929884469018 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1586351377546916} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -900027084, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 1, g: 0.80689657, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 +--- !u!224 &224424057372183896 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1964079307588546} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224470117859348906} + - {fileID: 224401391670222220} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &114724236924444632 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1964079307588546} m_Enabled: 1 m_EditorHideFlags: 0 @@ -260,297 +684,11 @@ MonoBehaviour: m_EditorClassIdentifier: CustomTransforms: [] PrefabRect: {fileID: 0} + PrefabCanvasGroup: {fileID: 0} OnscreenRect: {fileID: 224470117859348906} OnscreenIcon: {fileID: 114812316014883280} OffscreenRect: {fileID: 224401391670222220} OffscreenPointer: {fileID: 224351502661603824} OffscreenIcon: {fileID: 114175470107171544} - OnscreenDistanceText: {fileID: 114984422360276844} - OffscreenDistanceText: {fileID: 114226044479921076} ---- !u!114 &114812316014883280 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1121684268816122} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 0.80689657, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 51bbcf8758719b34bbde5336488efec3, type: 3} - m_Type: 0 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114892908853413626 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1420030324003440} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 188b06acb7f148b439c8606df247fa5d, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114984422360276844 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1453703103844778} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 12800000, guid: 6ebf2a689a7843348a97bb68140c32a8, type: 3} - m_FontSize: 9 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 0 - m_MaxSize: 40 - m_Alignment: 3 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 1234m ---- !u!222 &222310356818570712 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1121684268816122} ---- !u!222 &222349084899785720 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1453703103844778} ---- !u!222 &222566984952613370 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1347163311081814} ---- !u!222 &222812620472992836 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1420030324003440} ---- !u!222 &222891461832811412 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1586351377546916} ---- !u!224 &224153463775296966 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1347163311081814} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224401391670222220} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 16, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224351502661603824 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1001124507672958} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224925099391372114} - m_Father: {fileID: 224401391670222220} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 24, y: 24} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224401391670222220 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1806125258287250} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224351502661603824} - - {fileID: 224153463775296966} - - {fileID: 224781890183217580} - m_Father: {fileID: 224424057372183896} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 16, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224424057372183896 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1964079307588546} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224470117859348906} - - {fileID: 224401391670222220} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 16, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224470117859348906 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1131500754748840} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224728732023918860} - - {fileID: 224655869230005738} - m_Father: {fileID: 224424057372183896} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 16, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224655869230005738 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1453703103844778} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224470117859348906} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 0, y: 0.5} - m_AnchoredPosition: {x: 20, y: 0} - m_SizeDelta: {x: 40, y: 16} - m_Pivot: {x: 0, y: 0.5} ---- !u!224 &224728732023918860 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1121684268816122} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224470117859348906} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224781890183217580 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1586351377546916} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224401391670222220} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 40, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224925099391372114 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1420030324003440} - m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224351502661603824} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 15} - m_SizeDelta: {x: 8, y: 16} - m_Pivot: {x: 0.5, y: 0.5} + OnscreenDistanceText: {fileID: 9000529022294661447} + OffscreenDistanceText: {fileID: 6294877238999929788} diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/IndicatorPrefab_Default.prefab.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/IndicatorPrefab_Default.prefab.meta index 890d84242..4861e06d9 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/IndicatorPrefab_Default.prefab.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/IndicatorPrefab_Default.prefab.meta @@ -12,6 +12,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/IndicatorPrefab_Default.prefab - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/IndicatorPrefab_Default.prefab + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/MinimapPrefab_Default.prefab.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/MinimapPrefab_Default.prefab.meta index c1ec1e5a0..e331ae15e 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/MinimapPrefab_Default.prefab.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/MinimapPrefab_Default.prefab.meta @@ -12,6 +12,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/MinimapPrefab_Default.prefab - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/MinimapPrefab_Default.prefab + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/RadarPrefab_Default.prefab.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/RadarPrefab_Default.prefab.meta index 9dcc4cbf8..a34770c1a 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/RadarPrefab_Default.prefab.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/RadarPrefab_Default.prefab.meta @@ -12,6 +12,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/RadarPrefab_Default.prefab - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Prefabs/HUDPrefabs/RadarPrefab_Default.prefab + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/Icons/hns_icon.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/Icons/hns_icon.png.meta index 45c50440a..0d0541e90 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/Icons/hns_icon.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/Icons/hns_icon.png.meta @@ -123,6 +123,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Textures/Icons/hns_icon.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/Icons/hns_icon.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/Icons/hns_icon_canvas.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/Icons/hns_icon_canvas.png.meta index 11024254f..6c8c3fae2 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/Icons/hns_icon_canvas.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/Icons/hns_icon_canvas.png.meta @@ -123,6 +123,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Textures/Icons/hns_icon_canvas.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/Icons/hns_icon_canvas.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/buttonTexture_DocsOffline.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/buttonTexture_DocsOffline.png.meta index 6329d4809..6f3c335d5 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/buttonTexture_DocsOffline.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/buttonTexture_DocsOffline.png.meta @@ -112,6 +112,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Textures/buttonTexture_DocsOffline.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/buttonTexture_DocsOffline.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/buttonTexture_DocsOnline.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/buttonTexture_DocsOnline.png.meta index e650828a9..fadb9881f 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/buttonTexture_DocsOnline.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/buttonTexture_DocsOnline.png.meta @@ -112,6 +112,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Textures/buttonTexture_DocsOnline.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/buttonTexture_DocsOnline.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Canvas.png b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Canvas.png index cd6557fc3..33ee7b20f 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Canvas.png +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Canvas.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:08e267c85cf0ac42a02b3691fb214153b81b94a9d9c01f9de30ab66b348c000a -size 65041 +oid sha256:a8e7268a82917040c68bd34cec0eab7b1f2ae6a9fb037edfcea0c6fd45f1dad4 +size 54949 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Canvas.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Canvas.png.meta index 4888634cc..0bd69b859 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Canvas.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Canvas.png.meta @@ -105,6 +105,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Textures/splashTexture_Canvas.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Canvas.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Documentation.png b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Documentation.png index 4b6c0c720..a230dac62 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Documentation.png +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Documentation.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5f2262f0571246df097eca31b293ebd568959609f449d7e0fc31fa5c6e42f307 -size 65583 +oid sha256:626babcc3e1511a3f26377f5cb5de9bba8132bb284c2eb6e2f7e9ae6647cbe52 +size 54782 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Documentation.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Documentation.png.meta index d8840bfdd..5d399e5b5 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Documentation.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Documentation.png.meta @@ -105,6 +105,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Textures/splashTexture_Documentation.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Documentation.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Element.png b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Element.png index 72dd5acec..2f8f5a9ba 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Element.png +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Element.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4338dadbd509bacf1757ec77887592cfb0cd920b76a009aa48a717342f3ec21a -size 65945 +oid sha256:2eee7d6d34ae3b97a369df4da2894a455910100c9c0a65e10663b51cd092202f +size 54752 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Element.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Element.png.meta index 5182b657c..4e08f7f4d 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Element.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Element.png.meta @@ -105,6 +105,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Textures/splashTexture_Element.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Element.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_MapProfile.png b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_MapProfile.png index d3659fa25..3d0607dc2 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_MapProfile.png +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_MapProfile.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aa14cd780ea163b195be67bd699a38683a111222096c180e772829945f649ab2 -size 64983 +oid sha256:04375cff2199d9bd8af09cca48db7b0e7c657e9673e570d54be7e5aef7439df2 +size 54977 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_MapProfile.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_MapProfile.png.meta index e369931a4..e003b036f 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_MapProfile.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_MapProfile.png.meta @@ -100,6 +100,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Textures/splashTexture_MapProfile.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_MapProfile.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerCamera.png b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerCamera.png index fe719a672..ae1b3ddaa 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerCamera.png +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerCamera.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:99edd1514a1228223f9f71b95aacf7aadd59d118a62650d3a94d84e4e50d6391 -size 65846 +oid sha256:049ecc7bbfd9a9c1d1aa32cfaf8c7618316a09a52ff40051ae93641a3b1e337b +size 54930 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerCamera.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerCamera.png.meta index 547517c36..fb19d2b72 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerCamera.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerCamera.png.meta @@ -123,6 +123,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerCamera.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerCamera.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerController.png b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerController.png index 52519f40d..acb439362 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerController.png +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerController.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ff86561b11b41a4c3485b403f463781bac951f2448c4cd12bd7ff7bd86d45883 -size 65538 +oid sha256:20c25cb119eb5cc3f38d6af2c1db6b142c98f7e6c630ad6dd2d4d9169218ca40 +size 54785 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerController.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerController.png.meta index cb173d7b2..0a10dd1ec 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerController.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerController.png.meta @@ -123,6 +123,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerController.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_PlayerController.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Prefab.png b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Prefab.png index 0efbebca2..b9ac25023 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Prefab.png +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Prefab.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bccf52510a629f3730bd1f36cb2b2f35d8a43d5fac3e7f943c7e647072bcfdd5 -size 64716 +oid sha256:546fe56e8fcf6ca0e115c0125ccac78c59a6e1c3bbe7edbfc2077a8d5f4c4218 +size 54891 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Prefab.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Prefab.png.meta index b2fa30381..fa67cfcc5 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Prefab.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Prefab.png.meta @@ -100,6 +100,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Textures/splashTexture_Prefab.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Prefab.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_QuickSetup.png b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_QuickSetup.png index 6968f1d74..c9dd79a67 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_QuickSetup.png +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_QuickSetup.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fdd9ab964347cfb93fbbcf2d2d27afb74c3667c174cbdf14d072c4a819cd8add -size 64929 +oid sha256:921e1fbbeab426dc9ff59394f3930f9ae2eaf5bcd789d7ad6e07e31c640a1072 +size 54937 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_QuickSetup.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_QuickSetup.png.meta index 414f22389..51471dc5d 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_QuickSetup.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_QuickSetup.png.meta @@ -105,6 +105,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Textures/splashTexture_QuickSetup.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_QuickSetup.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneConfiguration.png b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneConfiguration.png index eee65abc3..ed4320014 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneConfiguration.png +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneConfiguration.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aab9ae75dbd22b46d2c490f294e18a67dfbe4e20762ef1eb05504962f779f62c -size 65633 +oid sha256:83d21a0cbd3b4d25c47ed8ba7c35fe58ee8c1e9f94200a8a9d868433202d6a03 +size 54835 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneConfiguration.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneConfiguration.png.meta index d69b7bbe6..4a809f367 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneConfiguration.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneConfiguration.png.meta @@ -100,6 +100,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Textures/splashTexture_SceneConfiguration.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneConfiguration.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneManager.png b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneManager.png index 586f5931c..d7d35bba0 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneManager.png +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneManager.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b64e84579011426a58d502ff3c85578e3101c6557824237254611cfd750ec29f -size 65369 +oid sha256:85b87bd5ae998525fa1a6d8aa1648aad5a0363e198d2719c27584e3159bfdcf2 +size 54757 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneManager.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneManager.png.meta index 6c4e55e8b..09ce7793b 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneManager.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneManager.png.meta @@ -100,6 +100,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Textures/splashTexture_SceneManager.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_SceneManager.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Settings.png b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Settings.png index dcd048475..a9a4d227b 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Settings.png +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Settings.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a298061846908010441dcfae14ef021fd2af1fecdb5506af4495b0f978e9907b -size 65486 +oid sha256:41f553de47646fe67ba7552571972c7df9fa62a6e2a78d00d46c2d109cbfb37b +size 54738 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Settings.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Settings.png.meta index 379001919..dc15d7576 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Settings.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Settings.png.meta @@ -105,6 +105,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Textures/splashTexture_Settings.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_Settings.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_System.png b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_System.png index 1e6ee2f52..9f44bdc0d 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_System.png +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_System.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:004166e1ea7875c5c005cd1ea83d3da953981084a9479ed746962459bd24eaad -size 66491 +oid sha256:a68b0f17026ae9156edba9121fe25cd14866ca194447e230ac304dfdc7b1da3b +size 54864 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_System.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_System.png.meta index 9d3cfbf40..0120cf23c 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_System.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_System.png.meta @@ -105,6 +105,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Textures/splashTexture_System.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_System.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_TextReference.png b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_TextReference.png new file mode 100644 index 000000000..4e3ecc838 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_TextReference.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63b797f7d5a55078484c9146e16dd62129a655cb63e7482f2d0b06b3fabb903e +size 54637 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_TextReference.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_TextReference.png.meta new file mode 100644 index 000000000..37be43510 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_TextReference.png.meta @@ -0,0 +1,121 @@ +fileFormatVersion: 2 +guid: 6ab35095a2d5d4d8694b9799b2b5b889 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + 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 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + 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: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 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 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_TextReference.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_TextureCreator.png b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_TextureCreator.png index b2181c375..2a7b80a73 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_TextureCreator.png +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_TextureCreator.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1a19aaca7cb07c2bdfc4a29ad06c947da1d6f92db5cd86451e1111e912c3121d -size 65722 +oid sha256:965b63dfd8b2c9f79258ffe44dc4dd1511ed9dc65e630a7f38a635d8f304e760 +size 54713 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_TextureCreator.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_TextureCreator.png.meta index 31ed2ebf3..cb92393de 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_TextureCreator.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_TextureCreator.png.meta @@ -100,6 +100,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Resources/Textures/splashTexture_TextureCreator.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Resources/Textures/splashTexture_TextureCreator.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerCameraEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerCameraEditor.cs index 73f6ab3de..ad758479f 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerCameraEditor.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerCameraEditor.cs @@ -1,9 +1,4 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; -using UnityEngine.Serialization; +using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerCameraEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerCameraEditor.cs.meta index 771122012..3ea414a3c 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerCameraEditor.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerCameraEditor.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerCameraEditor.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerCameraEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerControllerEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerControllerEditor.cs index 35b0fa86f..61a58484e 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerControllerEditor.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerControllerEditor.cs @@ -1,9 +1,4 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; -using UnityEngine.Serialization; +using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerControllerEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerControllerEditor.cs.meta index 002b96350..6cf4d6f7f 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerControllerEditor.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerControllerEditor.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerControllerEditor.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HNSPlayerControllerEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationBaseEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationBaseEditor.cs index b2a2b5bb8..5cb7e0f63 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationBaseEditor.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationBaseEditor.cs @@ -1,11 +1,6 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; +using UnityEngine; #if UNITY_EDITOR using UnityEditor; -using UnityEditorInternal; #endif using SickscoreGames.HUDNavigationSystem; diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationBaseEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationBaseEditor.cs.meta index 1ecebfd4f..dbd50c418 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationBaseEditor.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationBaseEditor.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationBaseEditor.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationBaseEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationCanvasEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationCanvasEditor.cs index fb17d8741..47d344494 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationCanvasEditor.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationCanvasEditor.cs @@ -1,9 +1,4 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; -using UnityEngine.Serialization; +using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationCanvasEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationCanvasEditor.cs.meta index c8b3e31ce..70fa793b9 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationCanvasEditor.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationCanvasEditor.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationCanvasEditor.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationCanvasEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementBaseEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementBaseEditor.cs index afcbbe096..4f4e84b50 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementBaseEditor.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementBaseEditor.cs @@ -1,9 +1,4 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; -using UnityEngine.Serialization; +using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif @@ -21,7 +16,7 @@ public class HUDNavigationElementBaseEditor : HUDNavigationBaseEditor #region Main Methods protected virtual void OnEnable () { - hudNavigationSystem = FindObjectOfType (); + hudNavigationSystem = HUDNavigationExtensions.FindFirst (); } diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementBaseEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementBaseEditor.cs.meta index 19a392004..6a20969d5 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementBaseEditor.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementBaseEditor.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementBaseEditor.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementBaseEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementEditor.cs index 780d632df..3abfe05f1 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementEditor.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementEditor.cs @@ -1,9 +1,4 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; -using UnityEngine.Serialization; +using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementEditor.cs.meta index 4c544452d..02c0996ae 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementEditor.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementEditor.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementEditor.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementSettingsEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementSettingsEditor.cs index fcb6e9e44..ef8507409 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementSettingsEditor.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementSettingsEditor.cs @@ -1,9 +1,4 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; -using UnityEngine.Serialization; +using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementSettingsEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementSettingsEditor.cs.meta index 8918b3756..504d804cc 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementSettingsEditor.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementSettingsEditor.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementSettingsEditor.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationElementSettingsEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSceneManagerEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSceneManagerEditor.cs index abb12b182..8bd984e5d 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSceneManagerEditor.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSceneManagerEditor.cs @@ -1,8 +1,5 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; +using System.Collections.Generic; using UnityEngine; -using UnityEngine.UI; #if UNITY_EDITOR using UnityEditor; #endif diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSceneManagerEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSceneManagerEditor.cs.meta index 90398f1d7..0682523f4 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSceneManagerEditor.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSceneManagerEditor.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSceneManagerEditor.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSceneManagerEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSystemEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSystemEditor.cs index b4b462b6e..5267af0f8 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSystemEditor.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSystemEditor.cs @@ -1,8 +1,4 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; +using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif @@ -80,6 +76,7 @@ public class HUDNavigationSystemEditor : HUDNavigationBaseEditor SerializedProperty _pUseMinimap = serializedObject.FindProperty ("useMinimap"); SerializedProperty _pMinimapProfile = serializedObject.FindProperty ("minimapProfile"); SerializedProperty _pMinimapMode = serializedObject.FindProperty ("minimapMode"); + SerializedProperty _pMinimapShape = serializedObject.FindProperty ("minimapShape"); SerializedProperty _pMinimapScale = serializedObject.FindProperty ("minimapScale"); SerializedProperty _pMinimapRadius = serializedObject.FindProperty ("minimapRadius"); SerializedProperty _pUseMinimapScaling = serializedObject.FindProperty("useMinimapScaling"); @@ -298,6 +295,7 @@ public class HUDNavigationSystemEditor : HUDNavigationBaseEditor EditorGUILayout.PropertyField (_pMinimapProfile, new GUIContent ("Minimap Profile")); if (hudTarget.minimapProfile != null) { EditorGUILayout.PropertyField (_pMinimapMode); + EditorGUILayout.PropertyField (_pMinimapShape); EditorGUILayout.Slider (_pMinimapScale, .01f, 1f, "Minimap Scale"); EditorGUILayout.Slider (_pMinimapRadius, 1f, 500f, "Minimap Radius"); EditorGUILayout.PropertyField (_pShowMinimapBounds, new GUIContent ("Show Minimap Bounds")); diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSystemEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSystemEditor.cs.meta index 67fe7da4d..8426aca73 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSystemEditor.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSystemEditor.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSystemEditor.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/Editor/HUDNavigationSystemEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerCamera.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerCamera.cs index 934b19bfa..6ab6a9197 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerCamera.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerCamera.cs @@ -1,12 +1,6 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; -using UnityEngine.Events; +using UnityEngine; #if UNITY_EDITOR -using UnityEditor.Events; #endif -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerCamera.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerCamera.cs.meta index 3c4b84869..74f65be97 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerCamera.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerCamera.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Components/HNSPlayerCamera.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerCamera.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerController.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerController.cs index 8d2937347..c314d9551 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerController.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerController.cs @@ -1,12 +1,6 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; -using UnityEngine.Events; +using UnityEngine; #if UNITY_EDITOR -using UnityEditor.Events; #endif -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerController.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerController.cs.meta index 3f7fb14e5..f3f83f6a7 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerController.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerController.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Components/HNSPlayerController.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HNSPlayerController.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationCanvas.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationCanvas.cs index 110713881..0be680459 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationCanvas.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationCanvas.cs @@ -1,9 +1,6 @@ using System.Linq; -using System.Collections; -using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { @@ -14,11 +11,12 @@ namespace SickscoreGames.HUDNavigationSystem public static HUDNavigationCanvas Instance { get { if (_Instance == null) { - _Instance = FindObjectOfType (); + _Instance = HUDNavigationExtensions.FindFirst (); } return _Instance; } } + private bool _instanceHasChanged = false; #region Variables @@ -43,9 +41,11 @@ namespace SickscoreGames.HUDNavigationSystem #region Main Methods void Awake () { - if (_Instance != null) { - Destroy (this.gameObject); - return; + // destroy canvas instance, if current scene has it's own HNS canvas + if (_Instance != null) + { + Destroy(_Instance.gameObject); + _instanceHasChanged = true; } _Instance = this; @@ -61,6 +61,12 @@ namespace SickscoreGames.HUDNavigationSystem // dont destroy on load if (_HUDNavigationSystem != null && _HUDNavigationSystem.KeepAliveOnLoad) DontDestroyOnLoad (this.gameObject); + + // re-init all HNS components + if (_HUDNavigationSystem != null && _instanceHasChanged) { + _instanceHasChanged = false; + _HUDNavigationSystem.ChangeCanvas(Instance); + } } diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationCanvas.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationCanvas.cs.meta index 5bb14c251..50480f85a 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationCanvas.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationCanvas.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Components/HUDNavigationCanvas.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationCanvas.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElement.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElement.cs index 945cf64d8..11395bcf9 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElement.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElement.cs @@ -1,12 +1,7 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; +using UnityEngine; using UnityEngine.Events; #if UNITY_EDITOR -using UnityEditor.Events; #endif -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElement.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElement.cs.meta index e035f0f42..b68028861 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElement.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElement.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Components/HUDNavigationElement.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElement.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElementSettings.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElementSettings.cs index ead4e0126..12eb87bdd 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElementSettings.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElementSettings.cs @@ -1,12 +1,6 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; -using UnityEngine.Events; +using UnityEngine; #if UNITY_EDITOR -using UnityEditor.Events; #endif -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElementSettings.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElementSettings.cs.meta index be8da6b23..b707c1887 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElementSettings.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElementSettings.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Components/HUDNavigationElementSettings.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationElementSettings.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSceneManager.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSceneManager.cs index eaca13566..75bf59935 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSceneManager.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSceneManager.cs @@ -1,13 +1,10 @@ using System.Linq; -using System.Collections; using System.Collections.Generic; using UnityEngine; -using UnityEngine.UI; using UnityEngine.SceneManagement; #if UNITY_EDITOR using UnityEditor; #endif -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { @@ -18,7 +15,7 @@ namespace SickscoreGames.HUDNavigationSystem public static HUDNavigationSceneManager Instance { get { if (_Instance == null) { - _Instance = FindObjectOfType (); + _Instance = HUDNavigationExtensions.FindFirst (); } return _Instance; } @@ -75,7 +72,6 @@ namespace SickscoreGames.HUDNavigationSystem { // return if no configuration is assigned if (Configurations.Count <= 0) { - Debug.LogWarning("[HNS SceneManager] Could't find any scene configuration!"); return; } diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSceneManager.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSceneManager.cs.meta index 0e12a67d1..ee25ff01d 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSceneManager.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSceneManager.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Components/HUDNavigationSceneManager.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSceneManager.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSystem.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSystem.cs index 8247bf176..d61b0f965 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSystem.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSystem.cs @@ -1,12 +1,8 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; +using System.Collections.Generic; using UnityEngine; -using UnityEngine.UI; #if UNITY_EDITOR using UnityEditor; #endif -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { @@ -17,7 +13,7 @@ namespace SickscoreGames.HUDNavigationSystem public static HUDNavigationSystem Instance { get { if (_Instance == null) { - _Instance = FindObjectOfType (); + _Instance = HUDNavigationExtensions.FindFirst (); } return _Instance; } @@ -112,6 +108,8 @@ namespace SickscoreGames.HUDNavigationSystem [HideInInspector]public HNSMapProfile currentMinimapProfile; [Tooltip("Select the minimap mode you want to use.")] public MinimapModes minimapMode = MinimapModes.RotatePlayer; + [Tooltip("Select the minimap shape you want to use.")] + public MinimapShapes minimapShape = MinimapShapes.Rectangular; [Tooltip("Define the minimap scale. Change value to zoom the minimap.")] public float minimapScale = .25f; [Tooltip("Define the minimap radius. Elements will be displayed on the border of the minimap, depending on the minimap scale.")] @@ -218,7 +216,7 @@ namespace SickscoreGames.HUDNavigationSystem // try to automatically assign the player camera and transform if possible if (PlayerCamera == null) { - HNSPlayerCamera hnsCamera = GameObject.FindObjectOfType (); + HNSPlayerCamera hnsCamera = HUDNavigationExtensions.FindFirst(); if (hnsCamera != null) PlayerCamera = hnsCamera.GetComponent (); else @@ -227,7 +225,7 @@ namespace SickscoreGames.HUDNavigationSystem Debug.LogError("[HUDNavigationSystem] Player camera unassigned. Assign camera to resume system!"); } if (PlayerController == null) { - HNSPlayerController hnsTransform = GameObject.FindObjectOfType (); + HNSPlayerController hnsTransform = HUDNavigationExtensions.FindFirst (); if (hnsTransform != null) PlayerController = hnsTransform.gameObject.transform; if (PlayerController == null) @@ -239,6 +237,23 @@ namespace SickscoreGames.HUDNavigationSystem } + /// + /// Change the currently assigned canvas at runtime. + /// + /// HUD Navigation Canvas. + public void ChangeCanvas (HUDNavigationCanvas hnsCanvas) + { + if (hnsCanvas == null) + return; + + // assign new instance + _HUDNavigationCanvas = hnsCanvas; + + // re-init all components + InitAllComponents(); + } + + /// /// Change the currently assigned player camera at runtime. /// @@ -377,8 +392,9 @@ namespace SickscoreGames.HUDNavigationSystem _HUDNavigationCanvas.InitIndicators (); else _HUDNavigationCanvas.ShowIndicators (false); - + // init minimap + currentMinimapProfile = minimapProfile; if (useMinimap && minimapProfile != null) _HUDNavigationCanvas.InitMinimap (minimapProfile); else @@ -393,7 +409,7 @@ namespace SickscoreGames.HUDNavigationSystem return; // return, if references are missing - if (PlayerCamera == null || PlayerController == null) + if (PlayerCamera == null || PlayerController == null || _HUDNavigationCanvas == null) return; // update navigation elements @@ -558,20 +574,23 @@ namespace SickscoreGames.HUDNavigationSystem } } - // rotate marker within radar with gameobject? - Transform rotationReference = GetRotationReference (); - if (radarMode == RadarModes.RotateRadar) { - element.Radar.PrefabRect.rotation = Quaternion.identity; - if (element.rotateWithGameObject) - element.Radar.Icon.transform.rotation = Quaternion.Euler (new Vector3 (0f, 0f, -element.transform.eulerAngles.y + rotationReference.eulerAngles.y)); - } else { - if (element.rotateWithGameObject) - element.Radar.Icon.transform.rotation = Quaternion.Euler (new Vector3 (0f, 0f, -element.transform.eulerAngles.y)); - } + // apply radar container rotation + element.Radar.PrefabRect.rotation = Quaternion.identity; - // keep marker icon identity rotation? - if (!element.rotateWithGameObject) - element.Radar.Icon.transform.rotation = Quaternion.identity; + // apply radar icon rotation + Quaternion iconRotation = Quaternion.identity; + if (element.rotateWithGameObject) + { + float zRotation = -element.transform.eulerAngles.y; + if (radarMode == RadarModes.RotateRadar) + { + Transform rotationReference = GetRotationReference (); + zRotation += rotationReference.eulerAngles.y; + } + + iconRotation = Quaternion.Euler(0f, 0f, zRotation); + } + element.Radar.Icon.transform.rotation = iconRotation; // update marker values float invertedDistance = radarMaxRadius - _rawDistance; @@ -589,9 +608,11 @@ namespace SickscoreGames.HUDNavigationSystem element.SetMarkerPosition (NavigationElementType.Radar, markerPos); // handle marker's above/below arrows - bool heightSystemConditions = useRadarHeightSystem && element.useRadarHeightSystem && element.IsInRadarRadius; - element.ShowRadarAboveArrow (heightSystemConditions && -posOffset.y < -radarDistanceAbove); - element.ShowRadarBelowArrow (heightSystemConditions && -posOffset.y > radarDistanceBelow); + if (useRadarHeightSystem) { + bool heightSystemConditions = element.useRadarHeightSystem && element.IsInRadarRadius; + element.ShowRadarAboveArrow (heightSystemConditions && -posOffset.y < -radarDistanceAbove); + element.ShowRadarBelowArrow (heightSystemConditions && -posOffset.y > radarDistanceBelow); + } } #endregion @@ -776,15 +797,20 @@ namespace SickscoreGames.HUDNavigationSystem // always keep marker within minimap rect bool outOfBounds; - markerPos = _HUDNavigationCanvas.Minimap.ElementContainer.KeepInRectBounds(markerPos, out outOfBounds); + if (minimapShape == MinimapShapes.Rectangular) + markerPos = _HUDNavigationCanvas.Minimap.ElementContainer.KeepInRectBounds(markerPos, out outOfBounds); + else + markerPos = _HUDNavigationCanvas.Minimap.ElementContainer.KeepInCircleBounds(markerPos, out outOfBounds); // set marker position element.SetMarkerPosition (NavigationElementType.Minimap, markerPos); // handle marker's above/below arrows - bool heightSystemConditions = useMinimapHeightSystem && element.useMinimapHeightSystem && element.IsInMinimapRadius && !outOfBounds; - element.ShowMinimapAboveArrow (heightSystemConditions && -posOffset.y < -minimapDistanceAbove); - element.ShowMinimapBelowArrow (heightSystemConditions && -posOffset.y > minimapDistanceBelow); + if (useMinimapHeightSystem) { + bool heightSystemConditions = element.useMinimapHeightSystem && element.IsInMinimapRadius && !outOfBounds; + element.ShowMinimapAboveArrow (heightSystemConditions && -posOffset.y < -minimapDistanceAbove); + element.ShowMinimapBelowArrow (heightSystemConditions && -posOffset.y > minimapDistanceBelow); + } } #endregion @@ -865,6 +891,7 @@ namespace SickscoreGames.HUDNavigationSystem this.useMinimap = config.useMinimap; this.minimapMode = config.minimapMode; + this.minimapShape = config.minimapShape; this.minimapScale = config.minimapScale; this.minimapRadius = config.minimapRadius; this.useMinimapScaling = config.useMinimapScaling; @@ -910,5 +937,12 @@ namespace SickscoreGames.HUDNavigationSystem { RotateMinimap, RotatePlayer } + + + [System.Serializable] + public enum MinimapShapes + { + Rectangular, Circular + } #endregion } diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSystem.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSystem.cs.meta index 2c0bf250c..084648610 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSystem.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSystem.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Components/HUDNavigationSystem.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Components/HUDNavigationSystem.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/Editor/HNSSceneConfigurationEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/Editor/HNSSceneConfigurationEditor.cs index cc6e8b800..b8ae73a69 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/Editor/HNSSceneConfigurationEditor.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/Editor/HNSSceneConfigurationEditor.cs @@ -1,8 +1,4 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; +using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif @@ -75,6 +71,7 @@ public class HNSSceneConfigurationEditor : HUDNavigationBaseEditor SerializedProperty _pUseMinimap = serializedObject.FindProperty ("useMinimap"); SerializedProperty _pMinimapProfile = serializedObject.FindProperty ("minimapProfile"); SerializedProperty _pMinimapMode = serializedObject.FindProperty ("minimapMode"); + SerializedProperty _pMinimapShape = serializedObject.FindProperty ("minimapShape"); SerializedProperty _pMinimapScale = serializedObject.FindProperty ("minimapScale"); SerializedProperty _pMinimapRadius = serializedObject.FindProperty ("minimapRadius"); SerializedProperty _pUseMinimapScaling = serializedObject.FindProperty("useMinimapScaling"); @@ -265,6 +262,7 @@ public class HNSSceneConfigurationEditor : HUDNavigationBaseEditor EditorGUILayout.PropertyField (_pMinimapProfile, new GUIContent ("Minimap Profile")); if (hudTarget.minimapProfile != null) { EditorGUILayout.PropertyField (_pMinimapMode); + EditorGUILayout.PropertyField (_pMinimapShape); EditorGUILayout.Slider (_pMinimapScale, .01f, 1f, "Minimap Scale"); EditorGUILayout.Slider (_pMinimapRadius, 1f, 500f, "Minimap Radius"); diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/Editor/HNSSceneConfigurationEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/Editor/HNSSceneConfigurationEditor.cs.meta index b34bb4770..3f12d06d8 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/Editor/HNSSceneConfigurationEditor.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/Editor/HNSSceneConfigurationEditor.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Configurations/Editor/HNSSceneConfigurationEditor.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/Editor/HNSSceneConfigurationEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/HNSSceneConfiguration.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/HNSSceneConfiguration.cs index b176d0d78..81cf5cba0 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/HNSSceneConfiguration.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/HNSSceneConfiguration.cs @@ -1,11 +1,6 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; #if UNITY_EDITOR -using UnityEditor; #endif -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { @@ -56,6 +51,7 @@ namespace SickscoreGames.HUDNavigationSystem public bool useMinimap = true; public HNSMapProfile minimapProfile; public MinimapModes minimapMode = MinimapModes.RotatePlayer; + public MinimapShapes minimapShape = MinimapShapes.Rectangular; public float minimapScale = .25f; public float minimapRadius = 75f; public bool useMinimapScaling = true; diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/HNSSceneConfiguration.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/HNSSceneConfiguration.cs.meta index 96f2e869e..28909708c 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/HNSSceneConfiguration.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/HNSSceneConfiguration.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Configurations/HNSSceneConfiguration.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Configurations/HNSSceneConfiguration.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/HNS.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/HNS.cs index b1ea17489..0b9396bdf 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/HNS.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/HNS.cs @@ -1,8 +1,5 @@ -using UnityEngine; -#if UNITY_EDITOR -using UnityEditor; +#if UNITY_EDITOR #endif -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { @@ -11,7 +8,7 @@ namespace SickscoreGames.HUDNavigationSystem #region Static Variables public const string PublisherName = "Sickscore Games"; public const string Name = "HUD Navigation System"; - public const string Version = "v2.2.0"; + public const string Version = "v3.0.0"; #endregion diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/HNS.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/HNS.cs.meta index ec5f6f322..fac7a469c 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/HNS.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/HNS.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/HNS.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/HNS.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSCompassBarPrefabEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSCompassBarPrefabEditor.cs index 460556f48..0db2fbd7c 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSCompassBarPrefabEditor.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSCompassBarPrefabEditor.cs @@ -1,10 +1,5 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -#if UNITY_EDITOR +#if UNITY_EDITOR using UnityEditor; -using UnityEngine.Serialization; #endif using SickscoreGames.HUDNavigationSystem; diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSCompassBarPrefabEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSCompassBarPrefabEditor.cs.meta index dd930150f..00e21c2e6 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSCompassBarPrefabEditor.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSCompassBarPrefabEditor.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSCompassBarPrefabEditor.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSCompassBarPrefabEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSIndicatorPrefabEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSIndicatorPrefabEditor.cs index 7140a5d9f..7d5a9d31b 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSIndicatorPrefabEditor.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSIndicatorPrefabEditor.cs @@ -1,10 +1,5 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -#if UNITY_EDITOR +#if UNITY_EDITOR using UnityEditor; -using UnityEngine.Serialization; #endif using SickscoreGames.HUDNavigationSystem; diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSIndicatorPrefabEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSIndicatorPrefabEditor.cs.meta index 5e3269ffd..5a1b5bb9d 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSIndicatorPrefabEditor.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSIndicatorPrefabEditor.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSIndicatorPrefabEditor.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSIndicatorPrefabEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSMinimapPrefabEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSMinimapPrefabEditor.cs index 6f66c7453..4688be501 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSMinimapPrefabEditor.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSMinimapPrefabEditor.cs @@ -1,10 +1,5 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -#if UNITY_EDITOR +#if UNITY_EDITOR using UnityEditor; -using UnityEngine.Serialization; #endif using SickscoreGames.HUDNavigationSystem; diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSMinimapPrefabEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSMinimapPrefabEditor.cs.meta index 91f6ff30d..aeb7fce7f 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSMinimapPrefabEditor.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSMinimapPrefabEditor.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSMinimapPrefabEditor.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSMinimapPrefabEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSPrefabBaseEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSPrefabBaseEditor.cs index bd3111c38..fea3446b4 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSPrefabBaseEditor.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSPrefabBaseEditor.cs @@ -1,10 +1,6 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; #if UNITY_EDITOR using UnityEditor; -using UnityEngine.Serialization; #endif using SickscoreGames.HUDNavigationSystem; diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSPrefabBaseEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSPrefabBaseEditor.cs.meta index fc3e05d38..63e77fc6c 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSPrefabBaseEditor.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSPrefabBaseEditor.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSPrefabBaseEditor.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSPrefabBaseEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSRadarPrefabEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSRadarPrefabEditor.cs index a0fe1b1bb..27ab37f0e 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSRadarPrefabEditor.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSRadarPrefabEditor.cs @@ -1,10 +1,5 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -#if UNITY_EDITOR +#if UNITY_EDITOR using UnityEditor; -using UnityEngine.Serialization; #endif using SickscoreGames.HUDNavigationSystem; diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSRadarPrefabEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSRadarPrefabEditor.cs.meta index dcbbf53cb..8e8844dbd 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSRadarPrefabEditor.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSRadarPrefabEditor.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSRadarPrefabEditor.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/Editor/HNSRadarPrefabEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSCompassBarPrefab.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSCompassBarPrefab.cs index 4de208097..995fd69fd 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSCompassBarPrefab.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSCompassBarPrefab.cs @@ -1,8 +1,5 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; using UnityEngine.UI; -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { @@ -16,7 +13,7 @@ namespace SickscoreGames.HUDNavigationSystem [Header("Distance Text")] [Tooltip("Assign the distance text component.")] - public Text DistanceText; + public HNSTextReference DistanceText; #endregion diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSCompassBarPrefab.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSCompassBarPrefab.cs.meta index 8b9595b79..a918bb6ff 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSCompassBarPrefab.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSCompassBarPrefab.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Prefabs/HNSCompassBarPrefab.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSCompassBarPrefab.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSIndicatorPrefab.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSIndicatorPrefab.cs index 9cc1e65c0..d0e1e4a5f 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSIndicatorPrefab.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSIndicatorPrefab.cs @@ -1,8 +1,5 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; using UnityEngine.UI; -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { @@ -26,9 +23,9 @@ namespace SickscoreGames.HUDNavigationSystem [Header("Distance Text")] [Tooltip("(optional) Assign an onscreen distance text component.")] - public Text OnscreenDistanceText; + public HNSTextReference OnscreenDistanceText; [Tooltip("(optional) Assign an offscreen distance text component.")] - public Text OffscreenDistanceText; + public HNSTextReference OffscreenDistanceText; #endregion diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSIndicatorPrefab.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSIndicatorPrefab.cs.meta index 244eaa8ac..ff76e0083 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSIndicatorPrefab.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSIndicatorPrefab.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Prefabs/HNSIndicatorPrefab.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSIndicatorPrefab.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSMinimapPrefab.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSMinimapPrefab.cs index 3704c66c2..0d7e23a6a 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSMinimapPrefab.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSMinimapPrefab.cs @@ -1,8 +1,5 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; using UnityEngine.UI; -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSMinimapPrefab.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSMinimapPrefab.cs.meta index 0a1363cd5..e19db2813 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSMinimapPrefab.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSMinimapPrefab.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Prefabs/HNSMinimapPrefab.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSMinimapPrefab.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSPrefab.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSPrefab.cs index 4151f283c..7b6b11a30 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSPrefab.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSPrefab.cs @@ -1,9 +1,6 @@ using System.Linq; -using System.Collections; using System.Collections.Generic; using UnityEngine; -using UnityEngine.UI; -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSPrefab.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSPrefab.cs.meta index 03e02d035..3bc891d86 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSPrefab.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSPrefab.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Prefabs/HNSPrefab.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSPrefab.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSRadarPrefab.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSRadarPrefab.cs index 8bfdb7f73..f6b7950ca 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSRadarPrefab.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSRadarPrefab.cs @@ -1,8 +1,5 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; using UnityEngine.UI; -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSRadarPrefab.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSRadarPrefab.cs.meta index 998000eb6..914f8a2b3 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSRadarPrefab.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSRadarPrefab.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Prefabs/HNSRadarPrefab.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Prefabs/HNSRadarPrefab.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/Editor/HNSMapProfileEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/Editor/HNSMapProfileEditor.cs index 6fe8d4705..7ce329b62 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/Editor/HNSMapProfileEditor.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/Editor/HNSMapProfileEditor.cs @@ -1,10 +1,6 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; #if UNITY_EDITOR using UnityEditor; -using UnityEngine.Serialization; #endif using SickscoreGames.HUDNavigationSystem; diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/Editor/HNSMapProfileEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/Editor/HNSMapProfileEditor.cs.meta index 3163724b9..ec4fe3917 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/Editor/HNSMapProfileEditor.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/Editor/HNSMapProfileEditor.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Profiles/Editor/HNSMapProfileEditor.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/Editor/HNSMapProfileEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/HNSMapProfile.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/HNSMapProfile.cs index c03f4c04b..e9acc7ba6 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/HNSMapProfile.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/HNSMapProfile.cs @@ -1,13 +1,10 @@ using System.IO; using System.Linq; -using System.Collections; using System.Collections.Generic; using UnityEngine; -using UnityEngine.UI; #if UNITY_EDITOR using UnityEditor; #endif -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/HNSMapProfile.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/HNSMapProfile.cs.meta index 8a06ed326..0b59f7ac0 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/HNSMapProfile.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/HNSMapProfile.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Profiles/HNSMapProfile.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Profiles/HNSMapProfile.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Adapters.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Adapters.meta new file mode 100644 index 000000000..40a9dfabd --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Adapters.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 57a8fba7ccba44e0b7981a248487550f +timeCreated: 1773740972 \ No newline at end of file diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Adapters/HNSTextAdapter_TMP.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Adapters/HNSTextAdapter_TMP.cs new file mode 100644 index 000000000..e4b949c1f --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Adapters/HNSTextAdapter_TMP.cs @@ -0,0 +1,21 @@ +#if TMP_PRESENT +using TMPro; + +namespace SickscoreGames.HUDNavigationSystem.Adapters +{ + public class HNSTextAdapter_TMP : IHNSTextAdapter + { + private TextMeshProUGUI _text; + + public HNSTextAdapter_TMP(TextMeshProUGUI text) + { + _text = text; + } + + public void SetText(string text) + { + _text.text = text; + } + } +} +#endif \ No newline at end of file diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Adapters/HNSTextAdapter_TMP.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Adapters/HNSTextAdapter_TMP.cs.meta new file mode 100644 index 000000000..34a96c117 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Adapters/HNSTextAdapter_TMP.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 9d85ff5f60304b2c8a2b3ec6eea80b6a +timeCreated: 1773741624 +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Adapters/HNSTextAdapter_TMP.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Adapters/HNSTextAdapter_UI.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Adapters/HNSTextAdapter_UI.cs new file mode 100644 index 000000000..d80ffbf1f --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Adapters/HNSTextAdapter_UI.cs @@ -0,0 +1,19 @@ +using UnityEngine.UI; + +namespace SickscoreGames.HUDNavigationSystem.Adapters +{ + public class HNSTextAdapter_UI : IHNSTextAdapter + { + private Text _text; + + public HNSTextAdapter_UI(Text text) + { + _text = text; + } + + public void SetText(string text) + { + _text.text = text; + } + } +} diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Adapters/HNSTextAdapter_UI.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Adapters/HNSTextAdapter_UI.cs.meta new file mode 100644 index 000000000..9e66d6df1 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Adapters/HNSTextAdapter_UI.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 7e48b9ad97ec458f85f1f2c52d5dae6d +timeCreated: 1773741782 +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Adapters/HNSTextAdapter_UI.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSDocumentation.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSDocumentation.cs index 85181ff59..f374d197f 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSDocumentation.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSDocumentation.cs @@ -1,9 +1,6 @@ using System.IO; -using System.Collections; -using System.Collections.Generic; using UnityEngine; using UnityEditor; -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSDocumentation.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSDocumentation.cs.meta index 74c8834d3..a484b7582 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSDocumentation.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSDocumentation.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Utilities/Editor/HNSDocumentation.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSDocumentation.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSEditorIcons.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSEditorIcons.cs index d6df8801c..c87b977ac 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSEditorIcons.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSEditorIcons.cs @@ -1,12 +1,7 @@ -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; +using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { @@ -42,7 +37,7 @@ namespace SickscoreGames.HUDNavigationSystem #region Utility Methods private static void CheckInstance (int instanceId, Rect selectionRect, string iconName) where T : UnityEngine.Object { - GameObject go = EditorUtility.InstanceIDToObject(instanceId) as GameObject; + GameObject go = HUDNavigationExtensions.EntityOrInstanceIdToObject(instanceId) as GameObject; if (go == null) return; if (go.GetComponent () != null) DrawIcon(iconName, selectionRect); diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSEditorIcons.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSEditorIcons.cs.meta index f473508c8..2258f083a 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSEditorIcons.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSEditorIcons.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Utilities/Editor/HNSEditorIcons.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSEditorIcons.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSTextReferenceEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSTextReferenceEditor.cs new file mode 100644 index 000000000..22c0e2354 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSTextReferenceEditor.cs @@ -0,0 +1,65 @@ +using UnityEditor; +using UnityEngine; + +namespace SickscoreGames.HUDNavigationSystem +{ + [CustomEditor(typeof(HNSTextReference))] + public class HNSTextReferenceEditor : HUDNavigationBaseEditor + { + #region Variables + + protected HNSTextReference hudTarget; + + #endregion + + + #region Main Methods + + void OnEnable() + { + editorTitle = "HNS Text Reference"; + splashTexture = (Texture2D)Resources.Load("Textures/splashTexture_TextReference", typeof(Texture2D)); + showExpandButton = false; + + hudTarget = (HNSTextReference)target; + } + + protected override void OnBaseInspectorGUI() + { + // update serialized object + serializedObject.Update(); + + // get the text adapter + var adapter = hudTarget.GetAdapter(); + + // cache serialized properties + SerializedProperty _pTextComponent = serializedObject.FindProperty("_textComponent"); + + EditorGUILayout.PropertyField(_pTextComponent, new GUIContent("Text Component", "The text component which will get updated")); + EditorGUILayout.LabelField("Adapter", adapter?.GetType().Name ?? ""); + + if (adapter == null) + { + EditorGUILayout.Space(); + + if (hudTarget.GetTextComponent() != null) + EditorGUILayout.HelpBox("Assigned component is not a valid text adapter.", MessageType.Error); + else + EditorGUILayout.HelpBox("No supported text component detected.", MessageType.Warning); + + if (!Application.isPlaying) + { + if (GUILayout.Button("Refresh")) + { + hudTarget.ForceInitialize(); + } + } + } + + // apply modified properties + serializedObject.ApplyModifiedProperties (); + } + + #endregion + } +} \ No newline at end of file diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSTextReferenceEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSTextReferenceEditor.cs.meta new file mode 100644 index 000000000..af8a40e56 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSTextReferenceEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 3624fe1881f44ed59e430ff886406935 +timeCreated: 1773743684 +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSTextReferenceEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSTextureCreatorEditor.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSTextureCreatorEditor.cs index 0fc456609..b88ed2b56 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSTextureCreatorEditor.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSTextureCreatorEditor.cs @@ -1,11 +1,5 @@ -using System; -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using System.Text.RegularExpressions; +using System.Text.RegularExpressions; using UnityEngine; -using UnityEngine.UI; -using UnityEngine.Serialization; #if UNITY_EDITOR using UnityEditor; using UnityEditor.IMGUI.Controls; diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSTextureCreatorEditor.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSTextureCreatorEditor.cs.meta index 56b16c57c..961ca62c2 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSTextureCreatorEditor.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSTextureCreatorEditor.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Utilities/Editor/HNSTextureCreatorEditor.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HNSTextureCreatorEditor.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HUDNavigationSystem_QSWindow.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HUDNavigationSystem_QSWindow.cs index d26d12231..6dcddbd28 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HUDNavigationSystem_QSWindow.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HUDNavigationSystem_QSWindow.cs @@ -1,8 +1,5 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; using UnityEditor; -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { @@ -90,14 +87,14 @@ namespace SickscoreGames.HUDNavigationSystem return; // add hud navigation system to scene - HUDNavigationSystem hudSystem = GameObject.FindObjectOfType (); + HUDNavigationSystem hudSystem = HUDNavigationExtensions.FindFirst (); if (hudSystem == null) { GameObject hnsGO = new GameObject("[HUD Navigation System]"); hudSystem = hnsGO.AddComponent (); } // add scene manager to scene - HUDNavigationSceneManager sceneManager = GameObject.FindObjectOfType (); + HUDNavigationSceneManager sceneManager = HUDNavigationExtensions.FindFirst (); if (sceneManager == null) hudSystem.gameObject.AddComponent (); @@ -106,7 +103,7 @@ namespace SickscoreGames.HUDNavigationSystem hudSystem.PlayerCamera = goCamera; // add hud navigation canvas to scene - HUDNavigationCanvas hudCanvas = GameObject.FindObjectOfType (); + HUDNavigationCanvas hudCanvas = HUDNavigationExtensions.FindFirst (); if (hudCanvas == null) { // add canvas prefab from assets to scene GameObject hudPrefab = Resources.Load ("Prefabs/HUD Navigation Canvas") as GameObject; diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HUDNavigationSystem_QSWindow.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HUDNavigationSystem_QSWindow.cs.meta index 306e943eb..e090102ea 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HUDNavigationSystem_QSWindow.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HUDNavigationSystem_QSWindow.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Utilities/Editor/HUDNavigationSystem_QSWindow.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/Editor/HUDNavigationSystem_QSWindow.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HNSTextReference.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HNSTextReference.cs new file mode 100644 index 000000000..047d5fae2 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HNSTextReference.cs @@ -0,0 +1,114 @@ +using SickscoreGames.HUDNavigationSystem.Adapters; +using UnityEngine; +using UnityEngine.UI; + +#if TMP_PRESENT +using TMPro; +#endif + +namespace SickscoreGames.HUDNavigationSystem +{ + [DisallowMultipleComponent] + public class HNSTextReference : MonoBehaviour + { + #region Variables + [SerializeField] private Component _textComponent; + + private IHNSTextAdapter _adapter; + #endregion + + + #region Main Methods + private void Awake() + { + Initialize(); + } + +#if UNITY_EDITOR + private void OnValidate() + { + if (!Application.isPlaying) + Initialize(); + } +#endif + + private void Initialize() + { + // create adapter from component + if (_textComponent != null) + { + _adapter = CreateAdapter(_textComponent); + if (_adapter != null) + return; + + Debug.LogWarning($"[HNSTextReference] Assigned component is not supported: {_textComponent.GetType().Name}", this); + } + + // try to auto-detect text component + _textComponent = AutoDetectComponent(); + if (_textComponent != null) + { + _adapter = CreateAdapter(_textComponent); + return; + } + + _adapter = null; + } + #endregion + + + #region Utility Methods + private Component AutoDetectComponent() + { +#if TMP_PRESENT + // TextMeshPro + if (HUDNavigationExtensions.TryGet(this, out TextMeshProUGUI tmp)) + return tmp; +#endif + + // UI Text (legacy) + if (HUDNavigationExtensions.TryGet(this, out Text uiText)) + return uiText; + + // Third-party adapter + var adapters = GetComponents(); + if (adapters.Length > 0) + // ReSharper disable once SuspiciousTypeConversion.Global + return adapters[0] as Component; + + return null; + } + + private IHNSTextAdapter CreateAdapter(Component component) + { +#if TMP_PRESENT + if (component is TextMeshProUGUI tmp) + return new HNSTextAdapter_TMP(tmp); +#endif + + if (component is Text uiText) + return new HNSTextAdapter_UI(uiText); + + // ReSharper disable once SuspiciousTypeConversion.Global + if (component is IHNSTextAdapter adapter) + return adapter; + + return null; + } + #endregion + + + #region Public API + public void SetText(string value) + { + _adapter?.SetText(value); + } + + public IHNSTextAdapter GetAdapter() => _adapter; + + public Component GetTextComponent() => _textComponent; + + public void ForceInitialize() => Initialize(); + #endregion + } +} \ No newline at end of file diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HNSTextReference.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HNSTextReference.cs.meta new file mode 100644 index 000000000..cbf8dcb3e --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HNSTextReference.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 5ecc4b41a1574f739f1ddc6af9d0b0fe +timeCreated: 1773738709 +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HNSTextReference.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HNSTextureCreator.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HNSTextureCreator.cs index 35aac7ecb..bd457edef 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HNSTextureCreator.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HNSTextureCreator.cs @@ -1,12 +1,9 @@ using System.IO; using System.Collections; -using System.Collections.Generic; -using System.Text.RegularExpressions; using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { @@ -45,7 +42,7 @@ namespace SickscoreGames.HUDNavigationSystem public static void InitTextureCreator () { // find / instantiate TextureCreator - HNSTextureCreator textureCreator = FindObjectOfType (); + HNSTextureCreator textureCreator = HUDNavigationExtensions.FindFirst (); if (textureCreator == null) textureCreator = new GameObject ("HNS MapTextureCreator").AddComponent (); @@ -270,6 +267,10 @@ namespace SickscoreGames.HUDNavigationSystem if (textureImporter.textureType != TextureImporterType.Sprite) textureImporter.textureType = TextureImporterType.Sprite; + // set sprite mode to single + if (textureImporter.spriteImportMode != SpriteImportMode.Single) + textureImporter.spriteImportMode = SpriteImportMode.Single; + // update texture size if (textureImporter.maxTextureSize != (int)TextureSize) textureImporter.maxTextureSize = (int)TextureSize; diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HNSTextureCreator.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HNSTextureCreator.cs.meta index 1698c75f5..7a8420adb 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HNSTextureCreator.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HNSTextureCreator.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Utilities/HNSTextureCreator.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HNSTextureCreator.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HUDNavigationExtensions.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HUDNavigationExtensions.cs index c542b298c..5c1c751a6 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HUDNavigationExtensions.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HUDNavigationExtensions.cs @@ -1,12 +1,5 @@ -using System; -using System.Linq; -using System.Reflection; -using System.Collections; -using System.Collections.Generic; +using UnityEditor; using UnityEngine; -using UnityEngine.UI; -using UnityEngine.Events; -using SickscoreGames; namespace SickscoreGames.HUDNavigationSystem { @@ -55,6 +48,20 @@ namespace SickscoreGames.HUDNavigationSystem } + public static Vector3 KeepInCircleBounds (this RectTransform rect, Vector3 markerPos, out bool outOfBounds) + { + Vector3 center = rect.rect.center; + float radius = Mathf.Min(rect.rect.width, rect.rect.height) * 0.5f; + + Vector3 offset = markerPos - center; + Vector3 clamped = Vector3.ClampMagnitude(offset, radius); + + outOfBounds = offset != clamped; + + return center + clamped; + } + + public static float GetIconRadius (this HUDNavigationElement element, NavigationElementType elementType) { float radius = (elementType == NavigationElementType.Radar) ? element.Radar.PrefabRect.sizeDelta.x : element.Minimap.PrefabRect.sizeDelta.x; @@ -163,7 +170,7 @@ namespace SickscoreGames.HUDNavigationSystem #region CompassBar Extension Methods public static void ShowCompassBarDistance (this HUDNavigationElement element, int distance = 0) { - if (element.CompassBar.DistanceText == null) + if (!element.CompassBar.DistanceText) return; // only update if value has changed @@ -172,8 +179,8 @@ namespace SickscoreGames.HUDNavigationSystem element.CompassBar.DistanceText.gameObject.SetActive (useDistanceText); // update distance text if active - if (useDistanceText) // TODO add TextMeshPro support? - element.CompassBar.DistanceText.text = string.Format (element.compassBarDistanceTextFormat, distance); + if (useDistanceText) + element.CompassBar.DistanceText.SetText(string.Format (element.compassBarDistanceTextFormat, distance)); } #endregion @@ -198,17 +205,17 @@ namespace SickscoreGames.HUDNavigationSystem public static void ShowIndicatorDistance (this HUDNavigationElement element, bool onScreen, int distance = 0) { // show/hide distance text - Text distanceText = (onScreen) ? element.Indicator.OnscreenDistanceText : element.Indicator.OffscreenDistanceText; - if (distanceText != null) { - bool showDistance = (onScreen) ? element.useIndicatorDistanceText : element.useIndicatorDistanceText && element.showOffscreenIndicatorDistance; + var distanceText = onScreen ? element.Indicator.OnscreenDistanceText : element.Indicator.OffscreenDistanceText; + if (distanceText) { + bool showDistance = onScreen ? element.useIndicatorDistanceText : element.useIndicatorDistanceText && element.showOffscreenIndicatorDistance; // only update if value has changed if (showDistance != distanceText.gameObject.activeSelf) distanceText.gameObject.SetActive (showDistance); // update distance text if active - if (showDistance) // TODO add TextMeshPro support? - distanceText.text = string.Format ((onScreen) ? element.indicatorOnscreenDistanceTextFormat : element.indicatorOffscreenDistanceTextFormat, distance); + if (showDistance) + distanceText.SetText(string.Format (onScreen ? element.indicatorOnscreenDistanceTextFormat : element.indicatorOffscreenDistanceTextFormat, distance)); } } @@ -291,5 +298,36 @@ namespace SickscoreGames.HUDNavigationSystem return (float)profile.MapTextureSize.x / (float)profile.MapTextureSize.y; } #endregion + + + #region General Extension Methods + public static T FindFirst() where T : Object + { +#if UNITY_2023_1_OR_NEWER + return GameObject.FindFirstObjectByType(); +#else + return Object.FindObjectOfType(); +#endif + } + + public static bool TryGet(Component component, out T result) where T : Component + { +#if UNITY_2019_2_OR_NEWER + return component.TryGetComponent(out result); +#else + result = component.GetComponent(); + return result != null; +#endif + } + + public static Object EntityOrInstanceIdToObject(int id) + { +#if UNITY_2023_1_OR_NEWER + return EditorUtility.EntityIdToObject(id); +#else + return EditorUtility.InstanceIDToObject(id); +#endif + } + #endregion } } diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HUDNavigationExtensions.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HUDNavigationExtensions.cs.meta index dbac395ad..9bf398148 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HUDNavigationExtensions.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HUDNavigationExtensions.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/Scripts/Utilities/HUDNavigationExtensions.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/HUDNavigationExtensions.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/IHNSTextAdapter.cs b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/IHNSTextAdapter.cs new file mode 100644 index 000000000..f08c4b92e --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/IHNSTextAdapter.cs @@ -0,0 +1,7 @@ +namespace SickscoreGames.HUDNavigationSystem +{ + public interface IHNSTextAdapter + { + void SetText(string text); + } +} \ No newline at end of file diff --git a/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/IHNSTextAdapter.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/IHNSTextAdapter.cs.meta new file mode 100644 index 000000000..80356503b --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/IHNSTextAdapter.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 2dcc006e740743efa40392f576a56dd4 +timeCreated: 1773740708 +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/Scripts/Utilities/IHNSTextAdapter.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_House.unity b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_House.unity new file mode 100644 index 000000000..6666fb97a --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_House.unity @@ -0,0 +1,2194 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.42 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.6764706, g: 0.6764706, b: 0.6764706, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 2100000, guid: 1f792d5319a1c334e94343c35ecc3ade, type: 2} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 1 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 112000000, guid: 398965de45072ee36877d169cf4125c5, type: 2} + m_LightingSettings: {fileID: 4890085278179872738, guid: 47fe21b7424e080ea9e2deb995830306, type: 2} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &305743185 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 305743186} + - component: {fileID: 305743187} + - component: {fileID: 305743188} + m_Layer: 0 + m_Name: HUD Element // Open Door + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &305743186 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 305743185} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.398, y: 2.318, z: 2.7861} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1375351075} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &305743187 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 305743185} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67a5fc50cb592fe4f95457eb6d66e520, type: 3} + m_Name: + m_EditorClassIdentifier: + Settings: {fileID: 11400000, guid: 7ace3123c868542879e01ac849c5a93f, type: 2} + Prefabs: + RadarPrefab: {fileID: 0} + CompassBarPrefab: {fileID: 0} + IndicatorPrefab: {fileID: 0} + MinimapPrefab: {fileID: 0} + hideInRadar: 0 + ignoreRadarRadius: 0 + ignoreRadarScaling: 0 + ignoreRadarFading: 0 + rotateWithGameObject: 1 + useRadarHeightSystem: 1 + hideInCompassBar: 0 + ignoreCompassBarRadius: 0 + useCompassBarDistanceText: 1 + compassBarDistanceTextFormat: '{0}m' + showIndicator: 1 + showOffscreenIndicator: 1 + ignoreIndicatorRadius: 1 + ignoreIndicatorHideDistance: 0 + ignoreIndicatorScaling: 0 + ignoreIndicatorFading: 0 + useIndicatorDistanceText: 1 + showOffscreenIndicatorDistance: 0 + indicatorOnscreenDistanceTextFormat: '{0}m' + indicatorOffscreenDistanceTextFormat: '{0}' + hideInMinimap: 0 + ignoreMinimapRadius: 0 + ignoreMinimapScaling: 0 + ignoreMinimapFading: 0 + rotateWithGameObjectMM: 1 + useMinimapHeightSystem: 1 + OnElementReady: + m_PersistentCalls: + m_Calls: [] + OnElementUpdate: + m_PersistentCalls: + m_Calls: [] + OnAppear: + m_PersistentCalls: + m_Calls: [] + OnDisappear: + m_PersistentCalls: + m_Calls: [] + OnEnterRadius: + m_PersistentCalls: + m_Calls: [] + OnLeaveRadius: + m_PersistentCalls: + m_Calls: [] + IsActive: 1 + Radar: {fileID: 0} + CompassBar: {fileID: 0} + Indicator: {fileID: 0} + Minimap: {fileID: 0} + IsInRadarRadius: 0 + IsInCompassBarRadius: 0 + IsInIndicatorRadius: 0 + IsInMinimapRadius: 0 +--- !u!135 &305743188 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 305743185} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &373237447 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 373237448} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &373237448 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 373237447} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1775012259} + - {fileID: 1495353096} + - {fileID: 1375351075} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &382282522 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1389241028} + m_Modifications: + - target: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_Name + value: Prism + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalScale.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalScale.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalScale.z + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalPosition.y + value: 2.15 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalPosition.z + value: -4.8 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_CastShadows + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: dee95a1a7618983418c8fe51eda6e5b6, type: 2} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + insertIndex: -1 + addedObject: {fileID: 1178570419} + - targetCorrespondingSourceObject: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + insertIndex: -1 + addedObject: {fileID: 1484645265} + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + insertIndex: -1 + addedObject: {fileID: 382282526} + - targetCorrespondingSourceObject: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + insertIndex: -1 + addedObject: {fileID: 382282525} + - targetCorrespondingSourceObject: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + insertIndex: -1 + addedObject: {fileID: 382282527} + m_SourcePrefab: {fileID: 100100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} +--- !u!4 &382282523 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + m_PrefabInstance: {fileID: 382282522} + m_PrefabAsset: {fileID: 0} +--- !u!1 &382282524 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + m_PrefabInstance: {fileID: 382282522} + m_PrefabAsset: {fileID: 0} +--- !u!114 &382282525 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 382282524} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 17300b53e46c36042a725ed90877de88, type: 3} + m_Name: + m_EditorClassIdentifier: + rotationSpeed: 35 + initialColor: + serializedVersion: 2 + rgba: 4026597120 +--- !u!64 &382282526 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 382282524} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 5 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} +--- !u!114 &382282527 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 382282524} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72d3ef2e3d3e94bfabf28fa01d281665, type: 3} + m_Name: + m_EditorClassIdentifier: + bounceSpeed: 3 + bounceHeight: 0.15 +--- !u!1 &730215036 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 730215037} + - component: {fileID: 730215038} + m_Layer: 0 + m_Name: HUD Element Pivot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &730215037 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 730215036} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -4.25, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1790818629} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &730215038 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 730215036} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67a5fc50cb592fe4f95457eb6d66e520, type: 3} + m_Name: + m_EditorClassIdentifier: + Settings: {fileID: 11400000, guid: 9b068031dba13488983a9e443f310e78, type: 2} + Prefabs: + RadarPrefab: {fileID: 0} + CompassBarPrefab: {fileID: 0} + IndicatorPrefab: {fileID: 0} + MinimapPrefab: {fileID: 0} + hideInRadar: 0 + ignoreRadarRadius: 0 + ignoreRadarScaling: 0 + ignoreRadarFading: 0 + rotateWithGameObject: 1 + useRadarHeightSystem: 1 + hideInCompassBar: 0 + ignoreCompassBarRadius: 0 + useCompassBarDistanceText: 1 + compassBarDistanceTextFormat: '{0}m' + showIndicator: 1 + showOffscreenIndicator: 1 + ignoreIndicatorRadius: 1 + ignoreIndicatorHideDistance: 0 + ignoreIndicatorScaling: 0 + ignoreIndicatorFading: 0 + useIndicatorDistanceText: 1 + showOffscreenIndicatorDistance: 0 + indicatorOnscreenDistanceTextFormat: '{0}m' + indicatorOffscreenDistanceTextFormat: '{0}' + hideInMinimap: 0 + ignoreMinimapRadius: 0 + ignoreMinimapScaling: 0 + ignoreMinimapFading: 0 + rotateWithGameObjectMM: 1 + useMinimapHeightSystem: 1 + OnElementReady: + m_PersistentCalls: + m_Calls: [] + OnElementUpdate: + m_PersistentCalls: + m_Calls: [] + OnAppear: + m_PersistentCalls: + m_Calls: [] + OnDisappear: + m_PersistentCalls: + m_Calls: [] + OnEnterRadius: + m_PersistentCalls: + m_Calls: [] + OnLeaveRadius: + m_PersistentCalls: + m_Calls: [] + IsActive: 1 + Radar: {fileID: 0} + CompassBar: {fileID: 0} + Indicator: {fileID: 0} + Minimap: {fileID: 0} + IsInRadarRadius: 0 + IsInCompassBarRadius: 0 + IsInIndicatorRadius: 0 + IsInMinimapRadius: 0 +--- !u!1 &1163049632 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1163049638} + - component: {fileID: 1163049633} + - component: {fileID: 1163049636} + - component: {fileID: 1163049635} + - component: {fileID: 1163049639} + - component: {fileID: 1163049634} + - component: {fileID: 1163049637} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!20 &1163049633 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1163049632} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.13235295, g: 0.13235295, b: 0.13235295, a: 1} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 0 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!114 &1163049634 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1163049632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad75342afe20ce141a5162cf50d6b252, type: 3} + m_Name: + m_EditorClassIdentifier: + sensitivityX: 3 + sensitivityY: 3 + rotationLimitsX: {x: -360, y: 360} + rotationLimitsY: {x: -60, y: 60} + rotationSmooth: 8 + axes: 1 +--- !u!81 &1163049635 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1163049632} + m_Enabled: 1 +--- !u!124 &1163049636 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1163049632} + m_Enabled: 1 +--- !u!114 &1163049637 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1163049632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f08e1e1df9ee15b4a8de0b9cbc8267bd, type: 3} + m_Name: + m_EditorClassIdentifier: + layerMask: + serializedVersion: 2 + m_Bits: 1 + interactionDistance: 4 +--- !u!4 &1163049638 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1163049632} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.65, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1933003644} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1163049639 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1163049632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 15b600b67bb20cb47946eabe54f0ad44, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1178570418 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1178570419} + - component: {fileID: 1178570420} + m_Layer: 0 + m_Name: HUD Element Pivot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1178570419 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1178570418} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 382282523} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1178570420 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1178570418} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67a5fc50cb592fe4f95457eb6d66e520, type: 3} + m_Name: + m_EditorClassIdentifier: + Settings: {fileID: 0} + Prefabs: + RadarPrefab: {fileID: 114649513964931752, guid: 7df08e2a2fd0940469fa781e26554019, type: 3} + CompassBarPrefab: {fileID: 114875581833013858, guid: d04e4256c86dfc4439da3d1b4407458e, type: 3} + IndicatorPrefab: {fileID: 114774112296258654, guid: 43ca8a78e154fef43a69247ce19eadc6, type: 3} + MinimapPrefab: {fileID: 114416010850775958, guid: a8f2acb57900dfa4fa38df814b1b9a5c, type: 3} + hideInRadar: 0 + ignoreRadarRadius: 0 + ignoreRadarScaling: 0 + ignoreRadarFading: 0 + rotateWithGameObject: 1 + useRadarHeightSystem: 1 + hideInCompassBar: 0 + ignoreCompassBarRadius: 0 + useCompassBarDistanceText: 0 + compassBarDistanceTextFormat: '{0}m' + showIndicator: 1 + showOffscreenIndicator: 1 + ignoreIndicatorRadius: 1 + ignoreIndicatorHideDistance: 1 + ignoreIndicatorScaling: 0 + ignoreIndicatorFading: 1 + useIndicatorDistanceText: 1 + showOffscreenIndicatorDistance: 0 + indicatorOnscreenDistanceTextFormat: '{0}m' + indicatorOffscreenDistanceTextFormat: '{0}' + hideInMinimap: 0 + ignoreMinimapRadius: 0 + ignoreMinimapScaling: 0 + ignoreMinimapFading: 0 + rotateWithGameObjectMM: 1 + useMinimapHeightSystem: 1 + OnElementReady: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 382282525} + m_TargetAssemblyTypeName: + m_MethodName: SetInitialPrismColor + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + OnElementUpdate: + m_PersistentCalls: + m_Calls: [] + OnAppear: + m_PersistentCalls: + m_Calls: [] + OnDisappear: + m_PersistentCalls: + m_Calls: [] + OnEnterRadius: + m_PersistentCalls: + m_Calls: [] + OnLeaveRadius: + m_PersistentCalls: + m_Calls: [] + IsActive: 1 + Radar: {fileID: 0} + CompassBar: {fileID: 0} + Indicator: {fileID: 0} + Minimap: {fileID: 0} + IsInRadarRadius: 0 + IsInCompassBarRadius: 0 + IsInIndicatorRadius: 0 + IsInMinimapRadius: 0 +--- !u!1001 &1178866123 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 373237448} + m_Modifications: + - target: {fileID: 100000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + propertyPath: m_Name + value: House_Inside + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + propertyPath: m_LocalRotation.x + value: 0.00000008146034 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + insertIndex: -1 + addedObject: {fileID: 305743186} + - targetCorrespondingSourceObject: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + insertIndex: -1 + addedObject: {fileID: 1637873567} + - targetCorrespondingSourceObject: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + insertIndex: -1 + addedObject: {fileID: 1790818629} + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} +--- !u!1 &1320114710 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1320114711} + - component: {fileID: 1320114713} + - component: {fileID: 1320114712} + - component: {fileID: 1320114714} + m_Layer: 5 + m_Name: Controls Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1320114711 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320114710} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1440432460} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 30, y: 30} + m_SizeDelta: {x: 400, y: 200} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1320114712 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320114710} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 5dfd9f912568dd149a87a39b8befa8da, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 0.922} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 5dfd9f912568dd149a87a39b8befa8da, type: 3} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 6 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 0.85 + m_Text: 'CONTROLS + + WASD: + Move + + Space: Jump + + E: Interact / Pick Up + + H: + Toggle HNS ON/OFF + + 1 / 2 / 3 / 4: Toggle Features ON/OFF + + 5 + / 6: Toggle Radar/Minimap MODE + + 7: Toggle Custom Minimap LAYER + + X + / C: Zoom Radar -/+ + + V / B: Offscreen Border -/+ + + N / M: + Minimap Zoom -/+' +--- !u!222 &1320114713 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320114710} + m_CullTransparentMesh: 0 +--- !u!225 &1320114714 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320114710} + m_Enabled: 1 + m_Alpha: 0.5 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!1 &1374516160 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1374516161} + - component: {fileID: 1374516162} + m_Layer: 0 + m_Name: Point Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1374516161 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1374516160} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.63, y: 2.79, z: 2.12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1495353096} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!108 &1374516162 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1374516160} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 2 + m_Shape: 0 + m_Color: {r: 1, g: 0.91764706, b: 0.7411765, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1375351075 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 69bcf6c7ea18e42f5890f66c93354351, type: 3} + m_PrefabInstance: {fileID: 1178866123} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1389241027 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1389241028} + m_Layer: 0 + m_Name: Demo Elements + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1389241028 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1389241027} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 382282523} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1440432456 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1440432460} + - component: {fileID: 1440432459} + - component: {fileID: 1440432458} + - component: {fileID: 1440432457} + - component: {fileID: 1440432461} + m_Layer: 5 + m_Name: Demo Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1440432457 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1440432456} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1440432458 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1440432456} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1280, y: 720} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1440432459 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1440432456} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1440432460 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1440432456} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1320114711} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!225 &1440432461 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1440432456} + m_Enabled: 1 + m_Alpha: 0.5 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!1 &1484645264 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1484645265} + - component: {fileID: 1484645266} + m_Layer: 0 + m_Name: Point Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1484645265 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1484645264} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 382282523} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!108 &1484645266 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1484645264} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 2 + m_Shape: 0 + m_Color: {r: 0, g: 1, b: 0, a: 0.9411765} + m_Intensity: 2 + m_Range: 8 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 0.8 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!1 &1495353095 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1495353096} + m_Layer: 0 + m_Name: Lights + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1495353096 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1495353095} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2060614657} + - {fileID: 1374516161} + m_Father: {fileID: 373237448} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1637873566 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1637873567} + - component: {fileID: 1637873568} + m_Layer: 0 + m_Name: PictureFrame_SG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1637873567 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1637873566} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: 5.88, y: 2.835, z: 0.475} + m_LocalScale: {x: 0.128, y: 0.128, z: 0.128} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1790506146} + m_Father: {fileID: 1375351075} + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!212 &1637873568 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1637873566} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: d1752ef562dcbc3cda6289e69e16d26d, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 10.24, y: 7.7} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1775012258 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1775012259} + m_Layer: 0 + m_Name: SpawnPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1775012259 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1775012258} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.86602545, z: 0, w: 0.49999994} + m_LocalPosition: {x: -3, y: 1.34, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 373237448} + m_LocalEulerAnglesHint: {x: 0, y: 120, z: 0} +--- !u!1 &1790506145 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1790506146} + - component: {fileID: 1790506147} + m_Layer: 0 + m_Name: HUD Element Pivot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1790506146 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1790506145} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -4.25, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1637873567} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1790506147 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1790506145} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67a5fc50cb592fe4f95457eb6d66e520, type: 3} + m_Name: + m_EditorClassIdentifier: + Settings: {fileID: 11400000, guid: 9b068031dba13488983a9e443f310e78, type: 2} + Prefabs: + RadarPrefab: {fileID: 0} + CompassBarPrefab: {fileID: 0} + IndicatorPrefab: {fileID: 0} + MinimapPrefab: {fileID: 0} + hideInRadar: 0 + ignoreRadarRadius: 0 + ignoreRadarScaling: 0 + ignoreRadarFading: 0 + rotateWithGameObject: 1 + useRadarHeightSystem: 1 + hideInCompassBar: 0 + ignoreCompassBarRadius: 0 + useCompassBarDistanceText: 1 + compassBarDistanceTextFormat: '{0}m' + showIndicator: 1 + showOffscreenIndicator: 1 + ignoreIndicatorRadius: 1 + ignoreIndicatorHideDistance: 0 + ignoreIndicatorScaling: 0 + ignoreIndicatorFading: 0 + useIndicatorDistanceText: 1 + showOffscreenIndicatorDistance: 0 + indicatorOnscreenDistanceTextFormat: '{0}m' + indicatorOffscreenDistanceTextFormat: '{0}' + hideInMinimap: 0 + ignoreMinimapRadius: 0 + ignoreMinimapScaling: 0 + ignoreMinimapFading: 0 + rotateWithGameObjectMM: 1 + useMinimapHeightSystem: 1 + OnElementReady: + m_PersistentCalls: + m_Calls: [] + OnElementUpdate: + m_PersistentCalls: + m_Calls: [] + OnAppear: + m_PersistentCalls: + m_Calls: [] + OnDisappear: + m_PersistentCalls: + m_Calls: [] + OnEnterRadius: + m_PersistentCalls: + m_Calls: [] + OnLeaveRadius: + m_PersistentCalls: + m_Calls: [] + IsActive: 1 + Radar: {fileID: 0} + CompassBar: {fileID: 0} + Indicator: {fileID: 0} + Minimap: {fileID: 0} + IsInRadarRadius: 0 + IsInCompassBarRadius: 0 + IsInIndicatorRadius: 0 + IsInMinimapRadius: 0 +--- !u!1 &1790818628 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1790818629} + - component: {fileID: 1790818630} + m_Layer: 0 + m_Name: PictureFrame_HNS + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1790818629 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1790818628} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: 5.88, y: 2.835, z: -3.265} + m_LocalScale: {x: 0.128, y: 0.128, z: 0.128} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 730215037} + m_Father: {fileID: 1375351075} + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!212 &1790818630 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1790818628} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 7c4383883ec325d0fb5f7521017c5361, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 10.24, y: 7.7} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1862512773 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1862512775} + - component: {fileID: 1862512776} + - component: {fileID: 1862512774} + m_Layer: 0 + m_Name: '[HUD Navigation System]' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1862512774 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1862512773} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ad9065c0cb31a149b1d36606e6cc184, type: 3} + m_Name: + m_EditorClassIdentifier: + Configurations: + - _Scene: + _sceneAsset: {fileID: 102900000, guid: 2221441c5fc4b0b4bb2046aa9f0e742c, type: 3} + _path: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_SkyIsland.unity + _DisabledInScene: 0 + _Config: {fileID: 11400000, guid: 6902e1cf6ef547d4893f91574cabceef, type: 2} + - _Scene: + _sceneAsset: {fileID: 102900000, guid: 69288994bc601ac44b2feeff5bfde1fe, type: 3} + _path: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_House.unity + _DisabledInScene: 0 + _Config: {fileID: 11400000, guid: 6ffee79e35eb90f44903548785fe309e, type: 2} +--- !u!4 &1862512775 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1862512773} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -582.8222, y: 54.64898, z: 123.869385} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1862512776 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1862512773} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: eb9ded4d92630cb40b12b700d24579ac, type: 3} + m_Name: + m_EditorClassIdentifier: + _isEnabled: 1 + PlayerCamera: {fileID: 0} + PlayerController: {fileID: 0} + RotationReference: 0 + UpdateMode: 1 + KeepAliveOnLoad: 1 + useRadar: 1 + radarMode: 1 + radarZoom: 1 + radarRadius: 50 + radarMaxRadius: 75 + useRadarScaling: 1 + radarScaleDistance: 10 + radarMinScale: 0.35 + useRadarFading: 1 + radarFadeDistance: 5 + radarMinFade: 0 + useRadarHeightSystem: 1 + radarDistanceAbove: 5 + radarDistanceBelow: 5 + showRadarHeightGizmos: 0 + radarHeightGizmoSize: {x: 100, y: 100} + radarHeightGizmoColor: {r: 0, g: 0, b: 1, a: 0.4} + useCompassBar: 1 + compassBarRadius: 75 + useIndicators: 1 + indicatorRadius: 10 + indicatorHideDistance: 1.75 + useOffscreenIndicators: 1 + indicatorOffscreenBorder: 0.1 + useIndicatorScaling: 1 + indicatorScaleRadius: 1 + indicatorMinScale: 0.8 + useIndicatorFading: 1 + indicatorFadeRadius: 10 + indicatorMinFade: 0 + useMinimap: 1 + minimapProfile: {fileID: 11400000, guid: 263ac76fd96a0d3469ca0f61fe774580, type: 2} + currentMinimapProfile: {fileID: 0} + minimapMode: 1 + minimapShape: 0 + minimapScale: 0.1 + minimapRadius: 75 + useMinimapScaling: 1 + minimapScaleDistance: 10 + minimapMinScale: 0.35 + useMinimapFading: 1 + minimapFadeDistance: 5 + minimapMinFade: 0 + showMinimapBounds: 1 + minimapBoundsGizmoColor: {r: 0, g: 1, b: 0, a: 0.882} + useMinimapHeightSystem: 1 + minimapDistanceAbove: 5 + minimapDistanceBelow: 5 + showMinimapHeightGizmos: 0 + minimapHeightGizmoSize: {x: 100, y: 100} + minimapHeightGizmoColor: {r: 0, g: 0, b: 1, a: 0.4} + NavigationElements: [] +--- !u!1 &1933003636 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1933003644} + - component: {fileID: 1933003642} + - component: {fileID: 1933003640} + - component: {fileID: 1933003637} + - component: {fileID: 1933003638} + - component: {fileID: 1933003639} + - component: {fileID: 1933003641} + m_Layer: 0 + m_Name: ExamplePlayer + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1933003637 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1933003636} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c1d204e3674d92d46820131cf7f92657, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1933003638 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1933003636} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4d82d9d8fcf39534bbce422584a33b9c, type: 3} + m_Name: + m_EditorClassIdentifier: + walkSpeed: 8 + runSpeed: 12 + jumpHeight: 3.25 + gravity: 28 +--- !u!114 &1933003639 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1933003636} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad75342afe20ce141a5162cf50d6b252, type: 3} + m_Name: + m_EditorClassIdentifier: + sensitivityX: 3 + sensitivityY: 3 + rotationLimitsX: {x: -360, y: 360} + rotationLimitsY: {x: -60, y: 60} + rotationSmooth: 8 + axes: 0 +--- !u!54 &1933003640 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1933003636} + serializedVersion: 4 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 80 + m_CollisionDetection: 0 +--- !u!114 &1933003641 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1933003636} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3a87176a27d460c459709d597bf61cd3, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!136 &1933003642 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1933003636} + m_Material: {fileID: 13400000, guid: 2d66b1633dfdac842be56cddd23ab93e, type: 2} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!4 &1933003644 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1933003636} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.86602545, z: 0, w: 0.49999994} + m_LocalPosition: {x: -3, y: 1.34, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1163049638} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 120, z: 0} +--- !u!1 &2060614656 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2060614657} + - component: {fileID: 2060614658} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2060614657 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2060614656} + serializedVersion: 2 + m_LocalRotation: {x: 0.6963643, y: 0.12278784, z: 0.12278784, w: 0.6963643} + m_LocalPosition: {x: 0.42, y: -1.15, z: -0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1495353096} + m_LocalEulerAnglesHint: {x: 70, y: 90, z: 90} +--- !u!108 &2060614658 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2060614656} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.918357, b: 0.74264705, a: 1} + m_Intensity: 0.8 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 0.65 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 0 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!1001 &2106054187 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1172632575032340, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_Name + value: '[HUD Navigation Canvas]' + objectReference: {fileID: 0} + - target: {fileID: 1837124348523414, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1928833737707516, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114666669601778852, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_PreserveAspect + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114925672327079108, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_Texture + value: + objectReference: {fileID: 2800000, guid: d359f9c77bb0931449c856744923396f, type: 3} + - target: {fileID: 224725425921017504, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_SizeDelta.y + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 224725425921017504, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224725425921017504, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_Pivot.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1865007758095543203, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6899019801554349581, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 1862512775} + - {fileID: 2106054187} + - {fileID: 1440432460} + - {fileID: 1933003644} + - {fileID: 1389241028} + - {fileID: 373237448} diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_House.unity.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_House.unity.meta new file mode 100644 index 000000000..7789c3cec --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_House.unity.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 69288994bc601ac44b2feeff5bfde1fe +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_House.unity + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_SkyIsland.unity b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_SkyIsland.unity index 9c990ed9f..d36cfcaf5 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_SkyIsland.unity +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_SkyIsland.unity @@ -38,12 +38,11 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 11 + serializedVersion: 12 m_GIWorkflowMode: 1 m_GISettings: serializedVersion: 2 @@ -54,7 +53,7 @@ LightmapSettings: m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 1 m_LightmapEditorSettings: - serializedVersion: 10 + serializedVersion: 12 m_Resolution: 2 m_BakeResolution: 40 m_AtlasSize: 1024 @@ -62,6 +61,7 @@ LightmapSettings: m_AOMaxDistance: 1 m_CompAOExponent: 1 m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 m_Padding: 2 m_LightmapParameters: {fileID: 0} m_LightmapsBakeMode: 1 @@ -76,10 +76,16 @@ LightmapSettings: m_PVRDirectSampleCount: 32 m_PVRSampleCount: 500 m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 m_PVRFilterTypeDirect: 0 m_PVRFilterTypeIndirect: 0 m_PVRFilterTypeAO: 0 - m_PVRFilteringMode: 1 + m_PVREnvironmentMIS: 0 m_PVRCulling: 1 m_PVRFilteringGaussRadiusDirect: 1 m_PVRFilteringGaussRadiusIndirect: 5 @@ -87,15 +93,17 @@ LightmapSettings: m_PVRFilteringAtrousPositionSigmaDirect: 0.5 m_PVRFilteringAtrousPositionSigmaIndirect: 2 m_PVRFilteringAtrousPositionSigmaAO: 1 - m_ShowResolutionOverlay: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 + m_LightingSettings: {fileID: 589489904} --- !u!196 &4 NavMeshSettings: serializedVersion: 2 m_ObjectHideFlags: 0 m_BuildSettings: - serializedVersion: 2 + serializedVersion: 3 agentTypeID: 0 agentRadius: 0.5 agentHeight: 2 @@ -108,7 +116,9 @@ NavMeshSettings: cellSize: 0.16666667 manualTileSize: 0 tileSize: 256 - accuratePlacement: 0 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_NavMeshData: {fileID: 0} @@ -136,12 +146,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8033380} + serializedVersion: 2 m_LocalRotation: {x: -0, y: 0.7071068, z: 0.7071068, w: 0} m_LocalPosition: {x: -3.0280008, y: 2.0930004, z: 3.0909996} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 260004404} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180} --- !u!114 &8033382 MonoBehaviour: @@ -157,14 +168,10 @@ MonoBehaviour: m_EditorClassIdentifier: Settings: {fileID: 0} Prefabs: - RadarPrefab: {fileID: 114278036144483708, guid: 957f0de74025de941b4d59a450a4aaf0, - type: 3} - CompassBarPrefab: {fileID: 114933213283187704, guid: 9e79cc727f44041419cdac8f370009fd, - type: 3} - IndicatorPrefab: {fileID: 114217203137382804, guid: c99e811795d91e545aa0babab68a2d21, - type: 3} - MinimapPrefab: {fileID: 114337368606235170, guid: 295e22ec550a1f648a219e7e88a1d2f5, - type: 3} + RadarPrefab: {fileID: 114278036144483708, guid: 957f0de74025de941b4d59a450a4aaf0, type: 3} + CompassBarPrefab: {fileID: 114933213283187704, guid: 9e79cc727f44041419cdac8f370009fd, type: 3} + IndicatorPrefab: {fileID: 114217203137382804, guid: c99e811795d91e545aa0babab68a2d21, type: 3} + MinimapPrefab: {fileID: 114337368606235170, guid: 295e22ec550a1f648a219e7e88a1d2f5, type: 3} hideInRadar: 0 ignoreRadarRadius: 1 ignoreRadarScaling: 0 @@ -223,8 +230,25 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 18 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: 17.781466 @@ -237,44 +261,38 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 53.516903 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 18 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.017285442 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.017285421 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.012834954 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!4 &22030771 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 22030770} m_PrefabAsset: {fileID: 0} --- !u!1 &46209035 @@ -301,12 +319,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 46209035} + serializedVersion: 2 m_LocalRotation: {x: 0.12278784, y: 0.6963643, z: 0.6963643, w: 0.12278784} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 312139619} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: -70, y: 90, z: 90} --- !u!108 &46209037 Light: @@ -316,12 +335,14 @@ Light: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 46209035} m_Enabled: 1 - serializedVersion: 8 + serializedVersion: 10 m_Type: 1 + m_Shape: 0 m_Color: {r: 0.99574035, g: 1, b: 0.6911765, a: 1} m_Intensity: 0.65 m_Range: 10 m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 m_CookieSize: 10 m_Shadows: m_Type: 1 @@ -331,6 +352,24 @@ Light: m_Bias: 0.05 m_NormalBias: 0.4 m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 m_Cookie: {fileID: 0} m_DrawHalo: 0 m_Flare: {fileID: 0} @@ -338,19 +377,147 @@ Light: m_CullingMask: serializedVersion: 2 m_Bits: 4294967295 + m_RenderingLayerMask: 1 m_Lightmapping: 4 m_LightShadowCasterMode: 0 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 0 m_ColorTemperature: 6570 m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 m_ShadowRadius: 0 m_ShadowAngle: 0 +--- !u!1 &138804351 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 138804352} + - component: {fileID: 138804354} + - component: {fileID: 138804353} + m_Layer: 0 + m_Name: HUD Element // Open Door + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &138804352 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 138804351} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -1, z: 0.00000008146034, w: 0} + m_LocalPosition: {x: -2.406, y: 1.761, z: 3.0909996} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 260004404} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!135 &138804353 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 138804351} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &138804354 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 138804351} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67a5fc50cb592fe4f95457eb6d66e520, type: 3} + m_Name: + m_EditorClassIdentifier: + Settings: {fileID: 11400000, guid: 7ace3123c868542879e01ac849c5a93f, type: 2} + Prefabs: + RadarPrefab: {fileID: 0} + CompassBarPrefab: {fileID: 0} + IndicatorPrefab: {fileID: 0} + MinimapPrefab: {fileID: 0} + hideInRadar: 0 + ignoreRadarRadius: 0 + ignoreRadarScaling: 0 + ignoreRadarFading: 0 + rotateWithGameObject: 1 + useRadarHeightSystem: 1 + hideInCompassBar: 0 + ignoreCompassBarRadius: 0 + useCompassBarDistanceText: 1 + compassBarDistanceTextFormat: '{0}m' + showIndicator: 1 + showOffscreenIndicator: 1 + ignoreIndicatorRadius: 1 + ignoreIndicatorHideDistance: 0 + ignoreIndicatorScaling: 0 + ignoreIndicatorFading: 0 + useIndicatorDistanceText: 1 + showOffscreenIndicatorDistance: 0 + indicatorOnscreenDistanceTextFormat: '{0}m' + indicatorOffscreenDistanceTextFormat: '{0}' + hideInMinimap: 0 + ignoreMinimapRadius: 0 + ignoreMinimapScaling: 0 + ignoreMinimapFading: 0 + rotateWithGameObjectMM: 1 + useMinimapHeightSystem: 1 + OnElementReady: + m_PersistentCalls: + m_Calls: [] + OnElementUpdate: + m_PersistentCalls: + m_Calls: [] + OnAppear: + m_PersistentCalls: + m_Calls: [] + OnDisappear: + m_PersistentCalls: + m_Calls: [] + OnEnterRadius: + m_PersistentCalls: + m_Calls: [] + OnLeaveRadius: + m_PersistentCalls: + m_Calls: [] + IsActive: 1 + Radar: {fileID: 0} + CompassBar: {fileID: 0} + Indicator: {fileID: 0} + Minimap: {fileID: 0} + IsInRadarRadius: 0 + IsInCompassBarRadius: 0 + IsInIndicatorRadius: 0 + IsInMinimapRadius: 0 --- !u!1 &195069447 GameObject: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 1210658510126840, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 @@ -371,23 +538,22 @@ GameObject: --- !u!4 &195069448 Transform: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 4334845750472866, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 195069447} + serializedVersion: 2 m_LocalRotation: {x: -0.38831988, y: 0, z: 0, w: 0.9215247} m_LocalPosition: {x: -21.4, y: 1.55, z: -13.2} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 639198841} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: -45.7, y: 0, z: 0} --- !u!114 &195069449 MonoBehaviour: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 114772731550180928, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 195069447} @@ -463,24 +629,42 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 195069447} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 5 m_Convex: 1 - m_CookingOptions: 14 + m_CookingOptions: 30 m_Mesh: {fileID: 4300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} --- !u!54 &195069451 Rigidbody: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 54327520307106458, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 195069447} - serializedVersion: 2 + serializedVersion: 4 m_Mass: 1 m_Drag: 0 m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 m_UseGravity: 1 m_IsKinematic: 0 m_Interpolate: 0 @@ -489,8 +673,7 @@ Rigidbody: --- !u!23 &195069452 MeshRenderer: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 23254394434853872, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 195069447} @@ -498,9 +681,12 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -512,6 +698,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -524,11 +711,11 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &195069453 MeshFilter: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 33923973361170074, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 195069447} @@ -538,6 +725,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1389241028} m_Modifications: - target: {fileID: 100000, guid: ba9d29c0b0964024f87353e97be1b266, type: 3} @@ -548,6 +736,10 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ba9d29c0b0964024f87353e97be1b266, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: ba9d29c0b0964024f87353e97be1b266, type: 3} propertyPath: m_LocalPosition.x value: 4.84 @@ -560,6 +752,10 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 47.46 objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ba9d29c0b0964024f87353e97be1b266, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: ba9d29c0b0964024f87353e97be1b266, type: 3} propertyPath: m_LocalRotation.x value: 0 @@ -572,32 +768,32 @@ PrefabInstance: propertyPath: m_LocalRotation.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: ba9d29c0b0964024f87353e97be1b266, type: 3} - propertyPath: m_LocalRotation.w - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: ba9d29c0b0964024f87353e97be1b266, type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: ba9d29c0b0964024f87353e97be1b266, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: ba9d29c0b0964024f87353e97be1b266, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: ba9d29c0b0964024f87353e97be1b266, type: 3} propertyPath: m_LocalEulerAnglesHint.y value: 180 objectReference: {fileID: 0} + - target: {fileID: 400000, guid: ba9d29c0b0964024f87353e97be1b266, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 400000, guid: ba9d29c0b0964024f87353e97be1b266, type: 3} + insertIndex: -1 + addedObject: {fileID: 138804352} + - targetCorrespondingSourceObject: {fileID: 400000, guid: ba9d29c0b0964024f87353e97be1b266, type: 3} + insertIndex: -1 + addedObject: {fileID: 8033381} + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: ba9d29c0b0964024f87353e97be1b266, type: 3} --- !u!4 &260004404 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: ba9d29c0b0964024f87353e97be1b266, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: ba9d29c0b0964024f87353e97be1b266, type: 3} m_PrefabInstance: {fileID: 260004403} m_PrefabAsset: {fileID: 0} --- !u!1 &267351078 @@ -624,12 +820,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 267351078} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1308425983} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &267351080 MonoBehaviour: @@ -645,14 +842,10 @@ MonoBehaviour: m_EditorClassIdentifier: Settings: {fileID: 0} Prefabs: - RadarPrefab: {fileID: 114649513964931752, guid: 7df08e2a2fd0940469fa781e26554019, - type: 3} - CompassBarPrefab: {fileID: 114875581833013858, guid: d04e4256c86dfc4439da3d1b4407458e, - type: 3} - IndicatorPrefab: {fileID: 114774112296258654, guid: 43ca8a78e154fef43a69247ce19eadc6, - type: 3} - MinimapPrefab: {fileID: 114416010850775958, guid: a8f2acb57900dfa4fa38df814b1b9a5c, - type: 3} + RadarPrefab: {fileID: 114649513964931752, guid: 7df08e2a2fd0940469fa781e26554019, type: 3} + CompassBarPrefab: {fileID: 114875581833013858, guid: d04e4256c86dfc4439da3d1b4407458e, type: 3} + IndicatorPrefab: {fileID: 114774112296258654, guid: 43ca8a78e154fef43a69247ce19eadc6, type: 3} + MinimapPrefab: {fileID: 114416010850775958, guid: a8f2acb57900dfa4fa38df814b1b9a5c, type: 3} hideInRadar: 0 ignoreRadarRadius: 0 ignoreRadarScaling: 0 @@ -681,7 +874,20 @@ MonoBehaviour: useMinimapHeightSystem: 1 OnElementReady: m_PersistentCalls: - m_Calls: [] + m_Calls: + - m_Target: {fileID: 1308425985} + m_TargetAssemblyTypeName: SickscoreGames.ExampleScene.ExampleRotatePrism, + Assembly-CSharp + m_MethodName: SetInitialPrismColor + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 OnElementUpdate: m_PersistentCalls: m_Calls: [] @@ -730,12 +936,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 291946673} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1081487582} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &291946675 MonoBehaviour: @@ -751,14 +958,10 @@ MonoBehaviour: m_EditorClassIdentifier: Settings: {fileID: 0} Prefabs: - RadarPrefab: {fileID: 114649513964931752, guid: 7df08e2a2fd0940469fa781e26554019, - type: 3} - CompassBarPrefab: {fileID: 114875581833013858, guid: d04e4256c86dfc4439da3d1b4407458e, - type: 3} - IndicatorPrefab: {fileID: 114774112296258654, guid: 43ca8a78e154fef43a69247ce19eadc6, - type: 3} - MinimapPrefab: {fileID: 114416010850775958, guid: a8f2acb57900dfa4fa38df814b1b9a5c, - type: 3} + RadarPrefab: {fileID: 114649513964931752, guid: 7df08e2a2fd0940469fa781e26554019, type: 3} + CompassBarPrefab: {fileID: 114875581833013858, guid: d04e4256c86dfc4439da3d1b4407458e, type: 3} + IndicatorPrefab: {fileID: 114774112296258654, guid: 43ca8a78e154fef43a69247ce19eadc6, type: 3} + MinimapPrefab: {fileID: 114416010850775958, guid: a8f2acb57900dfa4fa38df814b1b9a5c, type: 3} hideInRadar: 0 ignoreRadarRadius: 0 ignoreRadarScaling: 0 @@ -787,7 +990,20 @@ MonoBehaviour: useMinimapHeightSystem: 1 OnElementReady: m_PersistentCalls: - m_Calls: [] + m_Calls: + - m_Target: {fileID: 1081487584} + m_TargetAssemblyTypeName: SickscoreGames.ExampleScene.ExampleRotatePrism, + Assembly-CSharp + m_MethodName: SetInitialPrismColor + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 OnElementUpdate: m_PersistentCalls: m_Calls: [] @@ -835,26 +1051,44 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 312139618} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1791102198} - {fileID: 46209036} m_Father: {fileID: 373237448} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &320065248 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (9) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: -12.849299 @@ -867,44 +1101,38 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 66.99759 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 8 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.014450216 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.014450215 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.014450215 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!4 &320065249 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 320065248} m_PrefabAsset: {fileID: 0} --- !u!1001 &326616898 @@ -912,12 +1140,29 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (16) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: -24.096682 @@ -930,48 +1175,42 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: -29.146976 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder + propertyPath: m_LocalRotation.x value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.010541421 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.010541414 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.010541414 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} - target: {fileID: 6400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Convex value: 0 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!4 &326616899 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 326616898} m_PrefabAsset: {fileID: 0} --- !u!1001 &346299526 @@ -979,12 +1218,29 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (15) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: -29.63521 @@ -997,44 +1253,38 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: -37.541557 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalRotation.y value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.013230713 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.013230706 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.013230706 + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!4 &346299527 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 346299526} m_PrefabAsset: {fileID: 0} --- !u!1 &373237447 @@ -1060,89 +1310,87 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 373237447} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1775012259} - {fileID: 312139619} - {fileID: 1863383072} - {fileID: 821271711} m_Father: {fileID: 0} - m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &395938589 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 1175295606} m_PrefabAsset: {fileID: 0} ---- !u!1 &596973529 -GameObject: +--- !u!850595691 &589489904 +LightingSettings: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} + m_Name: Settings.lighting serializedVersion: 6 - m_Component: - - component: {fileID: 596973532} - - component: {fileID: 596973531} - - component: {fileID: 596973530} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &596973530 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 596973529} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel - m_InputActionsPerSecond: 10 - m_RepeatDelay: 0.5 - m_ForceModuleActive: 0 ---- !u!114 &596973531 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 596973529} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 ---- !u!4 &596973532 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 596973529} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_GIWorkflowMode: 1 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 0 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_LightmapCompression: 3 + m_AO: 1 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVREnvironmentSampleCount: 512 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentImportanceSampling: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_PVRTiledBaking: 0 + m_NumRaysToShootPerTexel: -1 + m_RespectSceneVisibilityWhenBakingGI: 0 --- !u!1 &639198840 GameObject: m_ObjectHideFlags: 0 @@ -1166,9 +1414,11 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 639198840} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 7, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1896861420} - {fileID: 195069448} @@ -1179,19 +1429,16 @@ Transform: - {fileID: 1552377551} - {fileID: 1139246771} m_Father: {fileID: 1389241028} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &658781670 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 1165278073} m_PrefabAsset: {fileID: 0} --- !u!1 &659136999 GameObject: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 1210658510126840, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 @@ -1212,23 +1459,22 @@ GameObject: --- !u!4 &659137000 Transform: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 4334845750472866, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 659136999} + serializedVersion: 2 m_LocalRotation: {x: -0.38831988, y: 0, z: 0, w: 0.9215247} m_LocalPosition: {x: -31.7, y: 1.05, z: 26.6} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 639198841} - m_RootOrder: 4 m_LocalEulerAnglesHint: {x: -45.7, y: 0, z: 0} --- !u!114 &659137001 MonoBehaviour: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 114772731550180928, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 659136999} @@ -1304,24 +1550,42 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 659136999} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 5 m_Convex: 1 - m_CookingOptions: 14 + m_CookingOptions: 30 m_Mesh: {fileID: 4300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} --- !u!54 &659137003 Rigidbody: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 54327520307106458, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 659136999} - serializedVersion: 2 + serializedVersion: 4 m_Mass: 1 m_Drag: 0 m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 m_UseGravity: 1 m_IsKinematic: 0 m_Interpolate: 0 @@ -1330,8 +1594,7 @@ Rigidbody: --- !u!23 &659137004 MeshRenderer: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 23254394434853872, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 659136999} @@ -1339,9 +1602,12 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1353,6 +1619,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1365,19 +1632,18 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &659137005 MeshFilter: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 33923973361170074, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 659136999} m_Mesh: {fileID: 4300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} --- !u!4 &706451611 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 1508836909} m_PrefabAsset: {fileID: 0} --- !u!1001 &821271710 @@ -1385,12 +1651,17 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 373237448} m_Modifications: - target: {fileID: 100000, guid: 4f82a8e2834051842bab5a29d4f689b4, type: 3} propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4f82a8e2834051842bab5a29d4f689b4, type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: 4f82a8e2834051842bab5a29d4f689b4, type: 3} propertyPath: m_LocalPosition.x value: -0 @@ -1403,6 +1674,10 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 4f82a8e2834051842bab5a29d4f689b4, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: 4f82a8e2834051842bab5a29d4f689b4, type: 3} propertyPath: m_LocalRotation.x value: 0 @@ -1415,20 +1690,17 @@ PrefabInstance: propertyPath: m_LocalRotation.z value: -0 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 4f82a8e2834051842bab5a29d4f689b4, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 4f82a8e2834051842bab5a29d4f689b4, type: 3} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 400000, guid: 4f82a8e2834051842bab5a29d4f689b4, type: 3} + insertIndex: -1 + addedObject: {fileID: 1482200939} + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 4f82a8e2834051842bab5a29d4f689b4, type: 3} --- !u!4 &821271711 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: 4f82a8e2834051842bab5a29d4f689b4, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: 4f82a8e2834051842bab5a29d4f689b4, type: 3} m_PrefabInstance: {fileID: 821271710} m_PrefabAsset: {fileID: 0} --- !u!1001 &966804269 @@ -1436,12 +1708,29 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (6) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: -37.711857 @@ -1454,51 +1743,44 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 47.781025 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 12 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.011924264 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.011924257 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.011924257 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!4 &966804270 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 966804269} m_PrefabAsset: {fileID: 0} --- !u!1 &976339701 GameObject: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 1210658510126840, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 @@ -1519,23 +1801,22 @@ GameObject: --- !u!4 &976339702 Transform: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 4334845750472866, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 976339701} + serializedVersion: 2 m_LocalRotation: {x: -0.38831988, y: 0, z: 0, w: 0.9215247} m_LocalPosition: {x: -22.9, y: 4.32, z: 67.6} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 639198841} - m_RootOrder: 5 m_LocalEulerAnglesHint: {x: -45.7, y: 0, z: 0} --- !u!114 &976339703 MonoBehaviour: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 114772731550180928, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 976339701} @@ -1611,24 +1892,42 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 976339701} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 5 m_Convex: 1 - m_CookingOptions: 14 + m_CookingOptions: 30 m_Mesh: {fileID: 4300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} --- !u!54 &976339705 Rigidbody: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 54327520307106458, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 976339701} - serializedVersion: 2 + serializedVersion: 4 m_Mass: 1 m_Drag: 0 m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 m_UseGravity: 1 m_IsKinematic: 0 m_Interpolate: 0 @@ -1637,8 +1936,7 @@ Rigidbody: --- !u!23 &976339706 MeshRenderer: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 23254394434853872, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 976339701} @@ -1646,9 +1944,12 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1660,6 +1961,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1672,19 +1974,18 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &976339707 MeshFilter: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 33923973361170074, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 976339701} m_Mesh: {fileID: 4300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} --- !u!4 &993898605 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 1101800196} m_PrefabAsset: {fileID: 0} --- !u!1001 &1002953406 @@ -1692,6 +1993,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1389241028} m_Modifications: - target: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} @@ -1702,34 +2004,6 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalPosition.x - value: 33.92 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalPosition.y - value: 3.03 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalPosition.z - value: 4.5 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalRotation.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalRotation.w - value: 0 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} propertyPath: m_RootOrder value: 3 @@ -1746,30 +2020,68 @@ PrefabInstance: propertyPath: m_LocalScale.z value: 2.5 objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalPosition.x + value: 33.92 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalPosition.y + value: 2.88 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalPosition.z + value: 4.5 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} propertyPath: m_LocalEulerAnglesHint.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_CastShadows + value: 1 + objectReference: {fileID: 0} - target: {fileID: 2300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} propertyPath: m_Materials.Array.data[0] value: objectReference: {fileID: 2100000, guid: dee95a1a7618983418c8fe51eda6e5b6, type: 2} - - target: {fileID: 2300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_CastShadows - value: 1 - objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + insertIndex: -1 + addedObject: {fileID: 1683543977} + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + insertIndex: -1 + addedObject: {fileID: 1002953410} + - targetCorrespondingSourceObject: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + insertIndex: -1 + addedObject: {fileID: 1002953409} m_SourcePrefab: {fileID: 100100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} --- !u!4 &1002953407 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} m_PrefabInstance: {fileID: 1002953406} m_PrefabAsset: {fileID: 0} --- !u!1 &1002953408 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, - type: 3} + m_CorrespondingSourceObject: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} m_PrefabInstance: {fileID: 1002953406} m_PrefabAsset: {fileID: 0} --- !u!114 &1002953409 @@ -1785,6 +2097,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: rotationSpeed: 35 + initialColor: + serializedVersion: 2 + rgba: 4060271615 --- !u!64 &1002953410 MeshCollider: m_ObjectHideFlags: 0 @@ -1793,17 +2108,24 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1002953408} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 5 m_Convex: 1 - m_CookingOptions: 14 + m_CookingOptions: 30 m_Mesh: {fileID: 4300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} --- !u!1 &1060298110 GameObject: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 1210658510126840, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 @@ -1824,23 +2146,22 @@ GameObject: --- !u!4 &1060298111 Transform: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 4334845750472866, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1060298110} + serializedVersion: 2 m_LocalRotation: {x: -0.38831988, y: 0, z: 0, w: 0.9215247} m_LocalPosition: {x: -17, y: 0.94, z: 0.6} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 639198841} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: -45.7, y: 0, z: 0} --- !u!114 &1060298112 MonoBehaviour: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 114772731550180928, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1060298110} @@ -1916,24 +2237,42 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1060298110} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 5 m_Convex: 1 - m_CookingOptions: 14 + m_CookingOptions: 30 m_Mesh: {fileID: 4300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} --- !u!54 &1060298114 Rigidbody: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 54327520307106458, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1060298110} - serializedVersion: 2 + serializedVersion: 4 m_Mass: 1 m_Drag: 0 m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 m_UseGravity: 1 m_IsKinematic: 0 m_Interpolate: 0 @@ -1942,8 +2281,7 @@ Rigidbody: --- !u!23 &1060298115 MeshRenderer: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 23254394434853872, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1060298110} @@ -1951,9 +2289,12 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1965,6 +2306,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1977,11 +2319,11 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1060298116 MeshFilter: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 33923973361170074, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1060298110} @@ -1991,6 +2333,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1389241028} m_Modifications: - target: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} @@ -2001,34 +2344,6 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalPosition.x - value: -40.9 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalPosition.y - value: 5.85 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalPosition.z - value: 57.5 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalRotation.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalRotation.w - value: 0 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} propertyPath: m_RootOrder value: 4 @@ -2045,30 +2360,68 @@ PrefabInstance: propertyPath: m_LocalScale.z value: 2.5 objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalPosition.x + value: -40.9 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalPosition.y + value: 5.7 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalPosition.z + value: 57.5 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} propertyPath: m_LocalEulerAnglesHint.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_CastShadows + value: 1 + objectReference: {fileID: 0} - target: {fileID: 2300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} propertyPath: m_Materials.Array.data[0] value: objectReference: {fileID: 2100000, guid: dee95a1a7618983418c8fe51eda6e5b6, type: 2} - - target: {fileID: 2300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_CastShadows - value: 1 - objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + insertIndex: -1 + addedObject: {fileID: 291946674} + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + insertIndex: -1 + addedObject: {fileID: 1081487585} + - targetCorrespondingSourceObject: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + insertIndex: -1 + addedObject: {fileID: 1081487584} m_SourcePrefab: {fileID: 100100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} --- !u!4 &1081487582 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} m_PrefabInstance: {fileID: 1081487581} m_PrefabAsset: {fileID: 0} --- !u!1 &1081487583 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, - type: 3} + m_CorrespondingSourceObject: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} m_PrefabInstance: {fileID: 1081487581} m_PrefabAsset: {fileID: 0} --- !u!114 &1081487584 @@ -2084,6 +2437,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: rotationSpeed: 35 + initialColor: + serializedVersion: 2 + rgba: 4065132799 --- !u!64 &1081487585 MeshCollider: m_ObjectHideFlags: 0 @@ -2092,23 +2448,48 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1081487583} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 5 m_Convex: 1 - m_CookingOptions: 14 + m_CookingOptions: 30 m_Mesh: {fileID: 4300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} --- !u!1001 &1092489237 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (1) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 17 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: 14.458268 @@ -2121,44 +2502,38 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 45.114037 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 17 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.0072851237 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.00728512 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.00728512 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!4 &1092489238 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 1092489237} m_PrefabAsset: {fileID: 0} --- !u!1001 &1101800196 @@ -2166,12 +2541,29 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (3) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: -13.7 @@ -2184,47 +2576,63 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 40.596745 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 5 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.009999992 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.009999992 + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!1001 &1104203914 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (5) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: 24.040762 @@ -2237,51 +2645,44 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 29.743856 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 13 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.00861297 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.008612963 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.008612963 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!4 &1104203915 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 1104203914} m_PrefabAsset: {fileID: 0} --- !u!1 &1139246770 GameObject: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 1210658510126840, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 @@ -2302,23 +2703,22 @@ GameObject: --- !u!4 &1139246771 Transform: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 4334845750472866, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1139246770} + serializedVersion: 2 m_LocalRotation: {x: -0.38831988, y: 0, z: 0, w: 0.9215247} m_LocalPosition: {x: 26.4, y: 5.565, z: 35.5} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 639198841} - m_RootOrder: 7 m_LocalEulerAnglesHint: {x: -45.7, y: 0, z: 0} --- !u!114 &1139246772 MonoBehaviour: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 114772731550180928, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1139246770} @@ -2394,24 +2794,42 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1139246770} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 5 m_Convex: 1 - m_CookingOptions: 14 + m_CookingOptions: 30 m_Mesh: {fileID: 4300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} --- !u!54 &1139246774 Rigidbody: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 54327520307106458, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1139246770} - serializedVersion: 2 + serializedVersion: 4 m_Mass: 1 m_Drag: 0 m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 m_UseGravity: 1 m_IsKinematic: 0 m_Interpolate: 0 @@ -2420,8 +2838,7 @@ Rigidbody: --- !u!23 &1139246775 MeshRenderer: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 23254394434853872, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1139246770} @@ -2429,9 +2846,12 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2443,6 +2863,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2455,11 +2876,11 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1139246776 MeshFilter: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 33923973361170074, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1139246770} @@ -2469,12 +2890,29 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (12) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: -34.525143 @@ -2487,35 +2925,34 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 20.727282 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 4 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.009999992 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.009999992 + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!1 &1163049632 GameObject: @@ -2551,10 +2988,19 @@ Camera: m_ClearFlags: 1 m_BackGroundColor: {r: 0.13235295, g: 0.13235295, b: 0.13235295, a: 1} m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} - m_GateFitMode: 2 - m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 x: 0 @@ -2638,12 +3084,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1163049632} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0.65, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1933003644} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1163049639 MonoBehaviour: @@ -2662,12 +3109,29 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (17) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: -24.813915 @@ -2680,51 +3144,63 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: -19.199905 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 3 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.011582836 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.011582836 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.011582843 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!1001 &1175295606 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (4) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: -23.507843 @@ -2737,45 +3213,41 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 50.375275 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 9 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.0138348285 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.013834825 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.013834825 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!1001 &1308425982 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1389241028} m_Modifications: - target: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} @@ -2786,34 +3258,6 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalPosition.x - value: 7.7 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalPosition.y - value: 3.03 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalPosition.z - value: -56 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalRotation.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_LocalRotation.w - value: 0 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} propertyPath: m_RootOrder value: 2 @@ -2830,30 +3274,68 @@ PrefabInstance: propertyPath: m_LocalScale.z value: 2.5 objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalPosition.x + value: 7.7 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalPosition.y + value: 2.88 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalPosition.z + value: -56 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} propertyPath: m_LocalEulerAnglesHint.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 2300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + propertyPath: m_CastShadows + value: 1 + objectReference: {fileID: 0} - target: {fileID: 2300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} propertyPath: m_Materials.Array.data[0] value: objectReference: {fileID: 2100000, guid: dee95a1a7618983418c8fe51eda6e5b6, type: 2} - - target: {fileID: 2300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} - propertyPath: m_CastShadows - value: 1 - objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + insertIndex: -1 + addedObject: {fileID: 267351079} + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + insertIndex: -1 + addedObject: {fileID: 1308425986} + - targetCorrespondingSourceObject: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} + insertIndex: -1 + addedObject: {fileID: 1308425985} m_SourcePrefab: {fileID: 100100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} --- !u!4 &1308425983 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} m_PrefabInstance: {fileID: 1308425982} m_PrefabAsset: {fileID: 0} --- !u!1 &1308425984 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, - type: 3} + m_CorrespondingSourceObject: {fileID: 100000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} m_PrefabInstance: {fileID: 1308425982} m_PrefabAsset: {fileID: 0} --- !u!114 &1308425985 @@ -2869,6 +3351,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: rotationSpeed: 35 + initialColor: + serializedVersion: 2 + rgba: 4065520640 --- !u!64 &1308425986 MeshCollider: m_ObjectHideFlags: 0 @@ -2877,11 +3362,19 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1308425984} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 5 m_Convex: 1 - m_CookingOptions: 14 + m_CookingOptions: 30 m_Mesh: {fileID: 4300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} --- !u!1 &1320114710 GameObject: @@ -2893,7 +3386,7 @@ GameObject: m_Component: - component: {fileID: 1320114711} - component: {fileID: 1320114713} - - component: {fileID: 1320114712} + - component: {fileID: 1320114714} m_Layer: 5 m_Name: Controls Text m_TagString: Untagged @@ -2911,69 +3404,15 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1440432460} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 30, y: 30} m_SizeDelta: {x: 400, y: 200} m_Pivot: {x: 0, y: 0} ---- !u!114 &1320114712 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1320114710} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 2100000, guid: 5dfd9f912568dd149a87a39b8befa8da, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 0.922} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_FontData: - m_Font: {fileID: 12800000, guid: 5dfd9f912568dd149a87a39b8befa8da, type: 3} - m_FontSize: 12 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 1 - m_MaxSize: 40 - m_Alignment: 6 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 0.85 - m_Text: 'CONTROLS - - WASD: Move - - Space: Jump - - E: Interact / Pick Up - - H: Toggle HNS ON/OFF - - 1 / 2 / 3 / 4: Toggle Features ON/OFF - - 5 / 6: Toggle Radar/Minimap MODE - - 7: Toggle Custom Minimap LAYER - - X / C: Zoom Radar -/+ - - V / B: Offscreen Border -/+ - - N / M: Minimap Zoom -/+ - - ENTER: Toggle Day/Night DEMO SCENE' --- !u!222 &1320114713 CanvasRenderer: m_ObjectHideFlags: 0 @@ -2982,10 +3421,123 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1320114710} m_CullTransparentMesh: 0 +--- !u!114 &1320114714 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320114710} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 'CONTROLS + + WASD: + Move + + Space: Jump + + E: Interact / Pick Up + + H: + Toggle HNS ON/OFF + + 1 / 2 / 3 / 4: Toggle Features ON/OFF + + 5 + / 6: Toggle Radar/Minimap MODE + + 7: Toggle Custom Minimap LAYER + + X + / C: Zoom Radar -/+ + + V / B: Offscreen Border -/+ + + N / M: + Minimap Zoom -/+' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: cc3844638b1362867bf8cac6146a53ec, type: 2} + m_sharedMaterial: {fileID: -3136376441605835023, guid: cc3844638b1362867bf8cac6146a53ec, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 12 + m_fontSizeBase: 12 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 1024 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!4 &1374533326 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 1686832020} m_PrefabAsset: {fileID: 0} --- !u!1 &1389241027 @@ -3011,9 +3563,11 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1389241027} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 260004404} - {fileID: 639198841} @@ -3021,19 +3575,35 @@ Transform: - {fileID: 1002953407} - {fileID: 1081487582} m_Father: {fileID: 0} - m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1417678970 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (8) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: -32.0268 @@ -3046,44 +3616,38 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 66.60592 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 6 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.012489949 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.012489946 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.012489946 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!4 &1417678971 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 1417678970} m_PrefabAsset: {fileID: 0} --- !u!1 &1440432456 @@ -3098,6 +3662,7 @@ GameObject: - component: {fileID: 1440432459} - component: {fileID: 1440432458} - component: {fileID: 1440432457} + - component: {fileID: 1440432461} m_Layer: 5 m_Name: Demo Canvas m_TagString: Untagged @@ -3114,7 +3679,7 @@ MonoBehaviour: m_GameObject: {fileID: 1440432456} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} m_Name: m_EditorClassIdentifier: m_IgnoreReversedGraphics: 1 @@ -3131,7 +3696,7 @@ MonoBehaviour: m_GameObject: {fileID: 1440432456} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} m_Name: m_EditorClassIdentifier: m_UiScaleMode: 1 @@ -3144,6 +3709,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 --- !u!223 &1440432459 Canvas: m_ObjectHideFlags: 0 @@ -3161,7 +3727,9 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 - m_AdditionalShaderChannelsFlag: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 25 + m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 @@ -3175,27 +3743,56 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1320114711} m_Father: {fileID: 0} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} +--- !u!225 &1440432461 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1440432456} + m_Enabled: 1 + m_Alpha: 0.5 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 --- !u!1001 &1442557504 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (2) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 19 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: -3.2936764 @@ -3208,44 +3805,38 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 53.637657 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 19 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.012198268 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.012198266 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.012198266 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!4 &1458505262 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 1442557504} m_PrefabAsset: {fileID: 0} --- !u!1001 &1460519911 @@ -3253,12 +3844,29 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (9) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: -34.917038 @@ -3271,39 +3879,34 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 35.059315 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 11 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.010599999 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.010599991 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.010599991 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!1 &1482200938 GameObject: @@ -3330,12 +3933,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1482200938} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: -100.00003, z: 0.000015258789} m_LocalScale: {x: 300, y: 10, z: 300.00006} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 821271711} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!114 &1482200940 MonoBehaviour: @@ -3358,16 +3962,23 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1482200938} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 1 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1, y: 1, z: 1} m_Center: {x: 0, y: 0, z: 0} --- !u!1 &1482977706 GameObject: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 1210658510126840, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 @@ -3388,23 +3999,22 @@ GameObject: --- !u!4 &1482977707 Transform: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 4334845750472866, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1482977706} + serializedVersion: 2 m_LocalRotation: {x: -0.38831988, y: 0, z: 0, w: 0.9215247} m_LocalPosition: {x: -25.8, y: 0.96, z: 17.3} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 639198841} - m_RootOrder: 3 m_LocalEulerAnglesHint: {x: -45.7, y: 0, z: 0} --- !u!114 &1482977708 MonoBehaviour: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 114772731550180928, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1482977706} @@ -3480,24 +4090,42 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1482977706} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 5 m_Convex: 1 - m_CookingOptions: 14 + m_CookingOptions: 30 m_Mesh: {fileID: 4300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} --- !u!54 &1482977710 Rigidbody: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 54327520307106458, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1482977706} - serializedVersion: 2 + serializedVersion: 4 m_Mass: 1 m_Drag: 0 m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 m_UseGravity: 1 m_IsKinematic: 0 m_Interpolate: 0 @@ -3506,8 +4134,7 @@ Rigidbody: --- !u!23 &1482977711 MeshRenderer: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 23254394434853872, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1482977706} @@ -3515,9 +4142,12 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3529,6 +4159,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3541,11 +4172,11 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1482977712 MeshFilter: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 33923973361170074, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1482977706} @@ -3555,12 +4186,29 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (14) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: -18.57 @@ -3573,51 +4221,63 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 9.34941 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 2 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.011682843 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.011682836 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.011682836 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!1001 &1538330012 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (7) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: -51.255833 @@ -3630,51 +4290,44 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 53.515926 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 10 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.01373893 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.013738925 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.013738925 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!4 &1538330013 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 1538330012} m_PrefabAsset: {fileID: 0} --- !u!1 &1552377550 GameObject: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 1210658510126840, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 @@ -3695,23 +4348,22 @@ GameObject: --- !u!4 &1552377551 Transform: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 4334845750472866, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1552377550} + serializedVersion: 2 m_LocalRotation: {x: -0.38831988, y: 0, z: 0, w: 0.9215247} m_LocalPosition: {x: 21.2, y: 5.37, z: 61.7} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 639198841} - m_RootOrder: 6 m_LocalEulerAnglesHint: {x: -45.7, y: 0, z: 0} --- !u!114 &1552377552 MonoBehaviour: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 114772731550180928, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1552377550} @@ -3787,24 +4439,42 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1552377550} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 5 m_Convex: 1 - m_CookingOptions: 14 + m_CookingOptions: 30 m_Mesh: {fileID: 4300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} --- !u!54 &1552377554 Rigidbody: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 54327520307106458, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1552377550} - serializedVersion: 2 + serializedVersion: 4 m_Mass: 1 m_Drag: 0 m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 m_UseGravity: 1 m_IsKinematic: 0 m_Interpolate: 0 @@ -3813,8 +4483,7 @@ Rigidbody: --- !u!23 &1552377555 MeshRenderer: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 23254394434853872, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1552377550} @@ -3822,9 +4491,12 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3836,6 +4508,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3848,11 +4521,11 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1552377556 MeshFilter: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 33923973361170074, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1552377550} @@ -3862,108 +4535,105 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: 1172632575032340, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} propertyPath: m_Name value: '[HUD Navigation Canvas]' objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 + - target: {fileID: 114846219501546086, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_FontData.m_MaxSize + value: 8 objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 + - target: {fileID: 114846219501546086, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_FontData.m_FontSize + value: 8 objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} + - target: {fileID: 114925672327079108, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_Texture + value: + objectReference: {fileID: 2800000, guid: d4db933dca53365d783910677729539c, type: 3} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} propertyPath: m_Pivot.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, - type: 3} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} propertyPath: m_Pivot.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224869677321073616, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 477b552e6fe38bb439871d9d6409b2c3, type: 3} --- !u!4 &1589229764 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 1161126198} m_PrefabAsset: {fileID: 0} --- !u!1 &1683543976 @@ -3990,12 +4660,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1683543976} + serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1002953407} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1683543978 MonoBehaviour: @@ -4011,14 +4682,10 @@ MonoBehaviour: m_EditorClassIdentifier: Settings: {fileID: 0} Prefabs: - RadarPrefab: {fileID: 114649513964931752, guid: 7df08e2a2fd0940469fa781e26554019, - type: 3} - CompassBarPrefab: {fileID: 114875581833013858, guid: d04e4256c86dfc4439da3d1b4407458e, - type: 3} - IndicatorPrefab: {fileID: 114774112296258654, guid: 43ca8a78e154fef43a69247ce19eadc6, - type: 3} - MinimapPrefab: {fileID: 114416010850775958, guid: a8f2acb57900dfa4fa38df814b1b9a5c, - type: 3} + RadarPrefab: {fileID: 114649513964931752, guid: 7df08e2a2fd0940469fa781e26554019, type: 3} + CompassBarPrefab: {fileID: 114875581833013858, guid: d04e4256c86dfc4439da3d1b4407458e, type: 3} + IndicatorPrefab: {fileID: 114774112296258654, guid: 43ca8a78e154fef43a69247ce19eadc6, type: 3} + MinimapPrefab: {fileID: 114416010850775958, guid: a8f2acb57900dfa4fa38df814b1b9a5c, type: 3} hideInRadar: 0 ignoreRadarRadius: 0 ignoreRadarScaling: 0 @@ -4047,7 +4714,20 @@ MonoBehaviour: useMinimapHeightSystem: 1 OnElementReady: m_PersistentCalls: - m_Calls: [] + m_Calls: + - m_Target: {fileID: 1002953409} + m_TargetAssemblyTypeName: SickscoreGames.ExampleScene.ExampleRotatePrism, + Assembly-CSharp + m_MethodName: SetInitialPrismColor + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 OnElementUpdate: m_PersistentCalls: m_Calls: [] @@ -4077,12 +4757,29 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (18) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: -15.66 @@ -4095,39 +4792,34 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: -5 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 7 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.014475455 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.01447545 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.01447545 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!1 &1775012258 GameObject: @@ -4152,12 +4844,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1775012258} + serializedVersion: 2 m_LocalRotation: {x: 0, y: -0.17364825, z: 0, w: 0.9848078} m_LocalPosition: {x: -9.5, y: 8, z: 3} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 373237448} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: -20, z: 0} --- !u!1 &1791102196 GameObject: @@ -4184,12 +4877,14 @@ Light: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1791102196} m_Enabled: 1 - serializedVersion: 8 + serializedVersion: 10 m_Type: 1 + m_Shape: 0 m_Color: {r: 1, g: 0.918357, b: 0.74264705, a: 1} m_Intensity: 1 m_Range: 10 m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 m_CookieSize: 10 m_Shadows: m_Type: 1 @@ -4199,6 +4894,24 @@ Light: m_Bias: 0.05 m_NormalBias: 0.4 m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 m_Cookie: {fileID: 0} m_DrawHalo: 0 m_Flare: {fileID: 0} @@ -4206,12 +4919,16 @@ Light: m_CullingMask: serializedVersion: 2 m_Bits: 4294967295 + m_RenderingLayerMask: 1 m_Lightmapping: 4 m_LightShadowCasterMode: 0 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 0 m_ColorTemperature: 6570 m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 m_ShadowRadius: 0 m_ShadowAngle: 0 --- !u!4 &1791102198 @@ -4221,12 +4938,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1791102196} + serializedVersion: 2 m_LocalRotation: {x: 0.6963643, y: 0.12278784, z: 0.12278784, w: 0.6963643} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 312139619} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 70, y: 90, z: 90} --- !u!1 &1862512773 GameObject: @@ -4265,8 +4983,8 @@ MonoBehaviour: _DisabledInScene: 0 _Config: {fileID: 11400000, guid: 6902e1cf6ef547d4893f91574cabceef, type: 2} - _Scene: - _sceneAsset: {fileID: 102900000, guid: 58a2d4d3d520b894f90eb76a6a07304b, type: 3} - _path: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_SkyIsland_Night.unity + _sceneAsset: {fileID: 102900000, guid: 69288994bc601ac44b2feeff5bfde1fe, type: 3} + _path: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_House.unity _DisabledInScene: 0 _Config: {fileID: 11400000, guid: 6ffee79e35eb90f44903548785fe309e, type: 2} --- !u!4 &1862512775 @@ -4276,12 +4994,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1862512773} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -582.8222, y: 54.64898, z: 123.869385} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1862512776 MonoBehaviour: @@ -4335,6 +5054,7 @@ MonoBehaviour: minimapProfile: {fileID: 11400000, guid: 263ac76fd96a0d3469ca0f61fe774580, type: 2} currentMinimapProfile: {fileID: 0} minimapMode: 1 + minimapShape: 0 minimapScale: 0.1 minimapRadius: 75 useMinimapScaling: 1 @@ -4375,9 +5095,11 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1863383071} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 326616899} - {fileID: 346299527} @@ -4400,19 +5122,35 @@ Transform: - {fileID: 22030771} - {fileID: 1458505262} m_Father: {fileID: 373237448} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1887434792 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (4) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 14 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: -22.822275 @@ -4425,44 +5163,38 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 25.467937 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 14 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.0122536635 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.012253657 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.012253657 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!4 &1887434793 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 1887434792} m_PrefabAsset: {fileID: 0} --- !u!1001 &1893876287 @@ -4470,12 +5202,29 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (3) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: -22.01466 @@ -4488,51 +5237,44 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: -42.652355 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 15 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.008858578 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.008858573 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.008858573 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!4 &1893876288 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 1893876287} m_PrefabAsset: {fileID: 0} --- !u!1 &1896861419 GameObject: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 1210658510126840, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} serializedVersion: 6 @@ -4553,23 +5295,22 @@ GameObject: --- !u!4 &1896861420 Transform: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 4334845750472866, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1896861419} + serializedVersion: 2 m_LocalRotation: {x: -0.38831988, y: 0, z: 0, w: 0.9215247} m_LocalPosition: {x: -21.4, y: 0.61, z: -38.75} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 639198841} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: -45.7, y: 0, z: 0} --- !u!114 &1896861421 MonoBehaviour: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 114772731550180928, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1896861419} @@ -4645,24 +5386,42 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1896861419} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 5 m_Convex: 1 - m_CookingOptions: 14 + m_CookingOptions: 30 m_Mesh: {fileID: 4300000, guid: 795a2bbb6f5e726499bc44e9ae463bd8, type: 3} --- !u!54 &1896861423 Rigidbody: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 54327520307106458, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1896861419} - serializedVersion: 2 + serializedVersion: 4 m_Mass: 1 m_Drag: 0 m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 m_UseGravity: 1 m_IsKinematic: 0 m_Interpolate: 0 @@ -4671,8 +5430,7 @@ Rigidbody: --- !u!23 &1896861424 MeshRenderer: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 23254394434853872, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1896861419} @@ -4680,9 +5438,12 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -4694,6 +5455,7 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 + m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4706,11 +5468,11 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1896861425 MeshFilter: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 33923973361170074, guid: 31d7dd013460ba741b30728f38695e96, - type: 2} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1896861419} @@ -4790,10 +5552,21 @@ Rigidbody: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1933003636} - serializedVersion: 2 + serializedVersion: 4 m_Mass: 1 m_Drag: 0 m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 m_UseGravity: 1 m_IsKinematic: 0 m_Interpolate: 0 @@ -4819,8 +5592,17 @@ CapsuleCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1933003636} m_Material: {fileID: 13400000, guid: 2d66b1633dfdac842be56cddd23ab93e, type: 2} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 + serializedVersion: 2 m_Radius: 0.5 m_Height: 2 m_Direction: 1 @@ -4832,18 +5614,18 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1933003636} + serializedVersion: 2 m_LocalRotation: {x: 0, y: -0.17364825, z: 0, w: 0.9848078} m_LocalPosition: {x: -9.5, y: 8, z: 3} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1163049638} m_Father: {fileID: 0} - m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: -20, z: 0} --- !u!4 &2128318461 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 1460519911} m_PrefabAsset: {fileID: 0} --- !u!1001 &2131813134 @@ -4851,12 +5633,29 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1863383072} m_Modifications: - target: {fileID: 100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_Name value: Tree (2) objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_RootOrder + value: 16 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalPosition.x value: 24.360825 @@ -4869,43 +5668,47 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 41.912106 objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalRotation.z - value: -0.7071068 - objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} propertyPath: m_LocalRotation.w value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_RootOrder - value: 16 + propertyPath: m_LocalRotation.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.x - value: 0.0110414205 + propertyPath: m_LocalRotation.y + value: 1 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.y - value: 0.011041412 + propertyPath: m_LocalRotation.z + value: -0 objectReference: {fileID: 0} - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} - propertyPath: m_LocalScale.z - value: 0.011041412 + propertyPath: m_LocalEulerAnglesHint.x + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -180 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} --- !u!4 &2131813135 stripped Transform: - m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, - type: 3} + m_CorrespondingSourceObject: {fileID: 400000, guid: dfb0ee23a61adf448bc017be1adbd2b6, type: 3} m_PrefabInstance: {fileID: 2131813134} m_PrefabAsset: {fileID: 0} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 1862512775} + - {fileID: 1562733465} + - {fileID: 1440432460} + - {fileID: 1933003644} + - {fileID: 1389241028} + - {fileID: 373237448} diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_SkyIsland.unity.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_SkyIsland.unity.meta index 8efcd197a..f89933e93 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_SkyIsland.unity.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_SkyIsland.unity.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_SkyIsland.unity - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/ExampleScene_SkyIsland.unity + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland/SkyIsland_Map.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland/SkyIsland_Map.png.meta index b1d9443a2..5ab3c047f 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland/SkyIsland_Map.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland/SkyIsland_Map.png.meta @@ -112,6 +112,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland/SkyIsland_Map.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland/SkyIsland_Map.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland/SkyIsland_Profile.asset.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland/SkyIsland_Profile.asset.meta index 0c8310d5b..ba562c00a 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland/SkyIsland_Profile.asset.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland/SkyIsland_Profile.asset.meta @@ -12,6 +12,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland/SkyIsland_Profile.asset - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland/SkyIsland_Profile.asset + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland_CustomLayer.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland_CustomLayer.png.meta index c0c298f58..bef211dc7 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland_CustomLayer.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland_CustomLayer.png.meta @@ -112,6 +112,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland_CustomLayer.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/MapProfiles/SkyIsland_CustomLayer.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Physics/FrictionPhysics.physicMaterial.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Physics/FrictionPhysics.physicMaterial.meta index 99e5ec874..226757e83 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Physics/FrictionPhysics.physicMaterial.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Physics/FrictionPhysics.physicMaterial.meta @@ -12,6 +12,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/Materials/Physics/FrictionPhysics.physicMaterial - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Physics/FrictionPhysics.physicMaterial + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/PickUpItem.mat b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/PickUpItem.mat index 0d88f8b42..c1c235167 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/PickUpItem.mat +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/PickUpItem.mat @@ -2,34 +2,22 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 8 + serializedVersion: 6 m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} m_Name: PickUpItem - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A - m_InvalidKeywords: [] + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: + stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: serializedVersion: 3 m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -66,39 +54,11 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 1 - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - _GlossMapScale: 0 - _Glossiness: 0 - _GlossyReflections: 1 @@ -106,35 +66,11 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - _SmoothnessTextureChannel: 1 - _SpecularHighlights: 1 - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - _UVSec: 0 - - _WorkflowMode: 1 - - _XRMotionVectorsPass: 1 - _ZWrite: 1 m_Colors: - - _BaseColor: {r: 0.3970588, g: 0.3970588, b: 0.3970588, a: 1} - - _Color: {r: 0.39705878, g: 0.39705878, b: 0.39705878, a: 1} + - _Color: {r: 0.39705884, g: 0.39705884, b: 0.39705884, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &5656960825619739841 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion - version: 10 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/PickUpItem.mat.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/PickUpItem.mat.meta index 88f3076b3..412aa4a95 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/PickUpItem.mat.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/PickUpItem.mat.meta @@ -12,6 +12,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/Materials/PickUpItem.mat - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/PickUpItem.mat + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Prism.mat b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Prism.mat index ba6a58bed..72ea8026b 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Prism.mat +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Prism.mat @@ -2,36 +2,23 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 8 + serializedVersion: 6 m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} m_Name: Prism - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _SURFACE_TYPE_TRANSPARENT - m_InvalidKeywords: [] + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _ALPHAPREMULTIPLY_ON _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: 3000 stringTagMap: RenderType: Transparent - disabledShaderPasses: - - MOTIONVECTORS - - DepthOnly - - SHADOWCASTER - m_LockedProperties: + disabledShaderPasses: [] m_SavedProperties: serializedVersion: 3 m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -68,39 +55,11 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _Blend: 1 - - _BlendModePreserveSpecular: 1 - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 10 - - _DstBlendAlpha: 10 - - _EnvironmentReflections: 1 - _GlossMapScale: 0 - _Glossiness: 0 - _GlossyReflections: 1 @@ -108,35 +67,11 @@ Material: - _Mode: 3 - _OcclusionStrength: 1 - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - _SmoothnessTextureChannel: 1 - _SpecularHighlights: 1 - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 1 - _UVSec: 0 - - _WorkflowMode: 1 - - _XRMotionVectorsPass: 1 - _ZWrite: 0 m_Colors: - - _BaseColor: {r: 1, g: 0.80784315, b: 0, a: 0.92156863} - _Color: {r: 1, g: 0.80784315, b: 0, a: 0.92156863} - _EmissionColor: {r: 0.078, g: 0.078, b: 0.078, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 ---- !u!114 &7053210182929823040 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion - version: 10 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Prism.mat.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Prism.mat.meta index ccd8c7161..536d32889 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Prism.mat.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Prism.mat.meta @@ -12,6 +12,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/Materials/Prism.mat - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Prism.mat + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Skyboxes/Skybox.mat b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Skyboxes/Skybox.mat new file mode 100644 index 000000000..2920af94c --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Skyboxes/Skybox.mat @@ -0,0 +1,89 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Skybox + m_Shader: {fileID: 103, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _SUNDISK_HIGH_QUALITY + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Tex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AtmosphereThickness: 1 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _Exposure: 1 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _Rotation: 0 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SunDisk: 2 + - _SunSize: 0.04 + - _SunSizeConvergence: 5 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _GroundColor: {r: 0.369, g: 0.349, b: 0.341, a: 1} + - _SkyTint: {r: 0.5, g: 0.5, b: 0.5, a: 1} + - _Tint: {r: 0.28235295, g: 0.61960787, b: 0.7882353, a: 1} diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Skyboxes/Skybox.mat.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Skyboxes/Skybox.mat.meta new file mode 100644 index 000000000..d801cfa49 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Skyboxes/Skybox.mat.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: ff1d6387875aad5409359bc915230094 +timeCreated: 1547931841 +licenseType: Store +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Materials/Skyboxes/Skybox.mat + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/House.fbx.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/House.fbx.meta index 4fca71bf1..3bd73fbc1 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/House.fbx.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/House.fbx.meta @@ -98,6 +98,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/Models/House.fbx - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/House.fbx + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/House_Inside.fbx b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/House_Inside.fbx new file mode 100644 index 000000000..b17ec3e1f Binary files /dev/null and b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/House_Inside.fbx differ diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/House_Inside.fbx.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/House_Inside.fbx.meta new file mode 100644 index 000000000..9d1ce5063 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/House_Inside.fbx.meta @@ -0,0 +1,111 @@ +fileFormatVersion: 2 +guid: 69bcf6c7ea18e42f5890f66c93354351 +ModelImporter: + serializedVersion: 23 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2100000: House_Wood_2.001 + 2100002: House_Wood_1.001 + 2100004: House_Window.001 + 2100006: House_Wood_2.002 + 2100008: House_Wood_3.001 + 2100010: House_Floor + 2100012: Painting + 2300000: //RootNode + 3300000: //RootNode + 4300000: House + 6400000: //RootNode + externalObjects: {} + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 1 + useSRGBMaterialColor: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + previousCalculatedGlobalScale: 1 + hasPreviousCalculatedGlobalScale: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 1 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/House_Inside.fbx + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/Prism.fbx.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/Prism.fbx.meta index b90439779..a8346ccfd 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/Prism.fbx.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/Prism.fbx.meta @@ -95,6 +95,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/Models/Prism.fbx - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/Prism.fbx + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/SkyIsland.fbx.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/SkyIsland.fbx.meta index 2c9942106..8a823246d 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/SkyIsland.fbx.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/SkyIsland.fbx.meta @@ -101,6 +101,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/Models/SkyIsland.fbx - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/SkyIsland.fbx + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/Tree.fbx b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/Tree.fbx index fdea44e0a..103f6c33a 100644 Binary files a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/Tree.fbx and b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/Tree.fbx differ diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/Tree.fbx.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/Tree.fbx.meta index 3efb5f7c1..543b845fd 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/Tree.fbx.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/Tree.fbx.meta @@ -1,21 +1,35 @@ fileFormatVersion: 2 guid: dfb0ee23a61adf448bc017be1adbd2b6 -timeCreated: 1529567278 -licenseType: Store ModelImporter: - serializedVersion: 22 - fileIDToRecycleName: - 100000: //RootNode - 400000: //RootNode - 2100000: Tree_Leaves - 2100002: Tree_Trunk - 2300000: //RootNode - 3300000: //RootNode - 4300000: Tree - 6400000: //RootNode + serializedVersion: 22200 + internalIDToNameTable: + - first: + 1: 100000 + second: //RootNode + - first: + 4: 400000 + second: //RootNode + - first: + 21: 2100000 + second: Tree_Leaves + - first: + 21: 2100002 + second: Tree_Trunk + - first: + 23: 2300000 + second: //RootNode + - first: + 33: 3300000 + second: //RootNode + - first: + 43: 4300000 + second: Tree + - first: + 64: 6400000 + second: //RootNode externalObjects: {} materials: - importMaterials: 1 + materialImportMode: 1 materialName: 0 materialSearch: 1 materialLocation: 1 @@ -24,6 +38,7 @@ ModelImporter: bakeSimulation: 0 resampleCurves: 1 optimizeGameObjects: 0 + removeConstantScaleCurves: 0 motionNodeName: rigImportErrors: rigImportWarnings: @@ -32,6 +47,7 @@ ModelImporter: animationRetargetingWarnings: animationDoRetargetingWarnings: 0 importAnimatedCustomProperties: 0 + importConstraints: 0 animationCompression: 1 animationRotationError: 0.5 animationPositionError: 0.5 @@ -46,32 +62,49 @@ ModelImporter: globalScale: 1 meshCompression: 0 addColliders: 1 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 0 importVisibility: 1 importBlendShapes: 1 importCameras: 1 importLights: 1 + nodeNameCollisionStrategy: 0 + fileIdsGeneration: 1 swapUVChannels: 0 generateSecondaryUV: 0 useFileUnits: 1 - optimizeMeshForGPU: 1 keepQuads: 0 weldVertices: 1 + bakeAxisConversion: 0 preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 indexFormat: 0 secondaryUVAngleDistortion: 8 secondaryUVAreaDistortion: 15.000001 secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 0 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 useFileScale: 1 + strictVertexDataChecks: 0 tangentSpace: normalSmoothAngle: 60 normalImportMode: 0 tangentImportMode: 3 normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 1 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] importAnimation: 1 - copyAvatar: 0 humanDescription: - serializedVersion: 2 + serializedVersion: 3 human: [] skeleton: [] armTwist: 0.5 @@ -81,14 +114,19 @@ ModelImporter: armStretch: 0.05 legStretch: 0.05 feetSpacing: 0 + globalScale: 1 rootMotionBoneName: - rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} hasTranslationDoF: 0 hasExtraRoot: 0 skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 animationType: 0 humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + importBlendShapeDeformPercent: 0 + remapMaterialsIfMaterialImportModeIsNone: 1 additionalBone: 0 userData: assetBundleName: @@ -97,6 +135,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/Models/Tree.fbx - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Models/Tree.fbx + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleBouncePrism.cs b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleBouncePrism.cs new file mode 100644 index 000000000..f22e36f7c --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleBouncePrism.cs @@ -0,0 +1,33 @@ +using UnityEngine; + +namespace SickscoreGames.ExampleScene +{ + public class ExampleBouncePrism : MonoBehaviour + { + #region Variables + [Range(0f, 100f)] + public float bounceSpeed = 3f; + public float bounceHeight = .15f; + private Vector3 _pos; + #endregion + + + #region Main Methods + void Start () + { + _pos = transform.position; + } + + + void Update () + { + // bounce prism up & down + if (bounceSpeed > 0f) + { + float newY = Mathf.Sin(Time.time * bounceSpeed) * bounceHeight + _pos.y; + transform.position = new Vector3(transform.position.x, newY, transform.position.z); + } + } + #endregion + } +} diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleBouncePrism.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleBouncePrism.cs.meta new file mode 100644 index 000000000..c3345b661 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleBouncePrism.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 72d3ef2e3d3e94bfabf28fa01d281665 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleBouncePrism.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleController.cs b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleController.cs index cda19943b..83d9f6d60 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleController.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleController.cs @@ -1,6 +1,4 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; namespace SickscoreGames.ExampleScene { @@ -16,7 +14,7 @@ namespace SickscoreGames.ExampleScene private Transform _transform; private Rigidbody _rigidbody; - private bool isGrounded; + private bool _isGrounded; #endregion @@ -36,14 +34,18 @@ namespace SickscoreGames.ExampleScene void FixedUpdate () { // check if grounded - if (isGrounded) { + if (_isGrounded) { // directional input - Vector3 targetVelocity = new Vector3 (Input.GetAxis ("Horizontal"), 0f, Input.GetAxis ("Vertical")); - float moveSpeed = (Input.GetKey (KeyCode.LeftShift)) ? runSpeed : walkSpeed; + Vector3 targetVelocity = new Vector3 (ExampleUniversalInput.GetAxis("Horizontal"), 0f, ExampleUniversalInput.GetAxis ("Vertical")); + float moveSpeed = (ExampleUniversalInput.GetKey (KeyCode.LeftShift)) ? runSpeed : walkSpeed; targetVelocity = _transform.TransformDirection (targetVelocity) * moveSpeed; // calculate velocity and max velocity change +#if UNITY_6000_0_OR_NEWER Vector3 velocity = _rigidbody.linearVelocity; +#else + Vector3 velocity = _rigidbody.velocity; +#endif Vector3 velocityChange = (targetVelocity - velocity); velocityChange.x = Mathf.Clamp (velocityChange.x, -8f, 8f); velocityChange.z = Mathf.Clamp (velocityChange.z, -8f, 8f); @@ -51,14 +53,20 @@ namespace SickscoreGames.ExampleScene _rigidbody.AddForce (velocityChange, ForceMode.VelocityChange); // jump input - if (Input.GetKeyDown (KeyCode.Space)) + if (ExampleUniversalInput.GetKeyDown(KeyCode.Space)) + { +#if UNITY_6000_0_OR_NEWER _rigidbody.linearVelocity = new Vector3 (velocity.x, CalculateJumpVerticalSpeed (), velocity.z); +#else + _rigidbody.velocity = new Vector3 (velocity.x, CalculateJumpVerticalSpeed (), velocity.z); +#endif + } } // apply force to rigidbody _rigidbody.AddForce (new Vector3 (0f, -gravity * _rigidbody.mass, 0f)); - isGrounded = false; + _isGrounded = false; } #endregion @@ -66,7 +74,7 @@ namespace SickscoreGames.ExampleScene #region Utility Methods void OnCollisionStay () { - isGrounded = true; + _isGrounded = true; } diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleController.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleController.cs.meta index 22eea7153..30da81575 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleController.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleController.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleController.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleController.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleInteractions.cs b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleInteractions.cs index 5ea9d9c4d..a5555ef61 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleInteractions.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleInteractions.cs @@ -1,12 +1,7 @@ -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -using UnityEngine.UI; -using UnityEngine.SceneManagement; - +using SickscoreGames.ExampleScene; using SickscoreGames.HUDNavigationSystem; -using SickscoreGames.ExampleScene; +using UnityEngine; +using UnityEngine.SceneManagement; public class ExampleInteractions : MonoBehaviour { @@ -16,6 +11,7 @@ public class ExampleInteractions : MonoBehaviour private RaycastHit hit; private Transform pickupText; + private Transform openDoorText; private Transform interactionText; private HUDNavigationSystem _HUDNavigationSystem; #endregion @@ -30,9 +26,17 @@ public class ExampleInteractions : MonoBehaviour void Update () { + if (_HUDNavigationSystem == null) + return; + HandleKeyInput (); - HandleItemPickUp (); - HandlePrismColorChange (); + + if (_HUDNavigationSystem.isEnabled) + { + HandleItemPickUp (); + HandleDoorOpening(); + HandlePrismColorChange (); + } } #endregion @@ -41,78 +45,67 @@ public class ExampleInteractions : MonoBehaviour void HandleKeyInput () { // update radar zoom / indicator border input - if (Input.GetKey (KeyCode.X) && _HUDNavigationSystem.radarZoom < 5f) + if (ExampleUniversalInput.GetKey (KeyCode.X) && _HUDNavigationSystem.radarZoom < 5f) _HUDNavigationSystem.radarZoom += .0175f; - else if (Input.GetKey (KeyCode.C) && _HUDNavigationSystem.radarZoom > .25f) + else if (ExampleUniversalInput.GetKey (KeyCode.C) && _HUDNavigationSystem.radarZoom > .25f) _HUDNavigationSystem.radarZoom -= .0175f; - else if (Input.GetKey (KeyCode.V) && _HUDNavigationSystem.indicatorOffscreenBorder < .7f) + else if (ExampleUniversalInput.GetKey (KeyCode.V) && _HUDNavigationSystem.indicatorOffscreenBorder < .7f) _HUDNavigationSystem.indicatorOffscreenBorder += .01f; - else if (Input.GetKey (KeyCode.B) && _HUDNavigationSystem.indicatorOffscreenBorder > .07f) + else if (ExampleUniversalInput.GetKey (KeyCode.B) && _HUDNavigationSystem.indicatorOffscreenBorder > .07f) _HUDNavigationSystem.indicatorOffscreenBorder -= .01f; - else if (Input.GetKey (KeyCode.N) && _HUDNavigationSystem.minimapScale > .06f) + else if (ExampleUniversalInput.GetKey (KeyCode.N) && _HUDNavigationSystem.minimapScale > .06f) _HUDNavigationSystem.minimapScale -= .0075f; - else if (Input.GetKey (KeyCode.M) && _HUDNavigationSystem.minimapScale < .35f) + else if (ExampleUniversalInput.GetKey (KeyCode.M) && _HUDNavigationSystem.minimapScale < .35f) _HUDNavigationSystem.minimapScale += .0075f; // update feature enable / disable input - if (Input.GetKeyDown (KeyCode.H)) + if (ExampleUniversalInput.GetKeyDown (KeyCode.H)) _HUDNavigationSystem.EnableSystem (!_HUDNavigationSystem.isEnabled); - if (Input.GetKeyDown (KeyCode.Alpha1)) + if (ExampleUniversalInput.GetKeyDown (KeyCode.Alpha1)) _HUDNavigationSystem.EnableRadar (!_HUDNavigationSystem.useRadar); - if (Input.GetKeyDown (KeyCode.Alpha2)) + if (ExampleUniversalInput.GetKeyDown (KeyCode.Alpha2)) _HUDNavigationSystem.EnableCompassBar (!_HUDNavigationSystem.useCompassBar); - if (Input.GetKeyDown (KeyCode.Alpha3)) + if (ExampleUniversalInput.GetKeyDown (KeyCode.Alpha3)) _HUDNavigationSystem.EnableIndicators (!_HUDNavigationSystem.useIndicators); - if (Input.GetKeyDown (KeyCode.Alpha4)) + if (ExampleUniversalInput.GetKeyDown (KeyCode.Alpha4)) _HUDNavigationSystem.EnableMinimap (!_HUDNavigationSystem.useMinimap); // toggle radar / minimap mode - if (Input.GetKeyDown (KeyCode.Alpha5)) + if (ExampleUniversalInput.GetKeyDown (KeyCode.Alpha5)) _HUDNavigationSystem.radarMode = (_HUDNavigationSystem.radarMode == RadarModes.RotateRadar) ? RadarModes.RotatePlayer : RadarModes.RotateRadar; - if (Input.GetKeyDown (KeyCode.Alpha6)) + if (ExampleUniversalInput.GetKeyDown (KeyCode.Alpha6)) _HUDNavigationSystem.minimapMode = (_HUDNavigationSystem.minimapMode == MinimapModes.RotateMinimap) ? MinimapModes.RotatePlayer : MinimapModes.RotateMinimap; // toggle minimap custom layers - if (Input.GetKeyDown (KeyCode.Alpha7) && _HUDNavigationSystem.currentMinimapProfile != null) { - GameObject blackWhiteLayer = _HUDNavigationSystem.currentMinimapProfile.GetCustomLayer ("exampleLayer"); - if (blackWhiteLayer != null) - blackWhiteLayer.SetActive (!blackWhiteLayer.activeSelf); - } - - // toggle day/night scene - if (Input.GetKeyUp (KeyCode.Return)) { - if (SceneManager.GetActiveScene ().buildIndex == 0) - SceneManager.LoadScene (1); - else - SceneManager.LoadScene (0); + if (ExampleUniversalInput.GetKeyDown (KeyCode.Alpha7) && _HUDNavigationSystem.currentMinimapProfile) { + GameObject customLayer = _HUDNavigationSystem.currentMinimapProfile.GetCustomLayer ("exampleLayer"); + if (customLayer) + customLayer.SetActive (!customLayer.activeSelf); } } void HandleItemPickUp () { - if (!_HUDNavigationSystem.isEnabled) - return; - // check for pickup items if (Physics.Raycast (transform.position, transform.TransformDirection (Vector3.forward), out hit, interactionDistance, layerMask) && hit.collider.name.Contains ("PickUp")) { // get HUD navigation element component HUDNavigationElement element = hit.collider.gameObject.GetComponent (); - if (element != null) { + if (element) { // show pickup text - if (element.Indicator != null) { + if (element.Indicator) { pickupText = element.Indicator.GetCustomTransform ("pickupText"); - if (pickupText != null) + if (pickupText) pickupText.gameObject.SetActive (true); } // wait for interaction input and destroy gameobject - if (Input.GetKeyDown (KeyCode.E)) + if (ExampleUniversalInput.GetKeyDown (KeyCode.E)) Destroy (element.gameObject); } } else { // reset pickup text - if (pickupText != null) { + if (pickupText) { pickupText.gameObject.SetActive (false); pickupText = null; } @@ -120,25 +113,56 @@ public class ExampleInteractions : MonoBehaviour } + void HandleDoorOpening () + { + // check for door + if (Physics.Raycast (transform.position, transform.TransformDirection (Vector3.forward), out hit, interactionDistance, layerMask) && hit.collider.name.Contains ("Door")) { + // get HUD navigation element component + HUDNavigationElement element = hit.collider.gameObject.GetComponent (); + if (element) { + // show text + if (element.Indicator) { + openDoorText = element.Indicator.GetCustomTransform ("openDoorText"); + if (openDoorText) + openDoorText.gameObject.SetActive (true); + } + + // wait for input and change scene + if (ExampleUniversalInput.GetKeyDown (KeyCode.E)) + { + // toggle SkyIsland / House scene + if (SceneManager.GetActiveScene().buildIndex == 0) + SceneManager.LoadScene(1); + else + SceneManager.LoadScene(0); + } + } + } else { + // reset text + if (openDoorText) { + openDoorText.gameObject.SetActive (false); + openDoorText = null; + } + } + } + + void HandlePrismColorChange () { - if (!_HUDNavigationSystem.isEnabled) - return; - // check for colored prisms if (Physics.Raycast (transform.position, transform.TransformDirection (Vector3.forward), out hit, interactionDistance, layerMask) && hit.collider.name.Contains ("Prism")) { // get HUD navigation element component HUDNavigationElement element = hit.collider.gameObject.GetComponentInChildren (); - if (element != null) { + if (element) { // show interaction text - if (element.Indicator != null) { + if (element.Indicator) { interactionText = element.Indicator.GetCustomTransform ("interactionText"); - if (interactionText != null) + if (interactionText) interactionText.gameObject.SetActive (true); } // wait for interaction input and change prism color - if (Input.GetKeyDown (KeyCode.E)) { + if (ExampleUniversalInput.GetKeyDown (KeyCode.E)) { // generate random color Color randomColor = Random.ColorHSV (0f, 1f, 1f, 1f, .5f, 1f); @@ -148,7 +172,7 @@ public class ExampleInteractions : MonoBehaviour } } else { // reset interaction text - if (interactionText != null) { + if (interactionText) { interactionText.gameObject.SetActive (false); interactionText = null; } @@ -160,7 +184,7 @@ public class ExampleInteractions : MonoBehaviour { // get renderer from prism Renderer prismRenderer = element.transform.parent.GetComponent (); - if (prismRenderer != null) + if (prismRenderer) ChangePrismColor (element, prismRenderer.material.color); } @@ -168,31 +192,31 @@ public class ExampleInteractions : MonoBehaviour static void ChangePrismColor (HUDNavigationElement element, Color elementColor) { // change radar color - if (element.Radar != null) + if (element.Radar) element.Radar.ChangeIconColor (elementColor); // change compass bar color - if (element.CompassBar != null) + if (element.CompassBar) element.CompassBar.ChangeIconColor (elementColor); // change indicator colors - if (element.Indicator != null) { + if (element.Indicator) { element.Indicator.ChangeIconColor (elementColor); element.Indicator.ChangeOffscreenIconColor (elementColor); } // change minimap color - if (element.Minimap != null) + if (element.Minimap) element.Minimap.ChangeIconColor (elementColor); // change prism material color Renderer prismRenderer = element.transform.parent.GetComponent (); - if (prismRenderer != null) + if (prismRenderer) prismRenderer.material.color = new Color (elementColor.r, elementColor.g, elementColor.b, prismRenderer.material.color.a); - // change prism light (Night Scene) + // change prism light (if present) Light prismLight = element.transform.parent.gameObject.GetComponentInChildren (); - if (prismLight != null) + if (prismLight) prismLight.color = new Color (elementColor.r, elementColor.g, elementColor.b); } #endregion diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleInteractions.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleInteractions.cs.meta index a5c09ce0b..e7f77fcca 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleInteractions.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleInteractions.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleInteractions.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleInteractions.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleMouseLook.cs b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleMouseLook.cs index 07c7b6446..2960ae0fa 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleMouseLook.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleMouseLook.cs @@ -1,6 +1,7 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; +#if ENABLE_INPUT_SYSTEM +using UnityEngine.InputSystem; +#endif namespace SickscoreGames.ExampleScene { @@ -14,37 +15,52 @@ namespace SickscoreGames.ExampleScene public Vector2 rotationLimitsY = new Vector2 (-60f, 60f); public float rotationSmooth = 8f; - private Quaternion rotationOrigin; - private float currentRotationX, currentRotationY = 0f; + private Quaternion _rotationOrigin; + private float _currentRotationX, _currentRotationY = 0f; #endregion #region Main Methods void Awake () { - rotationOrigin = transform.localRotation; + _rotationOrigin = transform.localRotation; +#if ENABLE_INPUT_SYSTEM + sensitivityX /= 4; + sensitivityY /= 4; +#endif } - void Update () { // get input - float mouseX = Input.GetAxis ("Mouse X"); - float mouseY = Input.GetAxis ("Mouse Y"); + float mouseX = 0f; + float mouseY = 0f; +#if ENABLE_INPUT_SYSTEM + if (Mouse.current != null) + { + mouseX = Mouse.current.delta.x.ReadValue(); + mouseY = Mouse.current.delta.y.ReadValue(); + } +#endif +#if ENABLE_LEGACY_INPUT_MANAGER + mouseX = Input.GetAxis ("Mouse X"); + mouseY = Input.GetAxis ("Mouse Y"); +#endif // calculate and apply rotations if (axes == RotationAxes.MouseX) { - currentRotationX += mouseX * sensitivityX; - currentRotationX = this.ClampAngle (currentRotationX, rotationLimitsX.x, rotationLimitsX.y); - Quaternion rotationX = Quaternion.AngleAxis (currentRotationX, Vector3.up); - transform.localRotation = Quaternion.Lerp (transform.localRotation, rotationOrigin * rotationX, rotationSmooth * Time.deltaTime); + _currentRotationX += mouseX * sensitivityX; + _currentRotationX = this.ClampAngle (_currentRotationX, rotationLimitsX.x, rotationLimitsX.y); + Quaternion rotationX = Quaternion.AngleAxis (_currentRotationX, Vector3.up); + transform.localRotation = Quaternion.Lerp (transform.localRotation, _rotationOrigin * rotationX, rotationSmooth * Time.deltaTime); } else { - currentRotationY += mouseY * sensitivityY; - currentRotationY = this.ClampAngle (currentRotationY, rotationLimitsY.x, rotationLimitsY.y); - Quaternion rotationY = Quaternion.AngleAxis (-currentRotationY, Vector3.right); - transform.localRotation = Quaternion.Lerp (transform.localRotation, rotationOrigin * rotationY, rotationSmooth * Time.deltaTime); + _currentRotationY += mouseY * sensitivityY; + _currentRotationY = this.ClampAngle (_currentRotationY, rotationLimitsY.x, rotationLimitsY.y); + Quaternion rotationY = Quaternion.AngleAxis (-_currentRotationY, Vector3.right); + transform.localRotation = Quaternion.Lerp (transform.localRotation, _rotationOrigin * rotationY, rotationSmooth * Time.deltaTime); } } + #endregion diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleMouseLook.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleMouseLook.cs.meta index 99f64a86f..33aff6d09 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleMouseLook.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleMouseLook.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleMouseLook.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleMouseLook.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleResetPlayer.cs b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleResetPlayer.cs index 9dee4fd99..0be02f5cd 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleResetPlayer.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleResetPlayer.cs @@ -1,6 +1,4 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; namespace SickscoreGames.ExampleScene { @@ -21,7 +19,13 @@ namespace SickscoreGames.ExampleScene // reset velocity Rigidbody rBody = other.gameObject.GetComponent (); if (rBody != null) - rBody.linearVelocity = other.transform.forward * 5f; + { +#if UNITY_6000_0_OR_NEWER + rBody.linearVelocity = other.transform.forward * 5f;; +#else + rBody.velocity = other.transform.forward * 5f;; +#endif + } } } #endregion diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleResetPlayer.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleResetPlayer.cs.meta index 166b33078..3fc7446e8 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleResetPlayer.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleResetPlayer.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleResetPlayer.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleResetPlayer.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleRotatePrism.cs b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleRotatePrism.cs index 2ac5e7d0b..35bff4f55 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleRotatePrism.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleRotatePrism.cs @@ -1,5 +1,4 @@ -using System.Collections; -using System.Collections.Generic; +using SickscoreGames.HUDNavigationSystem; using UnityEngine; namespace SickscoreGames.ExampleScene @@ -9,6 +8,7 @@ namespace SickscoreGames.ExampleScene #region Variables [Range(0f, 100f)] public float rotationSpeed = 75f; + public Color32 initialColor = new Color(1f, .8f, 0f, .95f); #endregion @@ -20,5 +20,34 @@ namespace SickscoreGames.ExampleScene transform.Rotate (0f, rotationSpeed * Time.deltaTime, 0f); } #endregion + + #region Helper Methods + public void SetInitialPrismColor (HUDNavigationElement element) + { + // change radar color + if (element.Radar != null) + element.Radar.ChangeIconColor(initialColor); + + // change compass bar color + if (element.CompassBar != null) + element.CompassBar.ChangeIconColor(initialColor); + + // change indicator colors + if (element.Indicator != null) + { + element.Indicator.ChangeIconColor(initialColor); + element.Indicator.ChangeOffscreenIconColor(initialColor); + } + + // change minimap color + if (element.Minimap != null) + element.Minimap.ChangeIconColor(initialColor); + + // change prism material color + Renderer prismRenderer = this.GetComponent(); + if (prismRenderer != null) + prismRenderer.material.color = initialColor; + } + #endregion } } diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleRotatePrism.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleRotatePrism.cs.meta index 0d0cec6bc..8b41fac50 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleRotatePrism.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleRotatePrism.cs.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleRotatePrism.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleRotatePrism.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleUniversalInput.cs b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleUniversalInput.cs new file mode 100644 index 000000000..af0c3fb12 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleUniversalInput.cs @@ -0,0 +1,94 @@ +using UnityEngine; +using System.Collections.Generic; +#if ENABLE_INPUT_SYSTEM +using UnityEngine.InputSystem; +#endif + +namespace SickscoreGames.ExampleScene +{ + public static class ExampleUniversalInput + { + static Dictionary axisState = new Dictionary(); + + public static float GetAxis(string axis) + { +#if ENABLE_INPUT_SYSTEM + float target = GetAxisRawNew(axis); +#else + float target = Input.GetAxisRaw(axis); +#endif + float current = axisState.TryGetValue(axis, out var v) ? v : 0f; + current = Mathf.MoveTowards(current, target, 3f * Time.deltaTime); + axisState[axis] = current; + + return current; + } + + public static bool GetKey(KeyCode key) + { +#if ENABLE_INPUT_SYSTEM + return GetKeyNew(key); +#else + return Input.GetKey(key); +#endif + } + + public static bool GetKeyDown(KeyCode key) + { +#if ENABLE_INPUT_SYSTEM + return GetKeyNew(key, true); +#else + return Input.GetKeyDown(key); +#endif + } + +#if ENABLE_INPUT_SYSTEM + static bool GetKeyNew(KeyCode key, bool downOnly = false) + { + var kb = Keyboard.current; + if (kb == null) return false; + + return key switch + { + KeyCode.Space => downOnly ? kb.spaceKey.wasPressedThisFrame : kb.spaceKey.isPressed, + KeyCode.LeftShift => downOnly ? kb.leftShiftKey.wasPressedThisFrame : kb.leftShiftKey.isPressed, + KeyCode.X => downOnly ? kb.xKey.wasPressedThisFrame : kb.xKey.isPressed, + KeyCode.C => downOnly ? kb.cKey.wasPressedThisFrame : kb.cKey.isPressed, + KeyCode.V => downOnly ? kb.vKey.wasPressedThisFrame : kb.vKey.isPressed, + KeyCode.B => downOnly ? kb.bKey.wasPressedThisFrame : kb.bKey.isPressed, + KeyCode.N => downOnly ? kb.nKey.wasPressedThisFrame : kb.nKey.isPressed, + KeyCode.M => downOnly ? kb.mKey.wasPressedThisFrame : kb.mKey.isPressed, + KeyCode.H => downOnly ? kb.hKey.wasPressedThisFrame : kb.hKey.isPressed, + KeyCode.Alpha1 => downOnly ? kb.digit1Key.wasPressedThisFrame : kb.digit1Key.isPressed, + KeyCode.Alpha2 => downOnly ? kb.digit2Key.wasPressedThisFrame : kb.digit2Key.isPressed, + KeyCode.Alpha3 => downOnly ? kb.digit3Key.wasPressedThisFrame : kb.digit3Key.isPressed, + KeyCode.Alpha4 => downOnly ? kb.digit4Key.wasPressedThisFrame : kb.digit4Key.isPressed, + KeyCode.Alpha5 => downOnly ? kb.digit5Key.wasPressedThisFrame : kb.digit5Key.isPressed, + KeyCode.Alpha6 => downOnly ? kb.digit6Key.wasPressedThisFrame : kb.digit6Key.isPressed, + KeyCode.Alpha7 => downOnly ? kb.digit7Key.wasPressedThisFrame : kb.digit7Key.isPressed, + KeyCode.E => downOnly ? kb.eKey.wasPressedThisFrame : kb.eKey.isPressed, + _ => false + }; + } + + static float GetAxisRawNew(string axis) + { + var k = Keyboard.current; + if (k == null) return 0f; + + switch (axis) + { + case "Horizontal": + return (k.dKey.isPressed || k.rightArrowKey.isPressed ? 1 : 0) - + (k.aKey.isPressed || k.leftArrowKey.isPressed ? 1 : 0); + + case "Vertical": + return (k.wKey.isPressed || k.upArrowKey.isPressed ? 1 : 0) - + (k.sKey.isPressed || k.downArrowKey.isPressed ? 1 : 0); + } + + return 0f; + } +#endif + } +} diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleUniversalInput.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleUniversalInput.cs.meta new file mode 100644 index 000000000..0678fa922 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleUniversalInput.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: e4ce55fbbb024284961c3401d8551713 +timeCreated: 1773655547 +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Scripts/ExampleUniversalInput.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Textures.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Textures.meta new file mode 100644 index 000000000..da18cb0c4 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 71f8b9be2891f4dfeb1c04b4e7525b68 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Textures/PictureFrame_HNS.png b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Textures/PictureFrame_HNS.png new file mode 100644 index 000000000..677d23857 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Textures/PictureFrame_HNS.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b02127eec4a3bce8c1c6af79c76e44e357d873e54b9de9c541bb62133068f1f +size 307441 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Textures/PictureFrame_HNS.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Textures/PictureFrame_HNS.png.meta new file mode 100644 index 000000000..db4e938f1 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Textures/PictureFrame_HNS.png.meta @@ -0,0 +1,121 @@ +fileFormatVersion: 2 +guid: 7c4383883ec325d0fb5f7521017c5361 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + 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 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + 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: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 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 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Textures/PictureFrame_HNS.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Textures/PictureFrame_SG.png b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Textures/PictureFrame_SG.png new file mode 100644 index 000000000..d39389f61 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Textures/PictureFrame_SG.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ae4680b47f0cad15fc58eceb8a1d8e00e2995160bda594100991f40e481f7fa +size 225751 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Textures/PictureFrame_SG.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Textures/PictureFrame_SG.png.meta new file mode 100644 index 000000000..7acda2b17 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Textures/PictureFrame_SG.png.meta @@ -0,0 +1,121 @@ +fileFormatVersion: 2 +guid: d1752ef562dcbc3cda6289e69e16d26d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + 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 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + 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: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 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 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleScene/Textures/PictureFrame_SG.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/Info_Settings.asset b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/Info_Settings.asset new file mode 100644 index 000000000..4cb8dba74 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/Info_Settings.asset @@ -0,0 +1,46 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 94e557c84e406e340b8f4326bc8094be, type: 3} + m_Name: Info_Settings + m_EditorClassIdentifier: + Prefabs: + RadarPrefab: {fileID: 0} + CompassBarPrefab: {fileID: 0} + IndicatorPrefab: {fileID: 114176059126210890, guid: 2cb017951154940e6bce85f137ee8da6, + type: 3} + MinimapPrefab: {fileID: 0} + hideInRadar: 0 + ignoreRadarRadius: 0 + ignoreRadarScaling: 0 + ignoreRadarFading: 0 + rotateWithGameObject: 1 + useRadarHeightSystem: 1 + hideInCompassBar: 0 + ignoreCompassBarRadius: 0 + useCompassBarDistanceText: 1 + compassBarDistanceTextFormat: '{0}m' + showIndicator: 1 + showOffscreenIndicator: 0 + ignoreIndicatorRadius: 1 + ignoreIndicatorHideDistance: 1 + ignoreIndicatorScaling: 1 + ignoreIndicatorFading: 1 + useIndicatorDistanceText: 0 + showOffscreenIndicatorDistance: 0 + indicatorOnscreenDistanceTextFormat: '{0}m' + indicatorOffscreenDistanceTextFormat: '{0}' + hideInMinimap: 0 + ignoreMinimapRadius: 0 + ignoreMinimapScaling: 0 + ignoreMinimapFading: 0 + rotateWithGameObjectMM: 1 + useMinimapHeightSystem: 1 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/Info_Settings.asset.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/Info_Settings.asset.meta new file mode 100644 index 000000000..e53971db2 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/Info_Settings.asset.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: 9b068031dba13488983a9e443f310e78 +timeCreated: 1547389478 +licenseType: Store +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/Info_Settings.asset + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/OpenDoor_Settings.asset b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/OpenDoor_Settings.asset new file mode 100644 index 000000000..2eaba0830 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/OpenDoor_Settings.asset @@ -0,0 +1,46 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 94e557c84e406e340b8f4326bc8094be, type: 3} + m_Name: OpenDoor_Settings + m_EditorClassIdentifier: + Prefabs: + RadarPrefab: {fileID: 0} + CompassBarPrefab: {fileID: 0} + IndicatorPrefab: {fileID: 114176059126210890, guid: 69aded07077184cc1af5570864022c7a, + type: 3} + MinimapPrefab: {fileID: 0} + hideInRadar: 0 + ignoreRadarRadius: 0 + ignoreRadarScaling: 0 + ignoreRadarFading: 0 + rotateWithGameObject: 1 + useRadarHeightSystem: 1 + hideInCompassBar: 0 + ignoreCompassBarRadius: 0 + useCompassBarDistanceText: 1 + compassBarDistanceTextFormat: '{0}m' + showIndicator: 1 + showOffscreenIndicator: 0 + ignoreIndicatorRadius: 0 + ignoreIndicatorHideDistance: 1 + ignoreIndicatorScaling: 1 + ignoreIndicatorFading: 1 + useIndicatorDistanceText: 0 + showOffscreenIndicatorDistance: 0 + indicatorOnscreenDistanceTextFormat: '{0}m' + indicatorOffscreenDistanceTextFormat: '{0}' + hideInMinimap: 0 + ignoreMinimapRadius: 0 + ignoreMinimapScaling: 0 + ignoreMinimapFading: 0 + rotateWithGameObjectMM: 1 + useMinimapHeightSystem: 1 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/OpenDoor_Settings.asset.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/OpenDoor_Settings.asset.meta new file mode 100644 index 000000000..b8644cdf3 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/OpenDoor_Settings.asset.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: 7ace3123c868542879e01ac849c5a93f +timeCreated: 1547389478 +licenseType: Store +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/OpenDoor_Settings.asset + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/PickUp_Settings.asset.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/PickUp_Settings.asset.meta index b0ab199d2..384c72502 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/PickUp_Settings.asset.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/PickUp_Settings.asset.meta @@ -12,6 +12,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/ExampleSettings/PickUp_Settings.asset - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/ExampleSettings/PickUp_Settings.asset + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/CompassBarPrefab_Home.prefab b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/CompassBarPrefab_Home.prefab index 7742d44b0..8ad2c9bb5 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/CompassBarPrefab_Home.prefab +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/CompassBarPrefab_Home.prefab @@ -1,27 +1,17 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 1294883182007106} - m_IsPrefabParent: 1 --- !u!1 &1033697685557460 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224653183855364810} - component: {fileID: 222043159011618472} - - component: {fileID: 114545224330333700} - - component: {fileID: 114241877039812918} + - component: {fileID: 66575415107771734} + - component: {fileID: 5925567421025315372} m_Layer: 5 m_Name: Distance Text m_TagString: Untagged @@ -29,12 +19,142 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224653183855364810 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1033697685557460} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224564110699443354} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: -12} + m_SizeDelta: {x: 50, y: 14} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &222043159011618472 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1033697685557460} + m_CullTransparentMesh: 1 +--- !u!114 &66575415107771734 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1033697685557460} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5ecc4b41a1574f739f1ddc6af9d0b0fe, type: 3} + m_Name: + m_EditorClassIdentifier: + _textComponent: {fileID: 5925567421025315372} +--- !u!114 &5925567421025315372 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1033697685557460} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 1234 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_sharedMaterial: {fileID: -349563783649582222, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 7 + m_fontSizeBase: 7 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &1150171583364842 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224977242468884096} - component: {fileID: 222052883839382228} @@ -46,12 +166,70 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224977242468884096 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1150171583364842} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224564110699443354} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 24, y: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222052883839382228 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1150171583364842} + m_CullTransparentMesh: 1 +--- !u!114 &114810399313211904 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1150171583364842} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 2713fb7e3a6eb2b44bef58ccca0b44a2, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &1294883182007106 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224564110699443354} - component: {fileID: 114933213283187704} @@ -62,85 +240,33 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &114241877039812918 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1033697685557460} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &114545224330333700 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1033697685557460} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 12800000, guid: 6ebf2a689a7843348a97bb68140c32a8, type: 3} - m_FontSize: 8 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 0 - m_MaxSize: 40 - m_Alignment: 1 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 1234 ---- !u!114 &114810399313211904 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1150171583364842} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 2713fb7e3a6eb2b44bef58ccca0b44a2, type: 3} - m_Type: 0 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 +--- !u!224 &224564110699443354 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1294883182007106} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224977242468884096} + - {fileID: 224653183855364810} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &114933213283187704 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1294883182007106} m_Enabled: 1 m_EditorHideFlags: 0 @@ -149,73 +275,6 @@ MonoBehaviour: m_EditorClassIdentifier: CustomTransforms: [] PrefabRect: {fileID: 0} + PrefabCanvasGroup: {fileID: 0} Icon: {fileID: 114810399313211904} - DistanceText: {fileID: 114545224330333700} ---- !u!222 &222043159011618472 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1033697685557460} ---- !u!222 &222052883839382228 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1150171583364842} ---- !u!224 &224564110699443354 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1294883182007106} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224977242468884096} - - {fileID: 224653183855364810} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 32, y: 32} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224653183855364810 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1033697685557460} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224564110699443354} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0} - m_AnchorMax: {x: 0.5, y: 0} - m_AnchoredPosition: {x: 0, y: -12} - m_SizeDelta: {x: 50, y: 14} - m_Pivot: {x: 0.5, y: 0} ---- !u!224 &224977242468884096 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1150171583364842} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224564110699443354} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 24, y: 24} - m_Pivot: {x: 0.5, y: 0.5} + DistanceText: {fileID: 66575415107771734} diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/CompassBarPrefab_Home.prefab.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/CompassBarPrefab_Home.prefab.meta index 79fd33d72..50be6ffc8 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/CompassBarPrefab_Home.prefab.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/CompassBarPrefab_Home.prefab.meta @@ -12,6 +12,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/HUDPrefabs/Home/CompassBarPrefab_Home.prefab - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/CompassBarPrefab_Home.prefab + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/IndicatorPrefab_Home.prefab b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/IndicatorPrefab_Home.prefab index c688a5957..a90e1290e 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/IndicatorPrefab_Home.prefab +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/IndicatorPrefab_Home.prefab @@ -1,22 +1,12 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 1315094477656738} - m_IsPrefabParent: 1 --- !u!1 &1046026890904696 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224833052588536156} m_Layer: 5 @@ -26,16 +16,40 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 0 +--- !u!224 &224833052588536156 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1046026890904696} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224808436163809250} + - {fileID: 224020446643571156} + - {fileID: 224972631418731828} + m_Father: {fileID: 224317506385225768} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1113321064108528 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224972631418731828} - component: {fileID: 222327012863971790} - - component: {fileID: 114690178194399340} + - component: {fileID: 8841446959720928456} + - component: {fileID: 2991630026467306103} m_Layer: 5 m_Name: Offscreen Distance Text m_TagString: Untagged @@ -43,12 +57,142 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 0 +--- !u!224 &224972631418731828 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1113321064108528} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224833052588536156} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 40, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222327012863971790 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1113321064108528} + m_CullTransparentMesh: 1 +--- !u!114 &8841446959720928456 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1113321064108528} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5ecc4b41a1574f739f1ddc6af9d0b0fe, type: 3} + m_Name: + m_EditorClassIdentifier: + _textComponent: {fileID: 2991630026467306103} +--- !u!114 &2991630026467306103 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1113321064108528} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 1234 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_sharedMaterial: {fileID: -349563783649582222, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 9 + m_fontSizeBase: 9 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 0 + m_fontSizeMax: 0 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &1177951166740528 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224141048770659782} - component: {fileID: 222290831696809540} @@ -60,12 +204,70 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224141048770659782 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1177951166740528} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224808436163809250} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222290831696809540 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1177951166740528} + m_CullTransparentMesh: 1 +--- !u!114 &114428810142833474 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1177951166740528} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 50307f9c2142b6c408aae5b37c089e66, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &1315094477656738 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224317506385225768} - component: {fileID: 114217203137382804} @@ -76,120 +278,33 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1431480889603794 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224020446643571156} - - component: {fileID: 222176980658981824} - - component: {fileID: 114124650302197028} - m_Layer: 5 - m_Name: Offscreen Icon - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1442311708972280 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224991856709850746} - - component: {fileID: 222729675447310322} - - component: {fileID: 114407379785019152} - m_Layer: 5 - m_Name: Onscreen Icon - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1533750745711198 -GameObject: +--- !u!224 &224317506385225768 +RectTransform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224164906093091132} - m_Layer: 5 - m_Name: Onscreen - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1683620609608958 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224443534076782788} - - component: {fileID: 222028230548417978} - - component: {fileID: 114713287470605052} - - component: {fileID: 114641232155836734} - m_Layer: 5 - m_Name: Onscreen Distance Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &1886253142944892 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224808436163809250} - m_Layer: 5 - m_Name: Offscreen Pointer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &114124650302197028 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1431480889603794} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 2713fb7e3a6eb2b44bef58ccca0b44a2, type: 3} - m_Type: 0 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1315094477656738} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224164906093091132} + - {fileID: 224833052588536156} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &114217203137382804 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1315094477656738} m_Enabled: 1 m_EditorHideFlags: 0 @@ -204,27 +319,73 @@ MonoBehaviour: OffscreenRect: {fileID: 224833052588536156} OffscreenPointer: {fileID: 224808436163809250} OffscreenIcon: {fileID: 114124650302197028} - OnscreenDistanceText: {fileID: 114713287470605052} - OffscreenDistanceText: {fileID: 114690178194399340} ---- !u!114 &114407379785019152 + OnscreenDistanceText: {fileID: 4053333166338825018} + OffscreenDistanceText: {fileID: 8841446959720928456} +--- !u!1 &1431480889603794 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224020446643571156} + - component: {fileID: 222176980658981824} + - component: {fileID: 114124650302197028} + m_Layer: 5 + m_Name: Offscreen Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224020446643571156 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1431480889603794} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224833052588536156} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0.5} + m_SizeDelta: {x: 12, y: 12} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222176980658981824 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1431480889603794} + m_CullTransparentMesh: 1 +--- !u!114 &114124650302197028 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1442311708972280} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1431480889603794} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null m_Sprite: {fileID: 21300000, guid: 2713fb7e3a6eb2b44bef58ccca0b44a2, type: 3} m_Type: 0 m_PreserveAspect: 1 @@ -233,26 +394,74 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &114428810142833474 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1442311708972280 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224991856709850746} + - component: {fileID: 222729675447310322} + - component: {fileID: 114407379785019152} + m_Layer: 5 + m_Name: Onscreen Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224991856709850746 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442311708972280} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224164906093091132} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222729675447310322 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442311708972280} + m_CullTransparentMesh: 1 +--- !u!114 &114407379785019152 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1177951166740528} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442311708972280} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 50307f9c2142b6c408aae5b37c089e66, type: 3} + m_Sprite: {fileID: 21300000, guid: 2713fb7e3a6eb2b44bef58ccca0b44a2, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -260,283 +469,226 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!114 &114641232155836734 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1533750745711198 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224164906093091132} + m_Layer: 5 + m_Name: Onscreen + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224164906093091132 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1533750745711198} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224991856709850746} + - {fileID: 224443534076782788} + m_Father: {fileID: 224317506385225768} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1683620609608958 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224443534076782788} + - component: {fileID: 222028230548417978} + - component: {fileID: 4053333166338825018} + - component: {fileID: 804466888640476084} + m_Layer: 5 + m_Name: Onscreen Distance Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224443534076782788 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1683620609608958} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224164906093091132} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: -19} + m_SizeDelta: {x: 50, y: 18} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &222028230548417978 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1683620609608958} + m_CullTransparentMesh: 1 +--- !u!114 &4053333166338825018 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1683620609608958} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: 5ecc4b41a1574f739f1ddc6af9d0b0fe, type: 3} m_Name: m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &114690178194399340 + _textComponent: {fileID: 804466888640476084} +--- !u!114 &804466888640476084 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1113321064108528} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 12800000, guid: 6ebf2a689a7843348a97bb68140c32a8, type: 3} - m_FontSize: 9 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 0 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 1234 ---- !u!114 &114713287470605052 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1683620609608958} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 12800000, guid: 6ebf2a689a7843348a97bb68140c32a8, type: 3} - m_FontSize: 10 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 0 - m_MaxSize: 40 - m_Alignment: 1 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 1234m ---- !u!222 &222028230548417978 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1683620609608958} ---- !u!222 &222176980658981824 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1431480889603794} ---- !u!222 &222290831696809540 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1177951166740528} ---- !u!222 &222327012863971790 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1113321064108528} ---- !u!222 &222729675447310322 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1442311708972280} ---- !u!224 &224020446643571156 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1431480889603794} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224833052588536156} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0.5} - m_SizeDelta: {x: 12, y: 12} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224141048770659782 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1177951166740528} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224808436163809250} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 32, y: 32} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224164906093091132 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1533750745711198} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224991856709850746} - - {fileID: 224443534076782788} - m_Father: {fileID: 224317506385225768} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 16, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224317506385225768 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1315094477656738} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224164906093091132} - - {fileID: 224833052588536156} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 16, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224443534076782788 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1683620609608958} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224164906093091132} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0} - m_AnchorMax: {x: 0.5, y: 0} - m_AnchoredPosition: {x: 0, y: -18} - m_SizeDelta: {x: 50, y: 18} - m_Pivot: {x: 0.5, y: 0} + m_text: 1234m + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_sharedMaterial: {fileID: -349563783649582222, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 9 + m_fontSizeBase: 9 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1886253142944892 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224808436163809250} + m_Layer: 5 + m_Name: Offscreen Pointer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!224 &224808436163809250 RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1886253142944892} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 224141048770659782} m_Father: {fileID: 224833052588536156} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 24, y: 24} m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224833052588536156 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1046026890904696} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224808436163809250} - - {fileID: 224020446643571156} - - {fileID: 224972631418731828} - m_Father: {fileID: 224317506385225768} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 16, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224972631418731828 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1113321064108528} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224833052588536156} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 40, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224991856709850746 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1442311708972280} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224164906093091132} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: 0.5, y: 0.5} diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/IndicatorPrefab_Home.prefab.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/IndicatorPrefab_Home.prefab.meta index 94a866da7..e0865dea3 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/IndicatorPrefab_Home.prefab.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/IndicatorPrefab_Home.prefab.meta @@ -12,6 +12,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/HUDPrefabs/Home/IndicatorPrefab_Home.prefab - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/IndicatorPrefab_Home.prefab + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/MinimapPrefab_Home.prefab.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/MinimapPrefab_Home.prefab.meta index c4c5ead3f..2d8bd70d2 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/MinimapPrefab_Home.prefab.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/MinimapPrefab_Home.prefab.meta @@ -12,6 +12,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/HUDPrefabs/Home/MinimapPrefab_Home.prefab - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/MinimapPrefab_Home.prefab + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/RadarPrefab_Home.prefab.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/RadarPrefab_Home.prefab.meta index e29fa5861..1e2f9cc87 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/RadarPrefab_Home.prefab.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/RadarPrefab_Home.prefab.meta @@ -12,6 +12,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/HUDPrefabs/Home/RadarPrefab_Home.prefab - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Home/RadarPrefab_Home.prefab + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Door.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Door.meta new file mode 100644 index 000000000..33e4e40c6 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Door.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f956ff54de81a5bf0b21592cb0e4cc7b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Door/IndicatorPrefab_OpenDoor.prefab b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Door/IndicatorPrefab_OpenDoor.prefab new file mode 100644 index 000000000..bb73e1edc --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Door/IndicatorPrefab_OpenDoor.prefab @@ -0,0 +1,309 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1239637511557358 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224446122186110512} + m_Layer: 5 + m_Name: Onscreen + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224446122186110512 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1239637511557358} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224500009171178098} + - {fileID: 224811147925568210} + m_Father: {fileID: 224089569186524578} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1751730016159174 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224811147925568210} + - component: {fileID: 222386022941715322} + - component: {fileID: 9055835747648012012} + m_Layer: 5 + m_Name: Open Door Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &224811147925568210 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1751730016159174} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224446122186110512} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 20, y: 0} + m_SizeDelta: {x: 66, y: 16} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222386022941715322 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1751730016159174} + m_CullTransparentMesh: 1 +--- !u!114 &9055835747648012012 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1751730016159174} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: '[E] Open Door' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_sharedMaterial: {fileID: -349563783649582222, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 9 + m_fontSizeBase: 9 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1801602756475314 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224500009171178098} + - component: {fileID: 222293118754107282} + - component: {fileID: 114770910003641762} + m_Layer: 5 + m_Name: Onscreen Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224500009171178098 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1801602756475314} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224446122186110512} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 24, y: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222293118754107282 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1801602756475314} + m_CullTransparentMesh: 0 +--- !u!114 &114770910003641762 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1801602756475314} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 68437206ae9c84667ae69d6767111b1f, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1910649875787494 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224089569186524578} + - component: {fileID: 114176059126210890} + m_Layer: 5 + m_Name: IndicatorPrefab_OpenDoor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224089569186524578 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1910649875787494} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224446122186110512} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &114176059126210890 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1910649875787494} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed60444a269605249b4a5c7df34e3e00, type: 3} + m_Name: + m_EditorClassIdentifier: + CustomTransforms: + - name: openDoorText + transform: {fileID: 224811147925568210} + PrefabRect: {fileID: 0} + PrefabCanvasGroup: {fileID: 0} + OnscreenRect: {fileID: 224446122186110512} + OnscreenIcon: {fileID: 114770910003641762} + OffscreenRect: {fileID: 0} + OffscreenPointer: {fileID: 0} + OffscreenIcon: {fileID: 0} + OnscreenDistanceText: {fileID: 0} + OffscreenDistanceText: {fileID: 0} diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Door/IndicatorPrefab_OpenDoor.prefab.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Door/IndicatorPrefab_OpenDoor.prefab.meta new file mode 100644 index 000000000..6a5886996 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Door/IndicatorPrefab_OpenDoor.prefab.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: 69aded07077184cc1af5570864022c7a +timeCreated: 1529587019 +licenseType: Store +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Door/IndicatorPrefab_OpenDoor.prefab + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Info.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Info.meta new file mode 100644 index 000000000..a2113042d --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Info.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0f611a9095af71229bc6d784b2fc41d9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Info/IndicatorPrefab_InfoItem.prefab b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Info/IndicatorPrefab_InfoItem.prefab new file mode 100644 index 000000000..09b394dab --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Info/IndicatorPrefab_InfoItem.prefab @@ -0,0 +1,169 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1239637511557358 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224446122186110512} + m_Layer: 5 + m_Name: Onscreen + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224446122186110512 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1239637511557358} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224500009171178098} + m_Father: {fileID: 224089569186524578} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1801602756475314 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224500009171178098} + - component: {fileID: 222293118754107282} + - component: {fileID: 114770910003641762} + m_Layer: 5 + m_Name: Onscreen Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224500009171178098 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1801602756475314} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224446122186110512} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 12, y: 12} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222293118754107282 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1801602756475314} + m_CullTransparentMesh: 0 +--- !u!114 &114770910003641762 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1801602756475314} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: b15b60a5a9d3f854ca24a4a9cdbd4f76, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 +--- !u!1 &1910649875787494 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224089569186524578} + - component: {fileID: 114176059126210890} + m_Layer: 5 + m_Name: IndicatorPrefab_InfoItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224089569186524578 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1910649875787494} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224446122186110512} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &114176059126210890 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1910649875787494} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed60444a269605249b4a5c7df34e3e00, type: 3} + m_Name: + m_EditorClassIdentifier: + CustomTransforms: [] + PrefabRect: {fileID: 0} + PrefabCanvasGroup: {fileID: 0} + OnscreenRect: {fileID: 224446122186110512} + OnscreenIcon: {fileID: 114770910003641762} + OffscreenRect: {fileID: 0} + OffscreenPointer: {fileID: 0} + OffscreenIcon: {fileID: 0} + OnscreenDistanceText: {fileID: 0} + OffscreenDistanceText: {fileID: 0} diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Info/IndicatorPrefab_InfoItem.prefab.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Info/IndicatorPrefab_InfoItem.prefab.meta new file mode 100644 index 000000000..c689be5f3 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Info/IndicatorPrefab_InfoItem.prefab.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: 2cb017951154940e6bce85f137ee8da6 +timeCreated: 1529587019 +licenseType: Store +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/House_Info/IndicatorPrefab_InfoItem.prefab + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/PickUp Item/IndicatorPrefab_PickUpItem.prefab b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/PickUp Item/IndicatorPrefab_PickUpItem.prefab index a49f99495..79e2a5bd8 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/PickUp Item/IndicatorPrefab_PickUpItem.prefab +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/PickUp Item/IndicatorPrefab_PickUpItem.prefab @@ -1,22 +1,12 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 1910649875787494} - m_IsPrefabParent: 1 --- !u!1 &1239637511557358 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224446122186110512} m_Layer: 5 @@ -26,16 +16,38 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224446122186110512 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1239637511557358} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224500009171178098} + - {fileID: 224811147925568210} + m_Father: {fileID: 224089569186524578} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1751730016159174 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224811147925568210} - component: {fileID: 222386022941715322} - - component: {fileID: 114936965441938700} + - component: {fileID: 7105944512326475598} m_Layer: 5 m_Name: Pickup Text m_TagString: Untagged @@ -43,12 +55,129 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 0 +--- !u!224 &224811147925568210 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1751730016159174} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224446122186110512} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: -10} + m_SizeDelta: {x: 54, y: 16} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &222386022941715322 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1751730016159174} + m_CullTransparentMesh: 1 +--- !u!114 &7105944512326475598 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1751730016159174} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: '[E] Pick Up' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_sharedMaterial: {fileID: -349563783649582222, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 9 + m_fontSizeBase: 9 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &1801602756475314 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224500009171178098} - component: {fileID: 222293118754107282} @@ -60,12 +189,70 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224500009171178098 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1801602756475314} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224446122186110512} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10, y: 10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222293118754107282 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1801602756475314} + m_CullTransparentMesh: 1 +--- !u!114 &114770910003641762 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1801602756475314} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 76a034e1e02b5934295056cc438cc016, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &1910649875787494 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224089569186524578} - component: {fileID: 114176059126210890} @@ -76,11 +263,32 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224089569186524578 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1910649875787494} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224446122186110512} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &114176059126210890 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1910649875787494} m_Enabled: 1 m_EditorHideFlags: 0 @@ -91,6 +299,7 @@ MonoBehaviour: - name: pickupText transform: {fileID: 224811147925568210} PrefabRect: {fileID: 0} + PrefabCanvasGroup: {fileID: 0} OnscreenRect: {fileID: 224446122186110512} OnscreenIcon: {fileID: 114770910003641762} OffscreenRect: {fileID: 0} @@ -98,150 +307,3 @@ MonoBehaviour: OffscreenIcon: {fileID: 0} OnscreenDistanceText: {fileID: 0} OffscreenDistanceText: {fileID: 0} ---- !u!114 &114770910003641762 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1801602756475314} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 76a034e1e02b5934295056cc438cc016, type: 3} - m_Type: 0 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114936965441938700 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1751730016159174} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 12800000, guid: 5dfd9f912568dd149a87a39b8befa8da, type: 3} - m_FontSize: 9 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 1 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: '[E] Pick Up' ---- !u!222 &222293118754107282 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1801602756475314} ---- !u!222 &222386022941715322 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1751730016159174} ---- !u!224 &224089569186524578 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1910649875787494} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224446122186110512} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 16, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224446122186110512 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1239637511557358} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224500009171178098} - - {fileID: 224811147925568210} - m_Father: {fileID: 224089569186524578} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 16, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224500009171178098 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1801602756475314} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224446122186110512} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 10, y: 10} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224811147925568210 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1751730016159174} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224446122186110512} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0} - m_AnchorMax: {x: 0.5, y: 0} - m_AnchoredPosition: {x: 0, y: -10} - m_SizeDelta: {x: 50, y: 16} - m_Pivot: {x: 0.5, y: 0} diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/PickUp Item/IndicatorPrefab_PickUpItem.prefab.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/PickUp Item/IndicatorPrefab_PickUpItem.prefab.meta index 11418aa94..47a29c329 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/PickUp Item/IndicatorPrefab_PickUpItem.prefab.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/PickUp Item/IndicatorPrefab_PickUpItem.prefab.meta @@ -12,7 +12,7 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/HUDPrefabs/PickUp + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/PickUp Item/IndicatorPrefab_PickUpItem.prefab - uploadId: 382610 + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Prism/IndicatorPrefab_Prism.prefab b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Prism/IndicatorPrefab_Prism.prefab index 781fef7fa..e36d2c467 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Prism/IndicatorPrefab_Prism.prefab +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Prism/IndicatorPrefab_Prism.prefab @@ -1,27 +1,17 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 1842846931379506} - m_IsPrefabParent: 1 --- !u!1 &1171728967299072 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224247016285502806} - component: {fileID: 222586595407249692} - - component: {fileID: 114493474990271406} - - component: {fileID: 114594962623399052} + - component: {fileID: 7426050216939800756} + - component: {fileID: 8140346019658264925} m_Layer: 5 m_Name: Onscreen Distance Text m_TagString: Untagged @@ -29,12 +19,142 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224247016285502806 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1171728967299072} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224550580943031474} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 20, y: 0} + m_SizeDelta: {x: 40, y: 16} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222586595407249692 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1171728967299072} + m_CullTransparentMesh: 1 +--- !u!114 &7426050216939800756 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1171728967299072} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5ecc4b41a1574f739f1ddc6af9d0b0fe, type: 3} + m_Name: + m_EditorClassIdentifier: + _textComponent: {fileID: 8140346019658264925} +--- !u!114 &8140346019658264925 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1171728967299072} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 1234m + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_sharedMaterial: {fileID: -349563783649582222, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 9 + m_fontSizeBase: 9 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &1465227754915752 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224982360108592004} - component: {fileID: 222067469626968508} @@ -46,17 +166,74 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224982360108592004 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1465227754915752} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224550580943031474} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222067469626968508 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1465227754915752} + m_CullTransparentMesh: 1 +--- !u!114 &114465140003419578 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1465227754915752} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.80689657, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 51bbcf8758719b34bbde5336488efec3, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &1473407679254822 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224511846087620084} - component: {fileID: 222301285332184952} - - component: {fileID: 114187581990628178} - - component: {fileID: 114478745218569148} + - component: {fileID: 492988706669479888} m_Layer: 5 m_Name: Interaction Text m_TagString: Untagged @@ -64,12 +241,129 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 0 +--- !u!224 &224511846087620084 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1473407679254822} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224550580943031474} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: -32} + m_SizeDelta: {x: 60, y: 30} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &222301285332184952 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1473407679254822} + m_CullTransparentMesh: 1 +--- !u!114 &492988706669479888 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1473407679254822} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: '[E] Change Color' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_sharedMaterial: {fileID: -349563783649582222, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 9 + m_fontSizeBase: 9 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &1622517486914316 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224135036790363158} - component: {fileID: 222579230143219362} @@ -81,12 +375,70 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224135036790363158 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1622517486914316} + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224981625852471158} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 15} + m_SizeDelta: {x: 8, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222579230143219362 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1622517486914316} + m_CullTransparentMesh: 1 +--- !u!114 &114982213766378976 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1622517486914316} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 188b06acb7f148b439c8606df247fa5d, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &1660644230951708 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224981625852471158} m_Layer: 5 @@ -96,12 +448,33 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224981625852471158 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1660644230951708} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224135036790363158} + m_Father: {fileID: 224277124442573342} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 24, y: 24} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1729637342393038 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224550580943031474} m_Layer: 5 @@ -111,12 +484,35 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224550580943031474 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1729637342393038} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224982360108592004} + - {fileID: 224247016285502806} + - {fileID: 224511846087620084} + m_Father: {fileID: 224345845488663124} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1736770761984482 GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224061539553793910} - component: {fileID: 222382681849099862} @@ -128,12 +524,70 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!224 &224061539553793910 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1736770761984482} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224277124442573342} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222382681849099862 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1736770761984482} + m_CullTransparentMesh: 1 +--- !u!114 &114131525449911140 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1736770761984482} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.80689657, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 385346fc9bceaf44b9a3ee72e6758607, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &1822669889516718 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224277124442573342} m_Layer: 5 @@ -143,12 +597,35 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 0 +--- !u!224 &224277124442573342 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1822669889516718} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224981625852471158} + - {fileID: 224061539553793910} + - {fileID: 224995012699577394} + m_Father: {fileID: 224345845488663124} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1842846931379506 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 m_Component: - component: {fileID: 224345845488663124} - component: {fileID: 114774112296258654} @@ -159,210 +636,33 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!1 &1854965662675770 -GameObject: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 224995012699577394} - - component: {fileID: 222212905867352346} - - component: {fileID: 114315761533306510} - - component: {fileID: 114862407764209602} - m_Layer: 5 - m_Name: Offscreen Distance Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &114131525449911140 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1736770761984482} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 0.80689657, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 385346fc9bceaf44b9a3ee72e6758607, type: 3} - m_Type: 0 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114187581990628178 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1473407679254822} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 12800000, guid: 6ebf2a689a7843348a97bb68140c32a8, type: 3} - m_FontSize: 9 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 0 - m_MaxSize: 40 - m_Alignment: 1 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: '[E] Change Color' ---- !u!114 &114315761533306510 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1854965662675770} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 12800000, guid: 6ebf2a689a7843348a97bb68140c32a8, type: 3} - m_FontSize: 9 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 0 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 1234 ---- !u!114 &114465140003419578 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1465227754915752} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 0.80689657, b: 0, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 51bbcf8758719b34bbde5336488efec3, type: 3} - m_Type: 0 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!114 &114478745218569148 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1473407679254822} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &114493474990271406 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1171728967299072} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 12800000, guid: 6ebf2a689a7843348a97bb68140c32a8, type: 3} - m_FontSize: 9 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 0 - m_MaxSize: 40 - m_Alignment: 3 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 1234m ---- !u!114 &114594962623399052 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1171728967299072} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1573420865, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 +--- !u!224 &224345845488663124 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1842846931379506} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 224550580943031474} + - {fileID: 224277124442573342} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 16, y: 16} + m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &114774112296258654 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1842846931379506} m_Enabled: 1 m_EditorHideFlags: 0 @@ -373,276 +673,159 @@ MonoBehaviour: - name: interactionText transform: {fileID: 224511846087620084} PrefabRect: {fileID: 0} + PrefabCanvasGroup: {fileID: 0} OnscreenRect: {fileID: 224550580943031474} OnscreenIcon: {fileID: 114465140003419578} OffscreenRect: {fileID: 224277124442573342} OffscreenPointer: {fileID: 224981625852471158} OffscreenIcon: {fileID: 114131525449911140} - OnscreenDistanceText: {fileID: 114493474990271406} - OffscreenDistanceText: {fileID: 114315761533306510} ---- !u!114 &114862407764209602 + OnscreenDistanceText: {fileID: 7426050216939800756} + OffscreenDistanceText: {fileID: 5825228142254686196} +--- !u!1 &1854965662675770 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224995012699577394} + - component: {fileID: 222212905867352346} + - component: {fileID: 5825228142254686196} + - component: {fileID: 7558427612415409480} + m_Layer: 5 + m_Name: Offscreen Distance Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224995012699577394 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1854965662675770} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 224277124442573342} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 40, y: 16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222212905867352346 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1854965662675770} + m_CullTransparentMesh: 1 +--- !u!114 &5825228142254686196 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1854965662675770} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -900027084, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: 5ecc4b41a1574f739f1ddc6af9d0b0fe, type: 3} m_Name: m_EditorClassIdentifier: - m_EffectColor: {r: 1, g: 0.80689657, b: 0, a: 1} - m_EffectDistance: {x: 1, y: -1} - m_UseGraphicAlpha: 1 ---- !u!114 &114982213766378976 + _textComponent: {fileID: 7558427612415409480} +--- !u!114 &7558427612415409480 MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1622517486914316} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1854965662675770} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 21300000, guid: 188b06acb7f148b439c8606df247fa5d, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &222067469626968508 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1465227754915752} ---- !u!222 &222212905867352346 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1854965662675770} ---- !u!222 &222301285332184952 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1473407679254822} ---- !u!222 &222382681849099862 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1736770761984482} ---- !u!222 &222579230143219362 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1622517486914316} ---- !u!222 &222586595407249692 -CanvasRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1171728967299072} ---- !u!224 &224061539553793910 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1736770761984482} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224277124442573342} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 16, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224135036790363158 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1622517486914316} - m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224981625852471158} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 15} - m_SizeDelta: {x: 8, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224247016285502806 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1171728967299072} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224550580943031474} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 0, y: 0.5} - m_AnchoredPosition: {x: 20, y: 0} - m_SizeDelta: {x: 40, y: 16} - m_Pivot: {x: 0, y: 0.5} ---- !u!224 &224277124442573342 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1822669889516718} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224981625852471158} - - {fileID: 224061539553793910} - - {fileID: 224995012699577394} - m_Father: {fileID: 224345845488663124} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 16, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224345845488663124 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1842846931379506} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224550580943031474} - - {fileID: 224277124442573342} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 16, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224511846087620084 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1473407679254822} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224550580943031474} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0} - m_AnchorMax: {x: 0.5, y: 0} - m_AnchoredPosition: {x: 0, y: -32} - m_SizeDelta: {x: 60, y: 30} - m_Pivot: {x: 0.5, y: 0} ---- !u!224 &224550580943031474 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1729637342393038} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224982360108592004} - - {fileID: 224247016285502806} - - {fileID: 224511846087620084} - m_Father: {fileID: 224345845488663124} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 16, y: 16} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224981625852471158 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1660644230951708} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 224135036790363158} - m_Father: {fileID: 224277124442573342} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 24, y: 24} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224982360108592004 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1465227754915752} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224550580943031474} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!224 &224995012699577394 -RectTransform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1854965662675770} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 224277124442573342} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 40, y: 16} - m_Pivot: {x: 0.5, y: 0.5} + m_text: 1234 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_sharedMaterial: {fileID: -349563783649582222, guid: 834dbc00e0aa00e7d8adbe6348960ace, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 9 + m_fontSizeBase: 9 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Prism/IndicatorPrefab_Prism.prefab.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Prism/IndicatorPrefab_Prism.prefab.meta index e7b10f37a..a78f5c69c 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Prism/IndicatorPrefab_Prism.prefab.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Prism/IndicatorPrefab_Prism.prefab.meta @@ -12,6 +12,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/HUDPrefabs/Prism/IndicatorPrefab_Prism.prefab - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/HUDPrefabs/Prism/IndicatorPrefab_Prism.prefab + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/SceneConfigs/House_Config.asset b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/SceneConfigs/House_Config.asset new file mode 100644 index 000000000..0ab82f455 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/SceneConfigs/House_Config.asset @@ -0,0 +1,61 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 4be86cf9aedbab74fb51f5877ba146c2, type: 3} + m_Name: House_Config + m_EditorClassIdentifier: + overrideRadarSettings: 1 + overrideCompassBarSettings: 1 + overrideIndicatorSettings: 1 + overrideMinimapSettings: 1 + useRadar: 0 + radarMode: 0 + radarZoom: 1 + radarRadius: 50 + radarMaxRadius: 75 + useRadarScaling: 1 + radarScaleDistance: 10 + radarMinScale: 0.35 + useRadarFading: 1 + radarFadeDistance: 5 + radarMinFade: 0 + useRadarHeightSystem: 1 + radarDistanceAbove: 5 + radarDistanceBelow: 5 + useCompassBar: 1 + compassBarRadius: 75 + useIndicators: 1 + indicatorRadius: 10 + indicatorHideDistance: 1.75 + useOffscreenIndicators: 1 + indicatorOffscreenBorder: 0.1 + useIndicatorScaling: 1 + indicatorScaleRadius: 1 + indicatorMinScale: 0.8 + useIndicatorFading: 1 + indicatorFadeRadius: 10 + indicatorMinFade: 0 + useMinimap: 0 + minimapProfile: {fileID: 0} + minimapMode: 1 + minimapShape: 0 + minimapScale: 0.1 + minimapRadius: 75 + useMinimapScaling: 1 + minimapScaleDistance: 10 + minimapMinScale: 0.35 + useMinimapFading: 1 + minimapFadeDistance: 5 + minimapMinFade: 0 + showMinimapBounds: 1 + useMinimapHeightSystem: 1 + minimapDistanceAbove: 5 + minimapDistanceBelow: 5 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/SceneConfigs/House_Config.asset.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/SceneConfigs/House_Config.asset.meta new file mode 100644 index 000000000..beaa3bb07 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/SceneConfigs/House_Config.asset.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: 285330f186346db48bf5076f3008b017 +timeCreated: 1547935202 +licenseType: Store +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/SceneConfigs/House_Config.asset + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/SceneConfigs/SkyIsland_Config.asset b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/SceneConfigs/SkyIsland_Config.asset new file mode 100644 index 000000000..0ea4490a0 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/SceneConfigs/SkyIsland_Config.asset @@ -0,0 +1,61 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 4be86cf9aedbab74fb51f5877ba146c2, type: 3} + m_Name: SkyIsland_Config + m_EditorClassIdentifier: + overrideRadarSettings: 1 + overrideCompassBarSettings: 1 + overrideIndicatorSettings: 1 + overrideMinimapSettings: 1 + useRadar: 1 + radarMode: 0 + radarZoom: 1 + radarRadius: 50 + radarMaxRadius: 75 + useRadarScaling: 1 + radarScaleDistance: 10 + radarMinScale: 0.35 + useRadarFading: 1 + radarFadeDistance: 5 + radarMinFade: 0 + useRadarHeightSystem: 1 + radarDistanceAbove: 5 + radarDistanceBelow: 5 + useCompassBar: 1 + compassBarRadius: 75 + useIndicators: 1 + indicatorRadius: 10 + indicatorHideDistance: 1.75 + useOffscreenIndicators: 1 + indicatorOffscreenBorder: 0.1 + useIndicatorScaling: 1 + indicatorScaleRadius: 1 + indicatorMinScale: 0.8 + useIndicatorFading: 1 + indicatorFadeRadius: 10 + indicatorMinFade: 0 + useMinimap: 1 + minimapProfile: {fileID: 11400000, guid: 263ac76fd96a0d3469ca0f61fe774580, type: 2} + minimapMode: 1 + minimapShape: 0 + minimapScale: 0.1 + minimapRadius: 75 + useMinimapScaling: 1 + minimapScaleDistance: 10 + minimapMinScale: 0.35 + useMinimapFading: 1 + minimapFadeDistance: 5 + minimapMinFade: 0 + showMinimapBounds: 1 + useMinimapHeightSystem: 1 + minimapDistanceAbove: 5 + minimapDistanceBelow: 5 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/SceneConfigs/SkyIsland_Config.asset.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/SceneConfigs/SkyIsland_Config.asset.meta new file mode 100644 index 000000000..8acba1a91 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/SceneConfigs/SkyIsland_Config.asset.meta @@ -0,0 +1,17 @@ +fileFormatVersion: 2 +guid: 20b40a2fe8968834b9998d9acdb361ca +timeCreated: 1547935202 +licenseType: Store +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/SceneConfigs/SkyIsland_Config.asset + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/ExampleCallbackScript.cs b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/ExampleCallbackScript.cs index baca5dd80..ae9661b62 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/ExampleCallbackScript.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/ExampleCallbackScript.cs @@ -1,9 +1,6 @@ -using System.Collections; -using System.Collections.Generic; +using SickscoreGames.HUDNavigationSystem; using UnityEngine; -using SickscoreGames.HUDNavigationSystem; // MANDATORY !! - public class ExampleCallbackScript : MonoBehaviour { #region Example Methods diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/ExampleCallbackScript.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/ExampleCallbackScript.cs.meta index 78531c158..1beada17d 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/ExampleCallbackScript.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/ExampleCallbackScript.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Scripts/ExampleCallbackScript.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/ExampleCallbackScript.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDCurrentDegrees.cs b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDCurrentDegrees.cs index fe537d8d9..5b8bda7dc 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDCurrentDegrees.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDCurrentDegrees.cs @@ -1,29 +1,25 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; -using SickscoreGames; +using UnityEngine; namespace SickscoreGames.HUDNavigationSystem { - [RequireComponent(typeof(Text))] + [RequireComponent(typeof(HNSTextReference))] public class HUDCurrentDegrees : MonoBehaviour { #region Variables - protected Text text; + protected HNSTextReference textRef; #endregion #region Main Methods void Awake () { - text = GetComponent (); + textRef = GetComponent (); } - void Update () { - text.text = ((int)HUDNavigationCanvas.Instance.CompassBarCurrentDegrees).ToString (); + if (textRef) + textRef.SetText(((int)HUDNavigationCanvas.Instance.CompassBarCurrentDegrees).ToString ()); } #endregion } diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDCurrentDegrees.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDCurrentDegrees.cs.meta index b40bdb283..0b1468b9a 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDCurrentDegrees.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDCurrentDegrees.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Scripts/HUDCurrentDegrees.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDCurrentDegrees.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDKeepRotation.cs b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDKeepRotation.cs index 93c60c817..71fb49333 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDKeepRotation.cs +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDKeepRotation.cs @@ -1,7 +1,4 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using SickscoreGames; +using UnityEngine; namespace SickscoreGames.HUDNavigationSystem { diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDKeepRotation.cs.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDKeepRotation.cs.meta index da68c36a3..b570fbd71 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDKeepRotation.cs.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDKeepRotation.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Scripts/HUDKeepRotation.cs - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Scripts/HUDKeepRotation.cs + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Arrow.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Arrow.png.meta index bdec3e433..eadce5aa7 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Arrow.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Arrow.png.meta @@ -108,7 +108,7 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Compass + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Arrow.png - uploadId: 382610 + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Flight.psd.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Flight.psd.meta index 077bc9904..d196a1b74 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Flight.psd.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Flight.psd.meta @@ -100,7 +100,7 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Compass + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Flight.psd - uploadId: 382610 + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Minimal.psd b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Minimal.psd new file mode 100644 index 000000000..bb11002dc --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Minimal.psd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b0e28365264dc707faa6ea180a36e2b07cb30141a6a575d993c39986a31c0d1 +size 174836 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Minimal.psd.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Minimal.psd.meta new file mode 100644 index 000000000..a6f165e46 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Minimal.psd.meta @@ -0,0 +1,122 @@ +fileFormatVersion: 2 +guid: 6523432a3aab1694aa9d29ebfa3a6022 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + 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 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + 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: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 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 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 1 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass + Bar/Designs/Compass/Compass_Minimal.psd + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_RPG.psd.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_RPG.psd.meta index 956c8688f..1bd145918 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_RPG.psd.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_RPG.psd.meta @@ -100,7 +100,7 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Compass + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_RPG.psd - uploadId: 382610 + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Shooter.psd b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Shooter.psd index 9f28d3b7f..baf9a063e 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Shooter.psd +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Shooter.psd @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fdcbc0fd7d6cbb05f5930e66e300efe13184207c818ee59e6c2797e5c6567b5c -size 384622 +oid sha256:7f097e84c4d807792cf6a5e98aeb129c931c73e99617e54b375b74deb6ae76bd +size 338744 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Shooter.psd.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Shooter.psd.meta index 8a0c22eee..b185744f4 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Shooter.psd.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Shooter.psd.meta @@ -1,11 +1,9 @@ fileFormatVersion: 2 -guid: 1d29c4bad336ec54095151d15748b2cc -timeCreated: 1524741490 -licenseType: Store +guid: d4db933dca53365d783910677729539c TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 4 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 0 @@ -22,7 +20,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -32,11 +35,11 @@ TextureImporter: textureSettings: serializedVersion: 2 filterMode: 2 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 nPOTScale: 0 lightmap: 0 compressionQuality: 50 @@ -53,11 +56,19 @@ TextureImporter: spriteTessellationDetail: -1 textureType: 0 textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 platformSettings: - - buildTarget: DefaultTexturePlatform + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -66,33 +77,38 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 - - buildTarget: Standalone + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 0 + textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] physicsShape: [] - spritePackingTag: + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 1 userData: assetBundleName: assetBundleVariant: @@ -100,7 +116,7 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Compass + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Shooter.psd - uploadId: 382610 + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Simple.psd b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Simple.psd new file mode 100644 index 000000000..a97a25079 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Simple.psd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c086fea138a3481ba8f63c631795b6ce479a83b6fb46646e50b269509852efbd +size 224097 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Simple.psd.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Simple.psd.meta new file mode 100644 index 000000000..d7328f6e3 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Compass/Compass_Simple.psd.meta @@ -0,0 +1,122 @@ +fileFormatVersion: 2 +guid: 1697f6a419aaaeebb8632b66235f1a39 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + 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 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + 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: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 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 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 1 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass + Bar/Designs/Compass/Compass_Simple.psd + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Overlay/Overlay_RPG.psd.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Overlay/Overlay_RPG.psd.meta index ad7b0f4fd..9f44f62cc 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Overlay/Overlay_RPG.psd.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Overlay/Overlay_RPG.psd.meta @@ -112,7 +112,7 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Compass + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Compass Bar/Designs/Overlay/Overlay_RPG.psd - uploadId: 382610 + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Height System/Arrow_Above.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Height System/Arrow_Above.png.meta index 1498ee494..dc55e3e7e 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Height System/Arrow_Above.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Height System/Arrow_Above.png.meta @@ -101,7 +101,7 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Height + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Height System/Arrow_Above.png - uploadId: 382610 + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Height System/Arrow_Below.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Height System/Arrow_Below.png.meta index c7e9de3d9..d19394baa 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Height System/Arrow_Below.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Height System/Arrow_Below.png.meta @@ -101,7 +101,7 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Height + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Height System/Arrow_Below.png - uploadId: 382610 + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Arrow.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Arrow.png.meta index a72201202..fab50a09a 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Arrow.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Arrow.png.meta @@ -112,6 +112,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Arrow.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Arrow.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Circle.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Circle.png.meta index fc9bdfda9..d27eeeb7d 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Circle.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Circle.png.meta @@ -119,6 +119,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Circle.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Circle.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Dot.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Dot.png.meta index b15b2c783..432075053 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Dot.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Dot.png.meta @@ -112,6 +112,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Dot.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Dot.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Enemy.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Enemy.png.meta index c0948bf59..e061848ec 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Enemy.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Enemy.png.meta @@ -119,6 +119,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Enemy.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Enemy.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Home.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Home.png.meta index 9a8ded8d0..b5bf4d289 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Home.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Home.png.meta @@ -112,6 +112,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Home.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Home.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Info.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Info.png.meta index 2cd04029f..dfc94d7e8 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Info.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Info.png.meta @@ -119,6 +119,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Info.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Info.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_OpenDoor.png b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_OpenDoor.png new file mode 100644 index 000000000..3bc990bc7 --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_OpenDoor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68df3afbc42cb6622f0a609e786a302f00c257c97410f1e2a480363d03821c64 +size 798 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_OpenDoor.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_OpenDoor.png.meta new file mode 100644 index 000000000..2f98400de --- /dev/null +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_OpenDoor.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 68437206ae9c84667ae69d6767111b1f +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + 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 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + 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: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 64 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 64 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 64 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 80dd33dbae14148578ae81c2095622ed + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 103056 + packageName: HUD Navigation System + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_OpenDoor.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Pin.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Pin.png.meta index c198608ac..29002aab7 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Pin.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Pin.png.meta @@ -123,6 +123,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Pin.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Pin.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Pin_2.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Pin_2.png.meta index 6a76c443c..d8dc2343c 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Pin_2.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Pin_2.png.meta @@ -112,6 +112,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Pin_2.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Pin_2.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Player.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Player.png.meta index 92d8e8fc0..fd6a654c2 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Player.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Player.png.meta @@ -119,6 +119,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Player.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Player.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism.png.meta index 17c9bfa5c..944202daa 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism.png.meta @@ -123,6 +123,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism_Checked.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism_Checked.png.meta index a0c97c9ed..68574c78f 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism_Checked.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism_Checked.png.meta @@ -123,6 +123,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism_Checked.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism_Checked.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism_Filled.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism_Filled.png.meta index f00727e72..20c386634 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism_Filled.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism_Filled.png.meta @@ -112,6 +112,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism_Filled.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Prism_Filled.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Question.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Question.png.meta index fb5bea626..c2b2db153 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Question.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Question.png.meta @@ -123,6 +123,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Question.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Question.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Square.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Square.png.meta index 03d729290..4acfad57b 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Square.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Square.png.meta @@ -119,6 +119,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Square.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Square.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Star.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Star.png.meta index a07826f46..b1ad4341f 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Star.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Star.png.meta @@ -119,6 +119,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Star.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Star.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Triangle.png.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Triangle.png.meta index c032ff30f..0f17db873 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Triangle.png.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Triangle.png.meta @@ -119,6 +119,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Triangle.png - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Icons/Icon_Triangle.png + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Minimap/MinimapBorder.psd.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Minimap/MinimapBorder.psd.meta index f36aeb6b9..375c71c1d 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Minimap/MinimapBorder.psd.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Minimap/MinimapBorder.psd.meta @@ -112,6 +112,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Minimap/MinimapBorder.psd - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Minimap/MinimapBorder.psd + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Minimap/MinimapBorder_Clean.psd.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Minimap/MinimapBorder_Clean.psd.meta index eaf234bf2..9f7dc9823 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Minimap/MinimapBorder_Clean.psd.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Minimap/MinimapBorder_Clean.psd.meta @@ -112,6 +112,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Minimap/MinimapBorder_Clean.psd - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Minimap/MinimapBorder_Clean.psd + uploadId: 884440 diff --git a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Radar/Radar_BG.psd.meta b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Radar/Radar_BG.psd.meta index 74a3eace9..b86cf731d 100644 --- a/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Radar/Radar_BG.psd.meta +++ b/Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Radar/Radar_BG.psd.meta @@ -119,6 +119,6 @@ AssetOrigin: serializedVersion: 1 productId: 103056 packageName: HUD Navigation System - packageVersion: 2.2.0 - assetPath: Assets/Sickscore Games/HUD-Navigation-System/_Examples/Textures/Radar/Radar_BG.psd - uploadId: 382610 + packageVersion: 3.0.0 + assetPath: Assets/OtherPlugins/HUD-Navigation-System/_Examples/Textures/Radar/Radar_BG.psd + uploadId: 884440 diff --git a/Assets/Prefabs/MainGame/Characters/AttributeCollection.asset b/Assets/Prefabs/MainGame/Characters/AttributeCollection.asset index 8a624d2eb..a37fc6e3f 100644 --- a/Assets/Prefabs/MainGame/Characters/AttributeCollection.asset +++ b/Assets/Prefabs/MainGame/Characters/AttributeCollection.asset @@ -24,18 +24,12 @@ MonoBehaviour: originalAttributes: _duplicateStrategy: 0 _entries: - - attributeKey: Health - useManualInput: 0 - attributeValue: 0 - attributeKey: MaximumHealth useManualInput: 0 attributeValue: 1000 - attributeKey: HealthRegeneration useManualInput: 0 attributeValue: 0 - - attributeKey: Energy - useManualInput: 0 - attributeValue: 0 - attributeKey: MaximumEnergy useManualInput: 0 attributeValue: 100 @@ -105,6 +99,9 @@ MonoBehaviour: - attributeKey: ImpactResistance useManualInput: 0 attributeValue: 25 + - attributeKey: OverloadConversionRate + useManualInput: 0 + attributeValue: 1 keyColumnWidth: 0.5 runtimeAttributes: _duplicateStrategy: 0 diff --git a/Assets/Prefabs/MainGame/Characters/Automata/HumanoidAndroid/HumanoidAndroid.prefab b/Assets/Prefabs/MainGame/Characters/Automata/HumanoidAndroid/HumanoidAndroid.prefab index b643de24d..ccc88f788 100644 --- a/Assets/Prefabs/MainGame/Characters/Automata/HumanoidAndroid/HumanoidAndroid.prefab +++ b/Assets/Prefabs/MainGame/Characters/Automata/HumanoidAndroid/HumanoidAndroid.prefab @@ -1530,9 +1530,9 @@ CapsuleCollider: m_Enabled: 1 serializedVersion: 2 m_Radius: 0.3 - m_Height: 1.5 + m_Height: 1 m_Direction: 1 - m_Center: {x: 0, y: -0.3, z: 0} + m_Center: {x: 0, y: -0.5, z: 0} --- !u!1 &4431739880197210809 GameObject: m_ObjectHideFlags: 0 @@ -2464,7 +2464,6 @@ GameObject: m_Component: - component: {fileID: 2133564591478665939} - component: {fileID: 7120046827350613489} - - component: {fileID: 7653066252682766794} - component: {fileID: 1161653511116774545} - component: {fileID: 8177632493477416817} - component: {fileID: 7904741896890373676} @@ -2531,29 +2530,6 @@ Rigidbody: m_Interpolate: 0 m_Constraints: 0 m_CollisionDetection: 0 ---- !u!136 &7653066252682766794 -CapsuleCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6684559350107322796} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 0 - serializedVersion: 2 - m_Radius: 0.4 - m_Height: 2.8 - m_Direction: 1 - m_Center: {x: 0, y: 1.4, z: 0} --- !u!95 &1161653511116774545 Animator: serializedVersion: 7 @@ -2911,7 +2887,7 @@ MonoBehaviour: - {fileID: 5066799578847119392} characterController: {fileID: 0} mainRigidbody: {fileID: 7120046827350613489} - mainCollider: {fileID: 7653066252682766794} + mainCollider: {fileID: 0} mainColliderRadius: 0.4 otherColliders: [] --- !u!114 &9076759118203499736 @@ -3129,6 +3105,7 @@ MonoBehaviour: Entry: 6 Data: owner: {fileID: 8177632493477416817} + feedbackDataCollection: {fileID: 0} --- !u!114 &5800076552395684805 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/Prefabs/MainGame/Characters/Automata/LegionCenturion/LegionCenturion.prefab b/Assets/Prefabs/MainGame/Characters/Automata/LegionCenturion/LegionCenturion.prefab index 6a06cd707..153c1922d 100644 --- a/Assets/Prefabs/MainGame/Characters/Automata/LegionCenturion/LegionCenturion.prefab +++ b/Assets/Prefabs/MainGame/Characters/Automata/LegionCenturion/LegionCenturion.prefab @@ -1657,6 +1657,7 @@ MonoBehaviour: Entry: 6 Data: owner: {fileID: 7539845505866570745} + feedbackDataCollection: {fileID: 0} --- !u!114 &66060952324346307 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1740,7 +1741,7 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1029317468181609691} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 0cdaa3305fa954c45a80c9662aa6f425, type: 3} m_Name: diff --git a/Assets/Prefabs/MainGame/Characters/DefaultAttributesData.asset b/Assets/Prefabs/MainGame/Characters/DefaultAttributesData.asset index e3ae86252..9634e540b 100644 --- a/Assets/Prefabs/MainGame/Characters/DefaultAttributesData.asset +++ b/Assets/Prefabs/MainGame/Characters/DefaultAttributesData.asset @@ -34,7 +34,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 25 + Data: 32 - Name: Entry: 7 Data: @@ -271,7 +271,7 @@ MonoBehaviour: Data: CriticalAttackDamageAmplifier - Name: $v Entry: 4 - Data: 0 + Data: 0.5 - Name: Entry: 8 Data: @@ -335,6 +335,90 @@ MonoBehaviour: - Name: Entry: 8 Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 1 + Data: KineticsDamageDealtMultiplier + - Name: $v + Entry: 4 + Data: 1 + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 1 + Data: KineticsDamageReceivedMultiplier + - Name: $v + Entry: 4 + Data: 1 + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 1 + Data: OverloadConversionRate + - Name: $v + Entry: 4 + Data: 1 + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 1 + Data: BlankDamageDealtMultiplier + - Name: $v + Entry: 4 + Data: 1 + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 1 + Data: BlankDamageReceivedMultiplier + - Name: $v + Entry: 4 + Data: 1 + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 1 + Data: PureDamageReceivedMultiplier + - Name: $v + Entry: 4 + Data: 1 + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 1 + Data: PureDamageDealtMultiplier + - Name: $v + Entry: 4 + Data: 1 + - Name: + Entry: 8 + Data: - Name: Entry: 13 Data: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Camera.meta b/Assets/Prefabs/MainGame/Characters/Player/Camera.meta new file mode 100644 index 000000000..9afa62d96 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Camera.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3c38561a096757e4a962439979b6df29 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Camera/Breath.asset b/Assets/Prefabs/MainGame/Characters/Player/Camera/Breath.asset new file mode 100644 index 000000000..371d12273 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Camera/Breath.asset @@ -0,0 +1,28 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: b7f59e54f2bfd184b9dd451a678d089b, type: 3} + m_Name: Breath + m_EditorClassIdentifier: Unity.Cinemachine::Unity.Cinemachine.NoiseSettings + PositionNoise: + - X: + Frequency: 0 + Amplitude: 0 + Constant: 0 + Y: + Frequency: 0.2 + Amplitude: 0.1 + Constant: 0 + Z: + Frequency: 0 + Amplitude: 0 + Constant: 0 + OrientationNoise: [] diff --git a/Assets/Prefabs/MainGame/Characters/Player/Camera/Breath.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Camera/Breath.asset.meta new file mode 100644 index 000000000..3efe4d9a7 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Camera/Breath.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1b4791529215e1b41a924b500cf4cc86 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/CameraSwitch.controller b/Assets/Prefabs/MainGame/Characters/Player/Camera/CameraSwitch.controller similarity index 100% rename from Assets/Prefabs/MainGame/Characters/Player/CameraSwitch.controller rename to Assets/Prefabs/MainGame/Characters/Player/Camera/CameraSwitch.controller diff --git a/Assets/Prefabs/MainGame/Characters/Player/CameraSwitch.controller.meta b/Assets/Prefabs/MainGame/Characters/Player/Camera/CameraSwitch.controller.meta similarity index 100% rename from Assets/Prefabs/MainGame/Characters/Player/CameraSwitch.controller.meta rename to Assets/Prefabs/MainGame/Characters/Player/Camera/CameraSwitch.controller.meta diff --git a/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks.meta b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks.meta new file mode 100644 index 000000000..890d0a72b --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f1f435e32c80b6c499f04cd2b1ad4e99 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_Dash.asset b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_Dash.asset new file mode 100644 index 000000000..f8db77feb --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_Dash.asset @@ -0,0 +1,324 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 87e69f21423d3c746ae55ea47c545ba6, type: 3} + m_Name: Player_Feedback_Dash + m_EditorClassIdentifier: SLSUtilities::SLSUtilities.Feedback.FeedbackData + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + parentCollection: {fileID: 11400000, guid: 97907d6e971a2dd41b795615cb499f34, type: 2} + feedbackName: Dash + defaultTimeSettings: + timeScaleType: 1 + applyDynamicTimeScale: 1 + tracks: + - trackName: Camera + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.8 + overrideTimeSettings: 0 + timeSettings: + timeScaleType: 1 + applyDynamicTimeScale: 1 + action: + rid: 1359146319654682975 + - clipName: + startTime: 0 + duration: 0.8 + overrideTimeSettings: 0 + timeSettings: + timeScaleType: 1 + applyDynamicTimeScale: 1 + action: + rid: 1359146319654682976 + - clipName: + startTime: 0 + duration: 0.8 + overrideTimeSettings: 0 + timeSettings: + timeScaleType: 1 + applyDynamicTimeScale: 1 + action: + rid: 1359146319654683306 + - trackName: Postprocessing + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.8 + overrideTimeSettings: 0 + timeSettings: + timeScaleType: 1 + applyDynamicTimeScale: 1 + action: + rid: 1359146319654683401 + references: + version: 2 + RefIds: + - rid: 1359146319654682975 + type: {class: CameraFieldOfViewAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 8 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.12 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 0.12 + inSlope: -0.6 + outSlope: -0.3 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: -0.1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapMin: 0 + remapMax: 1 + relativeToInitial: 1 + - rid: 1359146319654682976 + type: {class: CameraRotationShakeAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 10 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.32 + value: -0.3 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.52 + value: 0.12 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.72 + value: -0.04 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rotationAmplitude: {x: 1.5, y: 0, z: 0} + directionSettings: + affectedByCameraDirection: 0 + affectedByCharacterDirection: 1 + useAttenuation: 0 + attenuationRange: 50 + attenuationCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - rid: 1359146319654683306 + type: {class: CameraPositionShakeAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.2 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + positionAmplitude: {x: 0, y: -0.6, z: 0} + directionSettings: + affectedByCameraDirection: 0 + affectedByCharacterDirection: 0 + useAttenuation: 0 + attenuationRange: 50 + attenuationCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - rid: 1359146319654683401 + type: {class: RadialBlurAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 10 + outSlope: 10 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: -1.1111112 + outSlope: -1.1111112 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapMin: 0 + remapMax: 0.25 + relativeToInitial: 0 + modifyCenter: 0 + center: {x: 0.5, y: 0.5} diff --git a/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_Dash.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_Dash.asset.meta new file mode 100644 index 000000000..bfa86c8ed --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_Dash.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 48bf6434cb0be114895ad9c0c926a802 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_DisruptionStartup.asset b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_DisruptionStartup.asset new file mode 100644 index 000000000..3d62a8804 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_DisruptionStartup.asset @@ -0,0 +1,452 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 87e69f21423d3c746ae55ea47c545ba6, type: 3} + m_Name: Player_Feedback_DisruptionStartup + m_EditorClassIdentifier: SLSUtilities::SLSUtilities.Feedback.FeedbackData + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + parentCollection: {fileID: 11400000, guid: 97907d6e971a2dd41b795615cb499f34, type: 2} + feedbackName: DisruptionStartup + defaultTimeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + tracks: + - trackName: Time + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.53333336 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146284165628324 + - trackName: Postprocessing + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.5 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146297969082861 + references: + version: 2 + RefIds: + - rid: 1359146284165628324 + type: {class: TimeScaleModifierAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + globalChannel: + active: 0 + mode: 0 + fixedValue: 0.1 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + advancedSettings: 1 + playerChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + enemyChannel: + active: 1 + mode: 0 + fixedValue: 0.1 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + alliedChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + nonPlayerChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + - rid: 1359146297969082861 + type: {class: AnimeACESAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + relativeToInitial: 1 + modifyExposure: 0 + exposureCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.2 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + exposureRemapMin: 0 + exposureRemapMax: 20 + modifyContrast: 0 + contrastCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.2 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + contrastRemapMin: 0 + contrastRemapMax: 0.3 + modifySaturation: 1 + saturationCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 10 + outSlope: 10 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: -0 + outSlope: -1.4764988 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + saturationRemapMin: 0 + saturationRemapMax: -1.2 + enableAdvancedSettings: 0 + modifyHue: 0 + hueCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + hueRemapMin: 0 + hueRemapMax: 0.5 + modifyColorFilter: 0 + colorFilterGradient: + 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_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 diff --git a/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_DisruptionStartup.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_DisruptionStartup.asset.meta new file mode 100644 index 000000000..e8cd0d2a8 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_DisruptionStartup.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d4375962e599dde4ba9263f2c62a8d93 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_Dodge.asset b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_Dodge.asset new file mode 100644 index 000000000..dfb47bb5c --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_Dodge.asset @@ -0,0 +1,230 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 87e69f21423d3c746ae55ea47c545ba6, type: 3} + m_Name: Player_Feedback_Dodge + m_EditorClassIdentifier: SLSUtilities::SLSUtilities.Feedback.FeedbackData + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + parentCollection: {fileID: 11400000, guid: 97907d6e971a2dd41b795615cb499f34, type: 2} + feedbackName: Dodge + defaultTimeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + tracks: + - trackName: Camera + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.8 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146321109320280 + - clipName: + startTime: 0 + duration: 0.8 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146321109320282 + - trackName: Postprocessing + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.8 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146321109320283 + references: + version: 2 + RefIds: + - rid: 1359146321109320280 + type: {class: CameraFieldOfViewAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 8 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.12 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 0.12 + inSlope: -0.6 + outSlope: -0.3 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: -0.1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapMin: 0 + remapMax: -2 + relativeToInitial: 1 + - rid: 1359146321109320282 + type: {class: CameraPositionShakeAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.2 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + positionAmplitude: {x: 0, y: -0.5, z: 0} + directionSettings: + affectedByCameraDirection: 0 + affectedByCharacterDirection: 0 + useAttenuation: 0 + attenuationRange: 50 + attenuationCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - rid: 1359146321109320283 + type: {class: RadialBlurAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 10 + outSlope: 10 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: -1.1111112 + outSlope: -1.1111112 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapMin: 0 + remapMax: 0.125 + relativeToInitial: 0 + modifyCenter: 0 + center: {x: 0.5, y: 0.5} diff --git a/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_Dodge.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_Dodge.asset.meta new file mode 100644 index 000000000..2d2846a66 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_Dodge.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 53d16894bc1b70a478d8c4adb2884ab1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_NormalDodge.asset b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_NormalDodge.asset new file mode 100644 index 000000000..b0c772d82 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_NormalDodge.asset @@ -0,0 +1,34 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 87e69f21423d3c746ae55ea47c545ba6, type: 3} + m_Name: Player_Feedback_NormalDodge + m_EditorClassIdentifier: SLSUtilities::SLSUtilities.Feedback.FeedbackData + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + parentCollection: {fileID: 11400000, guid: 97907d6e971a2dd41b795615cb499f34, type: 2} + feedbackName: NormalDodge + defaultTimeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + tracks: [] + references: + version: 2 + RefIds: [] diff --git a/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_NormalDodge.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_NormalDodge.asset.meta new file mode 100644 index 000000000..bbc6940ba --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_NormalDodge.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8e5f98cbcfebbe94ab42a318488f19c9 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_PerfectDodge.asset b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_PerfectDodge.asset new file mode 100644 index 000000000..a959afe72 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_PerfectDodge.asset @@ -0,0 +1,514 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 87e69f21423d3c746ae55ea47c545ba6, type: 3} + m_Name: Player_Feedback_PerfectDodge + m_EditorClassIdentifier: SLSUtilities::SLSUtilities.Feedback.FeedbackData + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + parentCollection: {fileID: 11400000, guid: 97907d6e971a2dd41b795615cb499f34, type: 2} + feedbackName: PerfectDodge + defaultTimeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + useDynamicTimeScale: 1 + tracks: + - trackName: Time + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.4 + overrideTimeSettings: 1 + timeSettings: + useTimeScale: 0 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + useDynamicTimeScale: 0 + action: + rid: 1359146321375395937 + - trackName: Postprocessing + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.6 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 0 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + useDynamicTimeScale: 0 + action: + rid: 1359146321375395938 + - clipName: + startTime: 0 + duration: 0.6 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 0 + affectedByGlobalTimeScale: 0 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + useDynamicTimeScale: 0 + action: + rid: 1359146321375395939 + references: + version: 2 + RefIds: + - rid: 1359146321375395937 + type: {class: TimeScaleModifierAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + globalChannel: + active: 1 + mode: 1 + fixedValue: 0.2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 2 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + advancedSettings: 0 + playerChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + enemyChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + alliedChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + nonPlayerChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + - rid: 1359146321375395938 + type: {class: VignetteAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 10 + outSlope: 10 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: -1.1111112 + outSlope: -1.1111112 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapMin: 0 + remapMax: 0.35 + relativeToInitial: 1 + modifyCenter: 0 + center: {x: 0.5, y: 0.5} + modifyColors: 1 + colorOuter: {r: 0, g: 0, b: 0, a: 1} + colorInner: {r: 0, g: 0, b: 0.05, a: 1} + modifyShape: 1 + smoothness: 0.75 + roundness: 1 + - rid: 1359146321375395939 + type: {class: AnimeACESAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + relativeToInitial: 1 + modifyExposure: 1 + exposureCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.3 + value: 1 + inSlope: 0 + outSlope: -3.5615866 + tangentMode: 1 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.02679991 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + exposureRemapMin: 0 + exposureRemapMax: 0.6 + modifyContrast: 0 + contrastCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.2 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + contrastRemapMin: 0 + contrastRemapMax: -0.1 + modifySaturation: 1 + saturationCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.3 + value: 1 + inSlope: 0 + outSlope: -3.5615866 + tangentMode: 1 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.02679991 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + saturationRemapMin: 0 + saturationRemapMax: 0.3 + enableAdvancedSettings: 0 + modifyHue: 0 + hueCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + hueRemapMin: 0 + hueRemapMax: 0.5 + modifyColorFilter: 0 + colorFilterGradient: + serializedVersion: 2 + key0: {r: 1, g: 0, b: 0, a: 1} + key1: {r: 1, g: 1, b: 0, a: 1} + key2: {r: 0, g: 1, b: 0, a: 0} + key3: {r: 0, g: 1, b: 1, a: 0} + key4: {r: 0, g: 0, b: 1, a: 0} + key5: {r: 1, g: 0, b: 1, a: 0} + key6: {r: 1, g: 1, b: 1, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 6554 + ctime2: 13107 + ctime3: 19661 + ctime4: 26214 + ctime5: 32768 + ctime6: 39321 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 7 + m_NumAlphaKeys: 2 diff --git a/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_PerfectDodge.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_PerfectDodge.asset.meta new file mode 100644 index 000000000..9839aee91 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/Player_Feedback_PerfectDodge.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ed0fa067d61c36c46b4daf3e726ff241 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Data/Player_FeedbackDataCollection.asset b/Assets/Prefabs/MainGame/Characters/Player/Data/Player_FeedbackDataCollection.asset new file mode 100644 index 000000000..c69bc1857 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Data/Player_FeedbackDataCollection.asset @@ -0,0 +1,29 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 693e7631325261949bb90a5df6789240, type: 3} + m_Name: Player_FeedbackDataCollection + m_EditorClassIdentifier: SLSUtilities::SLSUtilities.Feedback.FeedbackDataCollection + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + feedbackDataList: + - {fileID: 11400000, guid: d4375962e599dde4ba9263f2c62a8d93, type: 2} + - {fileID: 11400000, guid: 48bf6434cb0be114895ad9c0c926a802, type: 2} + - {fileID: 11400000, guid: 53d16894bc1b70a478d8c4adb2884ab1, type: 2} + - {fileID: 11400000, guid: 8e5f98cbcfebbe94ab42a318488f19c9, type: 2} + - {fileID: 11400000, guid: ed0fa067d61c36c46b4daf3e726ff241, type: 2} diff --git a/Assets/Prefabs/MainGame/Characters/Player/Data/Player_FeedbackDataCollection.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Data/Player_FeedbackDataCollection.asset.meta new file mode 100644 index 000000000..0f44d4575 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Data/Player_FeedbackDataCollection.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 97907d6e971a2dd41b795615cb499f34 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/BaseAnimations/Katana1/Katana1_Dash.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/BaseAnimations/Katana1/Katana1_Dash.asset index 08514255d..9cd5a1636 100644 --- a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/BaseAnimations/Katana1/Katana1_Dash.asset +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/BaseAnimations/Katana1/Katana1_Dash.asset @@ -160,26 +160,31 @@ MonoBehaviour: type: {class: SpawnVFX, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp} data: eventName: AnimSpawnVFX0 + mute: 1 vfxKey: DashLines - rid: 563130657284030584 type: {class: SpawnVFX, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp} data: eventName: AnimSpawnVFX1 + mute: 1 vfxKey: DashSmoke - rid: 5266334297665568906 type: {class: InvokeAnimScFunction, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp} data: eventName: AnimInvokeAnimScFunction0 + mute: 0 functionKey: DashStart - rid: 5266334297665568907 type: {class: InvokeAnimScFunction, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp} data: eventName: AnimInvokeAnimScFunction1 + mute: 0 functionKey: DashEnd - rid: 5266334685925474432 type: {class: ChangeCollisionLayers, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp} data: eventName: AnimChangeCollisionLayers0 + mute: 0 excludeSwitch: 1 layerMask: serializedVersion: 2 @@ -188,6 +193,7 @@ MonoBehaviour: type: {class: ChangeCollisionLayers, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp} data: eventName: AnimChangeCollisionLayers1 + mute: 0 excludeSwitch: 0 layerMask: serializedVersion: 2 @@ -99490,7 +99496,1213 @@ AnimationClip: m_Center: {x: 0, y: 0, z: 0} m_Extent: {x: 0, y: 0, z: 0} m_ClipBindingConstant: - genericBindings: [] + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 7 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 8 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 9 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 10 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 11 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 12 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 13 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 14 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 15 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 16 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 17 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 18 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 19 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 20 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 21 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 22 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 23 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 24 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 25 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 26 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 27 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 28 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 29 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 30 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 31 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 32 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 33 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 34 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 35 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 36 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 37 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 38 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 39 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 40 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 41 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 42 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 43 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 44 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 45 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 46 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 47 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 48 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 49 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 50 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 51 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 52 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 53 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 54 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 55 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 56 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 63 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 64 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 65 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 66 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 67 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 68 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 69 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 70 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 71 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 72 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 73 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 74 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 75 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 76 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 77 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 78 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 79 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 80 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 81 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 82 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 83 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 84 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 85 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 86 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 87 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 88 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 89 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 90 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 91 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 92 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 93 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 94 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 95 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 96 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 97 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 98 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 100 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 101 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 102 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 103 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 104 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 105 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 106 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 107 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 108 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 109 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 111 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 112 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 113 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 114 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 116 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 117 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 118 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 119 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 120 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 121 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 122 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 123 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 124 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 125 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 126 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 127 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 128 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 129 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 130 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 131 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 132 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 133 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 134 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 135 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 136 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 2194463189 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 1253826730 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 2194463189 + attribute: 2 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 1253826730 + attribute: 2 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 57 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 58 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 59 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 60 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 61 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 62 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 99 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 110 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 115 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 pptrCurveMapping: [] m_AnimationClipSettings: serializedVersion: 2 diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_Breakthrough.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_Breakthrough.asset new file mode 100644 index 000000000..555d26c1d --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_Breakthrough.asset @@ -0,0 +1,585 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 87e69f21423d3c746ae55ea47c545ba6, type: 3} + m_Name: Polychrome_Feedback_Breakthrough + m_EditorClassIdentifier: SLSUtilities::SLSUtilities.Feedback.FeedbackData + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + parentCollection: {fileID: 11400000, guid: ff9f9e981b108894dbbd1aa6eb9bd12b, type: 2} + feedbackName: Breakthrough + defaultTimeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + tracks: + - trackName: Time + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.4 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146299250704421 + - trackName: Postprocessing + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.4 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146299250704422 + - clipName: + startTime: 0 + duration: 0.4 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146299250704423 + - trackName: Camera + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.4 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146299250704424 + references: + version: 2 + RefIds: + - rid: 1359146299250704421 + type: {class: TimeScaleModifierAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + globalChannel: + active: 1 + mode: 0 + fixedValue: 0.1 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + advancedSettings: 0 + playerChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + enemyChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + alliedChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + nonPlayerChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + - rid: 1359146299250704422 + type: {class: AnimeACESAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + relativeToInitial: 1 + modifyExposure: 0 + exposureCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.2 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + exposureRemapMin: 0 + exposureRemapMax: 0.5 + modifyContrast: 0 + contrastCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.2 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + contrastRemapMin: 0 + contrastRemapMax: 0.3 + modifySaturation: 1 + saturationCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 10 + outSlope: 10 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: -1.1111112 + outSlope: -1.1111112 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + saturationRemapMin: 0 + saturationRemapMax: 0.2 + enableAdvancedSettings: 0 + modifyHue: 0 + hueCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + hueRemapMin: 0 + hueRemapMax: 0.5 + modifyColorFilter: 0 + colorFilterGradient: + 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_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + - rid: 1359146299250704423 + type: {class: ChromaticAberrationAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 10 + outSlope: 10 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: -1.1111112 + outSlope: -1.1111112 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapMin: 0 + remapMax: 0.1 + relativeToInitial: 0 + modifyCenter: 0 + center: {x: 0.5, y: 0.5} + modifyJitter: 0 + jitterCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + jitterRemapMin: 0 + jitterRemapMax: 0.5 + - rid: 1359146299250704424 + type: {class: CameraFieldOfViewAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 10 + outSlope: 10 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: -1.1111112 + outSlope: -1.1111112 + tangentMode: 34 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapMin: 0 + remapMax: 5 + relativeToInitial: 1 diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_Breakthrough.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_Breakthrough.asset.meta new file mode 100644 index 000000000..a7f84bb43 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_Breakthrough.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 81598d8dcaf179149958857015fe3ede +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_HeavyHit.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_HeavyHit.asset new file mode 100644 index 000000000..c97f5bc2f --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_HeavyHit.asset @@ -0,0 +1,488 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 87e69f21423d3c746ae55ea47c545ba6, type: 3} + m_Name: Polychrome_Feedback_HeavyHit + m_EditorClassIdentifier: SLSUtilities::SLSUtilities.Feedback.FeedbackData + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + parentCollection: {fileID: 11400000, guid: ff9f9e981b108894dbbd1aa6eb9bd12b, type: 2} + feedbackName: HeavyHit + defaultTimeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + useDynamicTimeScale: 1 + tracks: + - trackName: Time + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.1 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + useDynamicTimeScale: 1 + action: + rid: 1359146284165628324 + - trackName: Camera + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.33 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + useDynamicTimeScale: 1 + action: + rid: 1359146284165628323 + - trackName: Postprocessing + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.2 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + useDynamicTimeScale: 1 + action: + rid: 1359146284165628795 + references: + version: 2 + RefIds: + - rid: 1359146284165628323 + type: {class: CameraPositionShakeAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 12 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.08 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.24 + value: -0.55 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.42 + value: 0.3 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.62 + value: -0.12 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + positionAmplitude: {x: 0.18, y: 0, z: 0} + directionSettings: + affectedByCameraDirection: 0 + affectedByCharacterDirection: 0 + useAttenuation: 1 + attenuationRange: 50 + attenuationCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - rid: 1359146284165628324 + type: {class: TimeScaleModifierAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + globalChannel: + active: 1 + mode: 0 + fixedValue: 0.1 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 20 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.05 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.13 + value: -0.72 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.21 + value: 0.52 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.29 + value: -0.36 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.38 + value: 0.24 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.48 + value: -0.15 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.6 + value: 0.08 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.75 + value: -0.03 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + advancedSettings: 0 + playerChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + enemyChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + alliedChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + nonPlayerChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + - rid: 1359146284165628795 + type: {class: RadialBlurAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 8 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.12 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 0.12 + inSlope: -0.6 + outSlope: -0.3 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: -0.1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapMin: 0 + remapMax: 0.5 + relativeToInitial: 1 + modifyCenter: 0 + center: {x: 0.5, y: 0.5} diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_HeavyHit.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_HeavyHit.asset.meta new file mode 100644 index 000000000..4690ecfaa --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_HeavyHit.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 369f9f7b3dfab0a4bb30313058cae4c6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_HeavySwing.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_HeavySwing.asset new file mode 100644 index 000000000..07495961f --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_HeavySwing.asset @@ -0,0 +1,226 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 87e69f21423d3c746ae55ea47c545ba6, type: 3} + m_Name: Polychrome_Feedback_HeavySwing + m_EditorClassIdentifier: SLSUtilities::SLSUtilities.Feedback.FeedbackData + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + parentCollection: {fileID: 11400000, guid: ff9f9e981b108894dbbd1aa6eb9bd12b, type: 2} + feedbackName: HeavySwing + defaultTimeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + tracks: + - trackName: Camera + mute: 0 + solo: 0 + clips: + - startTime: 0 + duration: 0.6 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 0 + affectedByGlobalTimeScale: 0 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146170251739534 + - startTime: -0 + duration: 0.6 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 0 + affectedByGlobalTimeScale: 0 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146183674298531 + references: + version: 2 + RefIds: + - rid: 1359146170251739534 + type: {class: CameraPositionShakeAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 10 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.32 + value: -0.3 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.52 + value: 0.12 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.72 + value: -0.04 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + positionAmplitude: {x: 0, y: 0, z: 0} + directionSettings: + affectedByCameraDirection: 1 + affectedByCharacterDirection: 1 + useAttenuation: 1 + attenuationRange: 50 + attenuationCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - rid: 1359146183674298531 + type: {class: CameraRotationShakeAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 8 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.12 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 0.12 + inSlope: -0.6 + outSlope: -0.3 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: -0.1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rotationAmplitude: {x: -0.7, y: 2.5, z: 0} + directionSettings: + affectedByCameraDirection: 1 + affectedByCharacterDirection: 1 + useAttenuation: 1 + attenuationRange: 50 + attenuationCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_HeavySwing.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_HeavySwing.asset.meta new file mode 100644 index 000000000..791bf1522 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_HeavySwing.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ebe61c912cb12144bb2a97c455e384d5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/TestFeedback.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_MultiNormalHit.asset similarity index 81% rename from Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/TestFeedback.asset rename to Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_MultiNormalHit.asset index 36a4f110c..9b7d9bb8d 100644 --- a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/TestFeedback.asset +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_MultiNormalHit.asset @@ -10,7 +10,7 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 87e69f21423d3c746ae55ea47c545ba6, type: 3} - m_Name: TestFeedback + m_Name: Polychrome_Feedback_MultiNormalHit m_EditorClassIdentifier: SLSUtilities::SLSUtilities.Feedback.FeedbackData serializationData: SerializedFormat: 2 @@ -22,100 +22,50 @@ MonoBehaviour: PrefabModifications: [] SerializationNodes: [] parentCollection: {fileID: 11400000, guid: ff9f9e981b108894dbbd1aa6eb9bd12b, type: 2} - feedbackName: TestFeedBack + feedbackName: MultiNormalHit defaultTimeSettings: useTimeScale: 1 - affectedByGlobalTimeScale: 0 + affectedByGlobalTimeScale: 1 affectedByGroupTimeScale: 0 affectedByLocalTimeScale: 0 + useDynamicTimeScale: 1 tracks: - - trackName: RadialBlur + - trackName: Camera mute: 0 solo: 0 clips: - - startTime: 0 - duration: 1 + - clipName: + startTime: 0 + duration: 0.1 overrideTimeSettings: 0 timeSettings: - useTimeScale: 0 - affectedByGlobalTimeScale: 0 + useTimeScale: 1 + affectedByGlobalTimeScale: 1 affectedByGroupTimeScale: 0 affectedByLocalTimeScale: 0 + useDynamicTimeScale: 1 action: - rid: 1359146167594385853 - - trackName: CameraPosition + rid: 1359146284165628323 + - trackName: Time mute: 0 solo: 0 clips: - - startTime: 0 - duration: 1 + - clipName: + startTime: 0 + duration: 0.02 overrideTimeSettings: 0 timeSettings: - useTimeScale: 0 - affectedByGlobalTimeScale: 0 + useTimeScale: 1 + affectedByGlobalTimeScale: 1 affectedByGroupTimeScale: 0 affectedByLocalTimeScale: 0 + useDynamicTimeScale: 1 action: - rid: 1359146170251739534 - - trackName: TimeScale - mute: 0 - solo: 1 - clips: - - startTime: 0 - duration: 10 - overrideTimeSettings: 0 - timeSettings: - useTimeScale: 0 - affectedByGlobalTimeScale: 0 - affectedByGroupTimeScale: 0 - affectedByLocalTimeScale: 0 - action: - rid: 1359146170251739771 + rid: 1359146284165628324 references: version: 2 RefIds: - - rid: 1359146167594385853 - type: {class: RadialBlurAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} - data: - shakeCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.5 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapMin: 0 - remapMax: 1 - relativeToInitial: 0 - modifyCenter: 1 - center: {x: 0.5, y: 0.5} - - rid: 1359146170251739534 + - rid: 1359146284165628323 type: {class: CameraPositionShakeAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} data: shakeCurve: @@ -125,13 +75,13 @@ MonoBehaviour: time: 0 value: 0 inSlope: 0 - outSlope: 0 + outSlope: 8 tangentMode: 0 weightedMode: 0 inWeight: 0 outWeight: 0 - serializedVersion: 3 - time: 0.2 + time: 0.12 value: 1 inSlope: 0 outSlope: 0 @@ -139,10 +89,19 @@ MonoBehaviour: weightedMode: 0 inWeight: 0 outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 0.12 + inSlope: -0.6 + outSlope: -0.3 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 - serializedVersion: 3 time: 1 value: 0 - inSlope: 0 + inSlope: -0.1 outSlope: 0 tangentMode: 0 weightedMode: 0 @@ -151,7 +110,7 @@ MonoBehaviour: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 - positionAmplitude: {x: 0, y: 2, z: 0} + positionAmplitude: {x: -0.058582496, y: -0.012964979, z: 0} directionSettings: affectedByCameraDirection: 0 affectedByCharacterDirection: 0 @@ -181,13 +140,13 @@ MonoBehaviour: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 - - rid: 1359146170251739771 + - rid: 1359146284165628324 type: {class: TimeScaleModifierAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} data: globalChannel: - active: 0 + active: 1 mode: 0 - fixedValue: 0 + fixedValue: 0.1 curve: serializedVersion: 2 m_Curve: @@ -223,6 +182,7 @@ MonoBehaviour: m_RotationOrder: 4 remapZero: 0 remapOne: 1 + advancedSettings: 0 playerChannel: active: 0 mode: 0 @@ -263,7 +223,7 @@ MonoBehaviour: remapZero: 0 remapOne: 1 enemyChannel: - active: 1 + active: 0 mode: 0 fixedValue: 0 curve: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_MultiNormalHit.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_MultiNormalHit.asset.meta new file mode 100644 index 000000000..c9bf19ae4 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_MultiNormalHit.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1d6fa898cfac65140bafd199357ff814 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_NormalBlock.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_NormalBlock.asset new file mode 100644 index 000000000..b6508e094 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_NormalBlock.asset @@ -0,0 +1,210 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 87e69f21423d3c746ae55ea47c545ba6, type: 3} + m_Name: Polychrome_Feedback_NormalBlock + m_EditorClassIdentifier: SLSUtilities::SLSUtilities.Feedback.FeedbackData + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + parentCollection: {fileID: 11400000, guid: ff9f9e981b108894dbbd1aa6eb9bd12b, type: 2} + feedbackName: NormalBlock + defaultTimeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + tracks: + - trackName: Camera + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.2 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 0 + affectedByGlobalTimeScale: 0 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146170251739534 + - clipName: + startTime: 0 + duration: 0.4 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 0 + affectedByGlobalTimeScale: 0 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146183674298531 + references: + version: 2 + RefIds: + - rid: 1359146170251739534 + type: {class: CameraPositionShakeAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 12 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.08 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.24 + value: -0.55 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.42 + value: 0.3 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.62 + value: -0.12 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + positionAmplitude: {x: 0, y: 0.2, z: 0} + directionSettings: + affectedByCameraDirection: 1 + affectedByCharacterDirection: 1 + useAttenuation: 1 + attenuationRange: 50 + attenuationCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - rid: 1359146183674298531 + type: {class: CameraRotationShakeAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: -3.1114726 + outSlope: -3.1114726 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.0352 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rotationAmplitude: {x: 0, y: -2, z: 1} + directionSettings: + affectedByCameraDirection: 1 + affectedByCharacterDirection: 1 + useAttenuation: 1 + attenuationRange: 50 + attenuationCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_NormalBlock.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_NormalBlock.asset.meta new file mode 100644 index 000000000..32ada7171 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_NormalBlock.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 77f69fa5f6ce6224fa1eaf6d17126614 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_NormalSwing.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_NormalSwing.asset new file mode 100644 index 000000000..9b9af9eb6 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_NormalSwing.asset @@ -0,0 +1,219 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 87e69f21423d3c746ae55ea47c545ba6, type: 3} + m_Name: Polychrome_Feedback_NormalSwing + m_EditorClassIdentifier: SLSUtilities::SLSUtilities.Feedback.FeedbackData + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + parentCollection: {fileID: 11400000, guid: ff9f9e981b108894dbbd1aa6eb9bd12b, type: 2} + feedbackName: NormalSwing + defaultTimeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + tracks: + - trackName: Camera + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.4 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 0 + affectedByGlobalTimeScale: 0 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146170251739534 + - clipName: + startTime: 0 + duration: 0.4 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 0 + affectedByGlobalTimeScale: 0 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146183674298531 + references: + version: 2 + RefIds: + - rid: 1359146170251739534 + type: {class: CameraPositionShakeAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 10 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.32 + value: -0.3 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.52 + value: 0.12 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.72 + value: -0.04 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + positionAmplitude: {x: 0, y: 0, z: 0} + directionSettings: + affectedByCameraDirection: 1 + affectedByCharacterDirection: 1 + useAttenuation: 1 + attenuationRange: 50 + attenuationCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - rid: 1359146183674298531 + type: {class: CameraRotationShakeAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.2 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rotationAmplitude: {x: -0.36, y: 1, z: 0} + directionSettings: + affectedByCameraDirection: 1 + affectedByCharacterDirection: 1 + useAttenuation: 1 + attenuationRange: 50 + attenuationCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/TestFeedback.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_NormalSwing.asset.meta similarity index 100% rename from Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/TestFeedback.asset.meta rename to Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_NormalSwing.asset.meta diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_PerfectBlock.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_PerfectBlock.asset new file mode 100644 index 000000000..67355e39f --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_PerfectBlock.asset @@ -0,0 +1,480 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 87e69f21423d3c746ae55ea47c545ba6, type: 3} + m_Name: Polychrome_Feedback_PerfectBlock + m_EditorClassIdentifier: SLSUtilities::SLSUtilities.Feedback.FeedbackData + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + parentCollection: {fileID: 11400000, guid: ff9f9e981b108894dbbd1aa6eb9bd12b, type: 2} + feedbackName: PerfectBlock + defaultTimeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + tracks: + - trackName: Time + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.4 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146302359208182 + - trackName: Camera + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.2 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 0 + affectedByGlobalTimeScale: 0 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146170251739534 + - clipName: + startTime: 0 + duration: 0.4 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 0 + affectedByGlobalTimeScale: 0 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146183674298531 + - trackName: Postprocessing + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.4 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + action: + rid: 1359146301147054243 + references: + version: 2 + RefIds: + - rid: 1359146170251739534 + type: {class: CameraPositionShakeAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 12 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.08 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.24 + value: -0.55 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.42 + value: 0.3 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.62 + value: -0.12 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + positionAmplitude: {x: 0, y: 0.25, z: 0} + directionSettings: + affectedByCameraDirection: 1 + affectedByCharacterDirection: 1 + useAttenuation: 1 + attenuationRange: 50 + attenuationCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - rid: 1359146183674298531 + type: {class: CameraRotationShakeAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: -3.1114726 + outSlope: -3.1114726 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.0352 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rotationAmplitude: {x: 0, y: -4, z: 2} + directionSettings: + affectedByCameraDirection: 1 + affectedByCharacterDirection: 1 + useAttenuation: 1 + attenuationRange: 50 + attenuationCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - rid: 1359146301147054243 + type: {class: RadialBlurAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 8 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.12 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 0.12 + inSlope: -0.6 + outSlope: -0.3 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: -0.1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapMin: 0 + remapMax: 0.5 + relativeToInitial: 0 + modifyCenter: 0 + center: {x: 0.5, y: 0.5} + - rid: 1359146302359208182 + type: {class: TimeScaleModifierAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + globalChannel: + active: 1 + mode: 0 + fixedValue: 0.1 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 2 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0.1 + remapOne: 1 + advancedSettings: 0 + playerChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + enemyChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + alliedChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + nonPlayerChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_PerfectBlock.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_PerfectBlock.asset.meta new file mode 100644 index 000000000..eaf4c1e7d --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_PerfectBlock.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: de148aa70764aae418380e0f49810833 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_SingleNormalHit.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_SingleNormalHit.asset new file mode 100644 index 000000000..aac934647 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_SingleNormalHit.asset @@ -0,0 +1,341 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 87e69f21423d3c746ae55ea47c545ba6, type: 3} + m_Name: Polychrome_Feedback_SingleNormalHit + m_EditorClassIdentifier: SLSUtilities::SLSUtilities.Feedback.FeedbackData + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + parentCollection: {fileID: 11400000, guid: ff9f9e981b108894dbbd1aa6eb9bd12b, type: 2} + feedbackName: SingleNormalHit + defaultTimeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + useDynamicTimeScale: 1 + tracks: + - trackName: Camera + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.2 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + useDynamicTimeScale: 1 + action: + rid: 1359146284165628323 + - trackName: Time + mute: 0 + solo: 0 + clips: + - clipName: + startTime: 0 + duration: 0.06 + overrideTimeSettings: 0 + timeSettings: + useTimeScale: 1 + affectedByGlobalTimeScale: 1 + affectedByGroupTimeScale: 0 + affectedByLocalTimeScale: 0 + useDynamicTimeScale: 1 + action: + rid: 1359146284165628324 + references: + version: 2 + RefIds: + - rid: 1359146284165628323 + type: {class: CameraPositionShakeAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + shakeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 8 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.12 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 0.12 + inSlope: -0.6 + outSlope: -0.3 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: -0.1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + positionAmplitude: {x: -0.1127682, y: 0.041028433, z: 0} + directionSettings: + affectedByCameraDirection: 0 + affectedByCharacterDirection: 0 + useAttenuation: 1 + attenuationRange: 50 + attenuationCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - rid: 1359146284165628324 + type: {class: TimeScaleModifierAction, ns: Cielonos.MainGame.Effects.Feedback, asm: Assembly-CSharp} + data: + globalChannel: + active: 1 + mode: 0 + fixedValue: 0.1 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + advancedSettings: 0 + playerChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + enemyChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + alliedChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 + nonPlayerChannel: + active: 0 + mode: 0 + fixedValue: 0 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.5 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZero: 0 + remapOne: 1 diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_SingleNormalHit.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_SingleNormalHit.asset.meta new file mode 100644 index 000000000..dbd697e2c --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Feedbacks/Polychrome_Feedback_SingleNormalHit.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b0c5d03c7e6383c4a873f4bd78cd55e0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/FuncAnims/Polychrome_DisruptionAttackB.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/FuncAnims/Polychrome_DisruptionAttackB.asset index c21440244..7d5b95587 100644 --- a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/FuncAnims/Polychrome_DisruptionAttackB.asset +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/FuncAnims/Polychrome_DisruptionAttackB.asset @@ -111,16 +111,16 @@ MonoBehaviour: mainBodyPart: 0 customBodyPart: positionOffset: {x: 0, y: 0, z: 0} + - rid: 1359146297969083379 + type: {class: CustomFunction/PC_StringStringVector3, ns: SLSUtilities.FunctionalAnimation, asm: SLSUtilities} + data: + str0: DisruptionAttackB + str1: UltimateAttack + vec3_0: {x: 0, y: 0, z: 0} - rid: 7925884807279804808 type: {class: InvokePreloadFunction, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp} data: eventName: AnimInvokePreloadFunction0 - functionKey: GenerateParrySlash + functionKey: GenerateUltimateSlash parameters: - rid: 7925884807279804998 - - rid: 7925884807279804998 - type: {class: CustomFunction/PC_StringStringVector3, ns: SLSUtilities.FunctionalAnimation, asm: SLSUtilities} - data: - str0: DisruptionAttackB - str1: ParryAttack - vec3_0: {x: 0, y: 3, z: 0} + rid: 1359146297969083379 diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/FuncAnims/Polychrome_DisruptionAttackC.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/FuncAnims/Polychrome_DisruptionAttackC.asset index 8c70d8b6d..352ce34f4 100644 --- a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/FuncAnims/Polychrome_DisruptionAttackC.asset +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/FuncAnims/Polychrome_DisruptionAttackC.asset @@ -128,16 +128,16 @@ MonoBehaviour: str0: HeavySwing vec3_0: {x: 1, y: -3.15, z: 0} vec3_1: {x: 0, y: 0, z: 0} - - rid: 7925884807279804808 - type: {class: InvokePreloadFunction, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp} - data: - eventName: AnimInvokePreloadFunction0 - functionKey: GenerateParrySlash - parameters: - rid: 7925884807279804998 - - rid: 7925884807279804998 + - rid: 1359146297969083381 type: {class: CustomFunction/PC_StringStringVector3, ns: SLSUtilities.FunctionalAnimation, asm: SLSUtilities} data: str0: DisruptionAttackC str1: UltimateAttack vec3_0: {x: 0, y: 0, z: 0} + - rid: 7925884807279804808 + type: {class: InvokePreloadFunction, ns: Cielonos.MainGame.FunctionalAnimation, asm: Assembly-CSharp} + data: + eventName: AnimInvokePreloadFunction0 + functionKey: GenerateUltimateSlash + parameters: + rid: 1359146297969083381 diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/PolyChrome_FullBodyFuncAnims.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/PolyChrome_FullBodyFuncAnims.asset index aa89d8535..0aea409ed 100644 --- a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/PolyChrome_FullBodyFuncAnims.asset +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/PolyChrome_FullBodyFuncAnims.asset @@ -151,7 +151,7 @@ MonoBehaviour: Data: 8|SLSUtilities.FunctionalAnimation.CustomFunction, SLSUtilities - Name: functionName Entry: 1 - Data: GenerateParrySlash + Data: GenerateUltimateSlash - Name: paramLabels Entry: 7 Data: 9|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.String, diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Polychrome_AttackData.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Polychrome_AttackData.asset index e5b48d71b..57b62d557 100644 --- a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Polychrome_AttackData.asset +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Polychrome_AttackData.asset @@ -80,6 +80,9 @@ MonoBehaviour: - Name: disruptionType Entry: 3 Data: 501 + - Name: tags + Entry: 6 + Data: - Name: useVFXDataHit Entry: 5 Data: false @@ -212,6 +215,9 @@ MonoBehaviour: - Name: disruptionType Entry: 3 Data: 501 + - Name: tags + Entry: 6 + Data: - Name: useVFXDataHit Entry: 5 Data: false @@ -282,6 +288,9 @@ MonoBehaviour: - Name: disruptionType Entry: 3 Data: 1001 + - Name: tags + Entry: 6 + Data: - Name: useVFXDataHit Entry: 5 Data: false @@ -352,6 +361,9 @@ MonoBehaviour: - Name: disruptionType Entry: 3 Data: 501 + - Name: tags + Entry: 6 + Data: - Name: useVFXDataHit Entry: 5 Data: false @@ -422,6 +434,9 @@ MonoBehaviour: - Name: disruptionType Entry: 3 Data: 501 + - Name: tags + Entry: 6 + Data: - Name: useVFXDataHit Entry: 5 Data: false @@ -492,6 +507,9 @@ MonoBehaviour: - Name: disruptionType Entry: 3 Data: 501 + - Name: tags + Entry: 6 + Data: - Name: useVFXDataHit Entry: 5 Data: false @@ -562,6 +580,9 @@ MonoBehaviour: - Name: disruptionType Entry: 3 Data: 1001 + - Name: tags + Entry: 6 + Data: - Name: useVFXDataHit Entry: 5 Data: false diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Polychrome_FeedbackDataCollection.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Polychrome_FeedbackDataCollection.asset index b5a96fcad..344d18ae3 100644 --- a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Polychrome_FeedbackDataCollection.asset +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/Data/Polychrome_FeedbackDataCollection.asset @@ -23,3 +23,10 @@ MonoBehaviour: SerializationNodes: [] feedbackDataList: - {fileID: 11400000, guid: 5b97a4ba5e70429469f7a05b919718c1, type: 2} + - {fileID: 11400000, guid: ebe61c912cb12144bb2a97c455e384d5, type: 2} + - {fileID: 11400000, guid: b0c5d03c7e6383c4a873f4bd78cd55e0, type: 2} + - {fileID: 11400000, guid: 1d6fa898cfac65140bafd199357ff814, type: 2} + - {fileID: 11400000, guid: 369f9f7b3dfab0a4bb30313058cae4c6, type: 2} + - {fileID: 11400000, guid: 81598d8dcaf179149958857015fe3ede, type: 2} + - {fileID: 11400000, guid: 77f69fa5f6ce6224fa1eaf6d17126614, type: 2} + - {fileID: 11400000, guid: de148aa70764aae418380e0f49810833, type: 2} diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/VFX/HeavySlash.prefab b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/VFX/HeavySlash.prefab index 55e57ad02..ce15b7a0a 100644 --- a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/VFX/HeavySlash.prefab +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/VFX/HeavySlash.prefab @@ -34468,7 +34468,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4677316191082957827} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: 0, y: -0.258819, z: 0, w: 0.9659259} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 @@ -34477,7 +34477,7 @@ Transform: - {fileID: 39733033710753015} - {fileID: 2085235426892346861} m_Father: {fileID: 8203392578021184449} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: -30, z: 0} --- !u!114 &7679299344248645557 MonoBehaviour: m_ObjectHideFlags: 0 @@ -34490,9 +34490,10 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d7723a076048a1c4e99bd7a77fdc664a, type: 3} m_Name: m_EditorClassIdentifier: Assembly-CSharp::SLSUtilities.Effects.TransformAdjustment + vfxObject: {fileID: 2542517294815083805} targetTransform: {fileID: 1211659816898021990} playOnSpawn: 1 - life: 0.2 + life: 0.15 applyLocalPosition: 0 initialLocalPosition: {x: 0, y: 0, z: 0} targetLocalPosition: {x: 0, y: 0, z: 0} @@ -34577,8 +34578,8 @@ MonoBehaviour: - serializedVersion: 3 time: 0 value: 0 - inSlope: 0 - outSlope: 0 + inSlope: 2 + outSlope: 2 tangentMode: 0 weightedMode: 0 inWeight: 0 @@ -34625,8 +34626,8 @@ MonoBehaviour: - serializedVersion: 3 time: 0 value: 0 - inSlope: 0 - outSlope: 0 + inSlope: 2 + outSlope: 2 tangentMode: 0 weightedMode: 0 inWeight: 0 diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/VFX/NormalSlash.prefab b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/VFX/NormalSlash.prefab index 6322b7e5b..03bd10436 100644 --- a/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/VFX/NormalSlash.prefab +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/MainWeapons/Collection/Polychrome/VFX/NormalSlash.prefab @@ -249,7 +249,7 @@ ParticleSystem: m_RotationOrder: 4 moveWithTransform: 0 moveWithCustomTransform: {fileID: 0} - scalingMode: 1 + scalingMode: 0 randomSeed: 0 InitialModule: serializedVersion: 3 @@ -39691,7 +39691,7 @@ ParticleSystem: m_RotationOrder: 4 moveWithTransform: 0 moveWithCustomTransform: {fileID: 0} - scalingMode: 1 + scalingMode: 0 randomSeed: 0 InitialModule: serializedVersion: 3 diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/Deflector.meta b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/Deflector.meta new file mode 100644 index 000000000..3c42de744 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/Deflector.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2cab153670411174d88df9048204eb67 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery.meta b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery.meta new file mode 100644 index 000000000..f8ed313b1 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 87c8fb35dff2f6847bd1e473877fed79 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery/OverloadBattery_OverloadData.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery/OverloadBattery_OverloadData.asset new file mode 100644 index 000000000..c695afc87 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery/OverloadBattery_OverloadData.asset @@ -0,0 +1,26 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: c3e872bf5164c1b449783ffe50bdab9c, type: 3} + m_Name: OverloadBattery_OverloadData + m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Characters.Inventory.OverloadData + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + maxOverload: 200 + overloadWeight: 1 + triggerCooldown: 8 diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery/OverloadBattery_OverloadData.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery/OverloadBattery_OverloadData.asset.meta new file mode 100644 index 000000000..410663421 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery/OverloadBattery_OverloadData.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4973928f40eb66f41add50a963804802 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery/OverloadBattery_PassiveAttributeData.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery/OverloadBattery_PassiveAttributeData.asset new file mode 100644 index 000000000..7d828c9f9 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery/OverloadBattery_PassiveAttributeData.asset @@ -0,0 +1,39 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 3bf7ef748e2ae3a4085a6efa5628b897, type: 3} + m_Name: OverloadBattery_PassiveAttributeData + m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Characters.Inventory.AttributeData + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + itemAttributes: + _duplicateStrategy: 0 + _entries: [] + keyColumnWidth: 0.5 + chaAttrNumericChange: + _duplicateStrategy: 0 + _entries: [] + keyColumnWidth: 0.5 + chaAttrPercentageChangeOfAccumulation: + _duplicateStrategy: 0 + _entries: [] + keyColumnWidth: 0.5 + chaAttrPercentageChangeOfMultiplication: + _duplicateStrategy: 0 + _entries: [] + keyColumnWidth: 0.5 diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery/OverloadBattery_PassiveAttributeData.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery/OverloadBattery_PassiveAttributeData.asset.meta new file mode 100644 index 000000000..e62957f7f --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery/OverloadBattery_PassiveAttributeData.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 52ce17250c63e1149ab0071955e5af2a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper.meta b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper.meta new file mode 100644 index 000000000..8cdb2961a --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9e22e4a778a76af4098dc308410e4e4c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper/SpatialWarpCaliper_PassiveAttributeData.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper/SpatialWarpCaliper_PassiveAttributeData.asset new file mode 100644 index 000000000..d35c8058a --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper/SpatialWarpCaliper_PassiveAttributeData.asset @@ -0,0 +1,42 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 3bf7ef748e2ae3a4085a6efa5628b897, type: 3} + m_Name: SpatialWarpCaliper_PassiveAttributeData + m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Inventory.AttributeData + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + itemAttributes: + _duplicateStrategy: 0 + _entries: [] + keyColumnWidth: 0.5 + chaAttrNumericChange: + _duplicateStrategy: 0 + _entries: + - attributeKey: AttackRangeMultiplier + useManualInput: 0 + attributeValue: 0.1 + keyColumnWidth: 0.5 + chaAttrPercentageChangeOfAccumulation: + _duplicateStrategy: 0 + _entries: [] + keyColumnWidth: 0.5 + chaAttrPercentageChangeOfMultiplication: + _duplicateStrategy: 0 + _entries: [] + keyColumnWidth: 0.5 diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper/SpatialWarpCaliper_PassiveAttributeData.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper/SpatialWarpCaliper_PassiveAttributeData.asset.meta new file mode 100644 index 000000000..160397bc4 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper/SpatialWarpCaliper_PassiveAttributeData.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3d14fcbfcd836904bb427f775387bcdc +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper/SpatialWarpCaliper_UpgradeData.asset b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper/SpatialWarpCaliper_UpgradeData.asset new file mode 100644 index 000000000..57c756571 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper/SpatialWarpCaliper_UpgradeData.asset @@ -0,0 +1,30 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: f73dc527ddcade94a9afe9ae4d256323, type: 3} + m_Name: SpatialWarpCaliper_UpgradeData + m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Inventory.UpgradeData + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + upgrades: + - upgradeMode: 0 + attributeKey: AttackRangeMultiplier + valueList: [] + defaultUpgradeValue: 0.02 + ranges: [] + defaultExpression: 0 diff --git a/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper/SpatialWarpCaliper_UpgradeData.asset.meta b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper/SpatialWarpCaliper_UpgradeData.asset.meta new file mode 100644 index 000000000..0fe2204f5 --- /dev/null +++ b/Assets/Prefabs/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper/SpatialWarpCaliper_UpgradeData.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dc4bf0c7e98ee594cad8c9f83ec5b028 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MainGame/VFX/HUDTexts/DN_Blank.prefab b/Assets/Prefabs/MainGame/VFX/HUDTexts/DN_Blank.prefab new file mode 100644 index 000000000..90d938e64 --- /dev/null +++ b/Assets/Prefabs/MainGame/VFX/HUDTexts/DN_Blank.prefab @@ -0,0 +1,844 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5006968135772456734 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5544096825412395050} + - component: {fileID: 8133496047547027645} + - component: {fileID: 2312842609401276608} + m_Layer: 0 + m_Name: MeshA + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5544096825412395050 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5006968135772456734} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2798243511474852011} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &8133496047547027645 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5006968135772456734} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 0 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 65c967fb19fb43f4eb05dfded0e555d5, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2312842609401276608 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5006968135772456734} + m_Mesh: {fileID: 0} +--- !u!1 &6372953698066233580 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4800657022498175195} + - component: {fileID: 5828531706643837148} + - component: {fileID: 7556275685799677779} + m_Layer: 0 + m_Name: TMP + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4800657022498175195 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6372953698066233580} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2798243511474852011} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 4, y: 2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!23 &5828531706643837148 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6372953698066233580} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 65c967fb19fb43f4eb05dfded0e555d5, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &7556275685799677779 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6372953698066233580} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 123 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a7d7716489ce72a4f97f52ce44079ded, type: 2} + m_sharedMaterial: {fileID: 2100000, guid: 65c967fb19fb43f4eb05dfded0e555d5, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 2 + m_fontSizeBase: 2 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 1 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 5828531706643837148} + m_maskType: 0 +--- !u!1 &6679678559352838020 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2798243511474852011} + - component: {fileID: 3106269974086679045} + - component: {fileID: 7017044102814686624} + m_Layer: 0 + m_Name: DN_Blank + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2798243511474852011 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6679678559352838020} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4800657022498175195} + - {fileID: 5544096825412395050} + - {fileID: 5122488079570636238} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3106269974086679045 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6679678559352838020} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 38ab3cdc3b49a6e428853efe80194005, type: 3} + m_Name: + m_EditorClassIdentifier: + permanent: 0 + lifetime: 0.2 + unscaledTime: 0 + enable3DGame: 1 + faceCameraView: 1 + lookAtCamera: 0 + renderThroughWalls: 0 + consistentScreenSize: 1 + distanceScalingSettings: + baseDistance: 15 + closeDistance: 5 + farDistance: 50 + closeScale: 2 + farScale: 0.5 + scaleWithFov: 0 + defaultFov: 60 + fovCamera: {fileID: 0} + cameraOverride: {fileID: 0} + enableNumber: 1 + number: 123 + numberSettings: + bold: 0 + italic: 0 + underline: 0 + strike: 0 + alpha: 1 + customColor: 0 + color: {r: 1, g: 1, b: 0, a: 1} + mark: 0 + markColor: {r: 0, g: 0, b: 0, a: 0.5} + horizontal: 0 + vertical: 0 + characterSpacing: 0 + size: 0 + digitSettings: + decimals: 0 + decimalChar: . + hideZeros: 0 + dotSeparation: 0 + dotDistance: 3 + dotChar: . + suffixShorten: 0 + suffixes: + - K + - M + - B + - T + suffixDigits: 03000000030000000300000003000000 + maxDigits: 3 + suffixDecimals: 1 + suffixDecimalChar: . + suffixHideZeros: 0 + enableLeftText: 0 + leftText: + leftTextSettings: + bold: 0 + italic: 0 + underline: 0 + strike: 0 + alpha: 1 + customColor: 0 + color: {r: 1, g: 1, b: 0, a: 1} + mark: 0 + markColor: {r: 0, g: 0, b: 0, a: 0.5} + horizontal: 0 + vertical: 0 + characterSpacing: 0 + size: 0 + enableRightText: 0 + rightText: + rightTextSettings: + bold: 0 + italic: 0 + underline: 0 + strike: 0 + alpha: 1 + customColor: 0 + color: {r: 1, g: 1, b: 0, a: 1} + mark: 0 + markColor: {r: 0, g: 0, b: 0, a: 0.5} + horizontal: 0 + vertical: 0 + characterSpacing: 0 + size: 0 + enableTopText: 0 + topText: + topTextSettings: + bold: 0 + italic: 0 + underline: 0 + strike: 0 + alpha: 1 + customColor: 0 + color: {r: 1, g: 1, b: 0, a: 1} + mark: 0 + markColor: {r: 0, g: 0, b: 0, a: 0.5} + horizontal: 0 + vertical: 0 + characterSpacing: 0 + size: 0 + enableBottomText: 0 + bottomText: + bottomTextSettings: + bold: 0 + italic: 0 + underline: 0 + strike: 0 + alpha: 1 + customColor: 0 + color: {r: 1, g: 1, b: 0, a: 1} + mark: 0 + markColor: {r: 0, g: 0, b: 0, a: 0.5} + horizontal: 0 + vertical: 0 + characterSpacing: 0 + size: 0 + enableColorByNumber: 0 + colorByNumberSettings: + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0.8, b: 0.5, a: 1} + key1: {r: 1, g: 0, b: 0, 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_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + fromNumber: 10 + toNumber: 100 + durationFadeIn: 0.2 + enableOffsetFadeIn: 0 + offsetFadeIn: {x: 0.5, y: 0} + enableScaleFadeIn: 0 + scaleFadeIn: {x: 2, y: 2} + enableCrossScaleFadeIn: 0 + crossScaleFadeIn: {x: 1, y: 1.5} + enableShakeFadeIn: 0 + shakeOffsetFadeIn: {x: 0, y: 1.5} + shakeFrequencyFadeIn: 4 + durationFadeOut: 0.2 + enableOffsetFadeOut: 0 + offsetFadeOut: {x: 0.5, y: 0} + enableScaleFadeOut: 0 + scaleFadeOut: {x: 0.4, y: 0.4} + enableCrossScaleFadeOut: 0 + crossScaleFadeOut: {x: 1, y: 1.5} + enableShakeFadeOut: 0 + shakeOffsetFadeOut: {x: 0, y: 1.5} + shakeFrequencyFadeOut: 4 + enableLerp: 1 + lerpSettings: + speed: 5 + minX: -0.2 + maxX: 0.2 + minY: 0.3 + maxY: 0.3 + randomFlip: 0 + enableVelocity: 0 + velocitySettings: + minX: -1 + maxX: 1 + minY: 4 + maxY: 5 + randomFlip: 0 + dragX: 0.1 + dragY: 1 + gravity: 3 + enableShaking: 0 + shakeSettings: + offset: {x: 0.005, y: 0.005} + frequency: 50 + enableFollowing: 0 + followedTarget: {fileID: 0} + followSettings: + speed: 10 + drag: 0 + enableStartRotation: 0 + minRotation: -4 + maxRotation: 4 + rotationRandomFlip: 0 + enableRotateOverTime: 0 + minRotationSpeed: -15 + maxRotationSpeed: 15 + rotationSpeedRandomFlip: 0 + rotateOverTime: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.4 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.8 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + enableScaleByNumber: 0 + scaleByNumberSettings: + fromNumber: 0 + toNumber: 1000 + fromScale: 1 + toScale: 1.5 + enableScaleOverTime: 0 + scaleOverTime: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0.7 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + enableOrthographicScaling: 0 + defaultOrthographicSize: 5 + maxOrthographicSize: 1.5 + orthographicCamera: {fileID: 0} + spamGroup: Default + enableCombination: 1 + combinationSettings: + method: 0 + maxDistance: 3 + spawnDelay: 0 + absorbDuration: 0.8 + scaleCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.3 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + alphaCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.4 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + moveToAbsorber: 0 + teleportToAbsorber: 1 + absorberScaleFactor: 1.5 + absorberScaleFade: 15 + instantGain: 1 + bonusLifetime: 0.5 + enableDestruction: 0 + destructionSettings: + maxDistance: 2 + spawnDelay: 0.2 + duration: 0.3 + scaleCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0.5 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + alphaCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + enableCollision: 1 + collisionSettings: + radius: 1 + pushFactor: 0.6 + desiredDirection: {x: 0, y: 3, z: 0} + enablePush: 0 + pushSettings: + radius: 3 + pushOffset: 1 + updateDelay: 0.01667 + enablePooling: 1 + poolSize: 50 + disableOnSceneLoad: 1 + editorLastFont: Orbitron-Regular SDF3D + position: {x: 0, y: 0, z: 0} +--- !u!210 &7017044102814686624 +SortingGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6679678559352838020} + m_Enabled: 1 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1000 + m_SortAtRoot: 0 + m_Sort3DAs2D: 0 +--- !u!1 &7299391153845588472 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5122488079570636238} + - component: {fileID: 3178272226959949354} + - component: {fileID: 4455648380323122065} + m_Layer: 0 + m_Name: MeshB + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5122488079570636238 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7299391153845588472} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2798243511474852011} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &3178272226959949354 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7299391153845588472} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 0 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 65c967fb19fb43f4eb05dfded0e555d5, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &4455648380323122065 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7299391153845588472} + m_Mesh: {fileID: 0} diff --git a/Assets/Prefabs/MainGame/VFX/HUDTexts/DN_Blank.prefab.meta b/Assets/Prefabs/MainGame/VFX/HUDTexts/DN_Blank.prefab.meta new file mode 100644 index 000000000..3fa7bf820 --- /dev/null +++ b/Assets/Prefabs/MainGame/VFX/HUDTexts/DN_Blank.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2bcd06d9c653b734f86d081454799ca6 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/BaseCollections/EditorBaseCollection.asset b/Assets/Resources/BaseCollections/EditorBaseCollection.asset index 30bd35861..50bd90b18 100644 --- a/Assets/Resources/BaseCollections/EditorBaseCollection.asset +++ b/Assets/Resources/BaseCollections/EditorBaseCollection.asset @@ -50,6 +50,8 @@ MonoBehaviour: value: "\u8DF3\u8DC3\u529B" - key: AttackDamageMultiplier value: "\u653B\u51FB\u4F24\u5BB3\u500D\u7387\uFF08\u7A0E\u524D\uFF09" + - key: AttackRangeMultiplier + value: "\u8FD1\u6218\u653B\u51FB\u7684\u8303\u56F4\uFF0C\u8FDC\u7A0B\u653B\u51FB\u7684\u5C04\u7A0B" - key: FinalDamageDealtMultiplier value: "\u6700\u7EC8\u9020\u6210\u4F24\u5BB3\u500D\u7387\uFF08\u7A0E\u540E\uFF09" - key: KineticsDamageDealtMultiplier @@ -88,4 +90,6 @@ MonoBehaviour: value: "\u9020\u6210\u6B63\u9762\u6548\u679C\u65F6\u95F4\u500D\u7387" - key: PositiveEffectReceivedDurationMultiplier value: "\u53D7\u5230\u6B63\u9762\u6548\u679C\u65F6\u95F4\u500D\u7387" + - key: OverloadConversionRate + value: "\u8FC7\u8F7D\u80FD\u91CF\u8F6C\u6362\u7387" keyColumnWidth: 0.5 diff --git a/Assets/Resources/BaseCollections/MainGameBaseCollection.asset b/Assets/Resources/BaseCollections/MainGameBaseCollection.asset index 4aa88d6d9..ec9c798ad 100644 --- a/Assets/Resources/BaseCollections/MainGameBaseCollection.asset +++ b/Assets/Resources/BaseCollections/MainGameBaseCollection.asset @@ -30,6 +30,7 @@ MonoBehaviour: - {fileID: 3106269974086679045, guid: c4fb59992274ff949a2ce668920bbd05, type: 3} - {fileID: 3106269974086679045, guid: 5b7429335390ed446b917cf059fc3f8c, type: 3} - {fileID: 3106269974086679045, guid: 8f098095e762d4e4eab1c53c2a723753, type: 3} + - {fileID: 3106269974086679045, guid: 2bcd06d9c653b734f86d081454799ca6, type: 3} SerializedBytesString: Prefab: {fileID: 0} PrefabModificationsReferencedUnityObjects: [] @@ -443,7 +444,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 9 + Data: 10 - Name: Entry: 7 Data: @@ -552,6 +553,18 @@ MonoBehaviour: - Name: Entry: 8 Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 1 + Data: DN_Blank + - Name: $v + Entry: 10 + Data: 14 + - Name: + Entry: 8 + Data: - Name: Entry: 13 Data: diff --git a/Assets/Scenes/Default/DefaultStreet.unity b/Assets/Scenes/Default/DefaultStreet.unity index 8e2feb057..ef7f4828d 100644 --- a/Assets/Scenes/Default/DefaultStreet.unity +++ b/Assets/Scenes/Default/DefaultStreet.unity @@ -11157,7 +11157,7 @@ MonoBehaviour: renderPriority: 1 manualPositionAndScale: 0 styledSpace0: 0 - overrideMaterial: {fileID: 453292896} + overrideMaterial: {fileID: 633235475} overrideCamToVolumeDistance: 1 overrideVolumeDistanceFade: 0 version: 0 @@ -11194,7 +11194,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 731611629} + - {fileID: 1146294806} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -17331,76 +17331,6 @@ Transform: m_CorrespondingSourceObject: {fileID: 3527720355525865866, guid: 5842cbfd47ce3824b8f34c139648627c, type: 3} m_PrefabInstance: {fileID: 453088670} m_PrefabAsset: {fileID: 0} ---- !u!21 &453292896 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Override - m_Shader: {fileID: 4800000, guid: a3a3bc8785681554d9558e2ea68f100e, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: [] - m_Ints: [] - m_Floats: - - _AdvancedCat: 1 - - _Banner: 1 - - _DirectionalCat: 1 - - _DirectionalFalloff: 2 - - _DirectionalIntensity: 1 - - _FarDistanceHeight: 0 - - _FarDistanceOffset: 0 - - _FogAxisMode: 1 - - _FogCameraMode: 0 - - _FogCat: 1 - - _FogColorDuo: 1 - - _FogDistanceEnd: 100 - - _FogDistanceFalloff: 2 - - _FogDistanceStart: 0 - - _FogHeightEnd: 100 - - _FogHeightFalloff: 2 - - _FogHeightStart: 0 - - _FogIntensity: 1 - - _FogLayersMode: 0 - - _IsHeightFogPreset: 1 - - _IsHeightFogShader: 1 - - _JitterIntensity: 1 - - _NoiseCat: 1 - - _NoiseDistanceEnd: 50 - - _NoiseIntensity: 1 - - _NoiseMax: 1 - - _NoiseMin: 0 - - _NoiseModeBlend: 1 - - _NoiseScale: 30 - - _SkyboxCat: 1 - - _SkyboxFogBottom: 0 - - _SkyboxFogFalloff: 1 - - _SkyboxFogFill: 1 - - _SkyboxFogHeight: 1 - - _SkyboxFogIntensity: 1 - - _SkyboxFogOffset: 0 - m_Colors: - - _DirectionalColor: {r: 1, g: 0.7793103, b: 0.5, a: 1} - - _DirectionalDir: {r: 0, g: 0, b: 0, a: 0} - - _FogAxisOption: {r: 0, g: 0, b: 0, a: 0} - - _FogColorEnd: {r: 0.8862745, g: 1.443137, b: 2, a: 1} - - _FogColorStart: {r: 0.4411765, g: 0.722515, b: 1, a: 1} - - _NoiseSpeed: {r: 0.5, g: 0, b: 0.5, a: 0} - m_BuildTextureStacks: [] - m_AllowLocking: 1 --- !u!1001 &455446959 PrefabInstance: m_ObjectHideFlags: 0 @@ -25052,6 +24982,76 @@ Transform: m_CorrespondingSourceObject: {fileID: 2907684216056595246, guid: fd09445fd1e09cc4c8aee3b6ed7a31d1, type: 3} m_PrefabInstance: {fileID: 632421069} m_PrefabAsset: {fileID: 0} +--- !u!21 &633235475 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Override + m_Shader: {fileID: 4800000, guid: a3a3bc8785681554d9558e2ea68f100e, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: [] + m_Ints: [] + m_Floats: + - _AdvancedCat: 1 + - _Banner: 1 + - _DirectionalCat: 1 + - _DirectionalFalloff: 2 + - _DirectionalIntensity: 1 + - _FarDistanceHeight: 0 + - _FarDistanceOffset: 0 + - _FogAxisMode: 1 + - _FogCameraMode: 0 + - _FogCat: 1 + - _FogColorDuo: 1 + - _FogDistanceEnd: 100 + - _FogDistanceFalloff: 2 + - _FogDistanceStart: 0 + - _FogHeightEnd: 100 + - _FogHeightFalloff: 2 + - _FogHeightStart: 0 + - _FogIntensity: 1 + - _FogLayersMode: 0 + - _IsHeightFogPreset: 1 + - _IsHeightFogShader: 1 + - _JitterIntensity: 1 + - _NoiseCat: 1 + - _NoiseDistanceEnd: 50 + - _NoiseIntensity: 1 + - _NoiseMax: 1 + - _NoiseMin: 0 + - _NoiseModeBlend: 1 + - _NoiseScale: 30 + - _SkyboxCat: 1 + - _SkyboxFogBottom: 0 + - _SkyboxFogFalloff: 1 + - _SkyboxFogFill: 1 + - _SkyboxFogHeight: 1 + - _SkyboxFogIntensity: 1 + - _SkyboxFogOffset: 0 + m_Colors: + - _DirectionalColor: {r: 1, g: 0.7793103, b: 0.5, a: 1} + - _DirectionalDir: {r: 0, g: 0, b: 0, a: 0} + - _FogAxisOption: {r: 0, g: 0, b: 0, a: 0} + - _FogColorEnd: {r: 0.8862745, g: 1.443137, b: 2, a: 1} + - _FogColorStart: {r: 0.4411765, g: 0.722515, b: 1, a: 1} + - _NoiseSpeed: {r: 0.5, g: 0, b: 0.5, a: 0} + m_BuildTextureStacks: [] + m_AllowLocking: 1 --- !u!1001 &635866547 PrefabInstance: m_ObjectHideFlags: 0 @@ -28147,59 +28147,6 @@ Transform: m_CorrespondingSourceObject: {fileID: 971121003899079884, guid: c45407a6bfa9e164ba32ee10ff37cb2d, type: 3} m_PrefabInstance: {fileID: 728912632} m_PrefabAsset: {fileID: 0} ---- !u!21 &731611629 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Height Fog Global - m_Shader: {fileID: 4800000, guid: 3a7ef1b66bafb7a448a880ef76d2e6e6, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: - - _RECEIVESHADOWS_OFF - - _SURFACE_TYPE_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AddPrecomputedVelocity: 1 - - _AlphaCutoff: 0.5 - - _Banner: 1 - - _FogCameraMode: 0 - - _HeightFogGlobal: 1 - - _IsHeightFogShader: 1 - - _QueueControl: -1 - - _QueueOffset: 0 - - _ReceiveShadows: 0 - - _XRMotionVectorsPass: 1 - m_Colors: - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 --- !u!1001 &733333969 PrefabInstance: m_ObjectHideFlags: 0 @@ -42336,6 +42283,59 @@ Transform: m_CorrespondingSourceObject: {fileID: 5118177864448608179, guid: 1350acf714040874d928ae95e77b7707, type: 3} m_PrefabInstance: {fileID: 1145678806} m_PrefabAsset: {fileID: 0} +--- !u!21 &1146294806 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Height Fog Global + m_Shader: {fileID: 4800000, guid: 3a7ef1b66bafb7a448a880ef76d2e6e6, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: + - _RECEIVESHADOWS_OFF + - _SURFACE_TYPE_TRANSPARENT + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 1 + - _AlphaCutoff: 0.5 + - _Banner: 1 + - _FogCameraMode: 0 + - _HeightFogGlobal: 1 + - _IsHeightFogShader: 1 + - _QueueControl: -1 + - _QueueOffset: 0 + - _ReceiveShadows: 0 + - _XRMotionVectorsPass: 1 + m_Colors: + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 --- !u!1001 &1147153183 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/Default/ZoneData0.asset b/Assets/Scenes/Default/ZoneData0.asset index cbb01600c..84753e583 100644 --- a/Assets/Scenes/Default/ZoneData0.asset +++ b/Assets/Scenes/Default/ZoneData0.asset @@ -59,7 +59,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 1 + Data: 4 - Name: Entry: 7 Data: @@ -81,6 +81,69 @@ MonoBehaviour: - Name: Entry: 8 Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 7 + Data: Cielonos.MainGame.Map.ZoneData+SpawnPointKey, Assembly-CSharp + - Name: group + Entry: 1 + Data: Node + - Name: index + Entry: 3 + Data: 0 + - Name: + Entry: 8 + Data: + - Name: $v + Entry: 1 + Data: HumanoidAndroid + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 7 + Data: Cielonos.MainGame.Map.ZoneData+SpawnPointKey, Assembly-CSharp + - Name: group + Entry: 1 + Data: Node + - Name: index + Entry: 3 + Data: 1 + - Name: + Entry: 8 + Data: + - Name: $v + Entry: 1 + Data: HumanoidAndroid + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 7 + Data: Cielonos.MainGame.Map.ZoneData+SpawnPointKey, Assembly-CSharp + - Name: group + Entry: 1 + Data: Node + - Name: index + Entry: 3 + Data: 2 + - Name: + Entry: 8 + Data: + - Name: $v + Entry: 1 + Data: HumanoidAndroid + - Name: + Entry: 8 + Data: - Name: Entry: 13 Data: diff --git a/Assets/Scenes/MainGame.unity b/Assets/Scenes/MainGame.unity index 46dc4405f..bafb46c3d 100644 --- a/Assets/Scenes/MainGame.unity +++ b/Assets/Scenes/MainGame.unity @@ -775,14 +775,14 @@ GameObject: - component: {fileID: 157462149} - component: {fileID: 157462160} - component: {fileID: 157462150} - - component: {fileID: 157462158} - - component: {fileID: 157462154} - - component: {fileID: 157462162} - component: {fileID: 157462161} - - component: {fileID: 157462155} - - component: {fileID: 157462159} + - component: {fileID: 157462158} + - component: {fileID: 157462162} - component: {fileID: 157462153} - component: {fileID: 157462152} + - component: {fileID: 157462164} + - component: {fileID: 157462163} + - component: {fileID: 157462165} m_Layer: 6 m_Name: LockTargetCamera m_TagString: Untagged @@ -999,56 +999,6 @@ MonoBehaviour: m_RotationOrder: 4 RemapFieldOfViewZero: 60 RemapFieldOfViewOne: 120 ---- !u!114 &157462154 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 157462138} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9d66462bf720d28469c8db4b2e52720c, type: 3} - m_Name: - m_EditorClassIdentifier: MoreMountains.Tools::MoreMountains.FeedbacksForThirdParty.MMCinemachineCameraShaker - ChannelMode: 0 - Channel: 0 - MMChannelDefinition: {fileID: 0} - DefaultShakeAmplitude: 0.5 - DefaultShakeFrequency: 10 - IdleAmplitude: 0 - IdleFrequency: 1 - LerpSpeed: 5 - TestDuration: 0.3 - TestAmplitude: 2 - TestFrequency: 20 - TestShakeButton: 0 ---- !u!114 &157462155 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 157462138} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a13116adea7514048aed172a893ed137, type: 3} - m_Name: - m_EditorClassIdentifier: MoreMountains.Tools::MoreMountains.FeedbacksForThirdParty.MMCinemachineRotationShaker - ChannelMode: 0 - Channel: 0 - MMChannelDefinition: {fileID: 0} - ShakeDuration: 0.2 - PlayOnAwake: 0 - PermanentShake: 0 - Interruptible: 1 - AlwaysResetTargetValuesAfterShake: 0 - OnlyUseShakerValues: 0 - CooldownBetweenShakes: 0 - Shaking: 0 - ForwardDirection: 1 - TimescaleMode: 0 - ActiveShakesCount: 0 --- !u!114 &157462158 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1064,32 +1014,6 @@ MonoBehaviour: Offset: {x: 0, y: 0, z: 0} ApplyAfter: 0 PreserveComposition: 0 ---- !u!114 &157462159 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 157462138} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a6732be1ae6977e40bb682d19bca778e, type: 3} - m_Name: - m_EditorClassIdentifier: MoreMountains.Tools::MoreMountains.FeedbacksForThirdParty.MMCinemachinePositionShaker - ChannelMode: 0 - Channel: 0 - MMChannelDefinition: {fileID: 0} - ShakeDuration: 0.2 - PlayOnAwake: 0 - PermanentShake: 0 - Interruptible: 1 - AlwaysResetTargetValuesAfterShake: 0 - OnlyUseShakerValues: 0 - CooldownBetweenShakes: 0 - Shaking: 0 - ForwardDirection: 1 - TimescaleMode: 0 - ActiveShakesCount: 0 --- !u!114 &157462160 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1173,6 +1097,42 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: Assembly-CSharp::SLSUtilities.Cinemachine.CinemachineRotationOffset rotationOffset: {x: 0, y: 0, z: 0} +--- !u!114 &157462163 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 157462138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5c54de88d6cf4304180fbd641401b1b6, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SLSUtilities.Cinemachine.CinemachineRotationShaker +--- !u!114 &157462164 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 157462138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 08a7d10a0525af448902b60235ecf4fc, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SLSUtilities.Cinemachine.CinemachinePositionShaker +--- !u!114 &157462165 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 157462138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dbbfef1d7cc479c47837ff154e4a7c5e, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Effects.Feedback.CameraFovShaker --- !u!1 &158519375 GameObject: m_ObjectHideFlags: 0 @@ -1203,7 +1163,9 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1943162479} + - {fileID: 1692046752} - {fileID: 2096518160} + - {fileID: 1014405207} - {fileID: 978176016} m_Father: {fileID: 5725951074007210658} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -1662,6 +1624,9 @@ MonoBehaviour: - Name: ammoSm Entry: 6 Data: + - Name: overloadSm + Entry: 6 + Data: - Name: viewObjects Entry: 7 Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[Cielonos.MainGame.Characters.Inventory.ItemViewObject, @@ -1691,11 +1656,13 @@ MonoBehaviour: viewObjectData: {fileID: 0} vfxData: {fileID: 11400000, guid: 8847c56fcf9a6634f83d42acea94e504, type: 2} passiveAttributeData: {fileID: 0} + upgradeData: {fileID: 0} comboData: {fileID: 0} attackData: {fileID: 11400000, guid: 55d15fd6266958b489523430e835fb2a, type: 2} functionData: {fileID: 11400000, guid: 9435ddd157ed74f48b81a7b689615920, type: 2} ammoData: {fileID: 0} blockData: {fileID: 0} + overloadData: {fileID: 0} audioContainer: {fileID: 0} feedbackSc: {fileID: 0} activeAttributeData: {fileID: 0} @@ -4658,6 +4625,9 @@ MonoBehaviour: - Name: ammoSm Entry: 6 Data: + - Name: overloadSm + Entry: 6 + Data: - Name: viewObjects Entry: 7 Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[Cielonos.MainGame.Characters.Inventory.ItemViewObject, @@ -4687,11 +4657,13 @@ MonoBehaviour: viewObjectData: {fileID: 0} vfxData: {fileID: 11400000, guid: bf4c8c33127109d429740dc6ed9e652c, type: 2} passiveAttributeData: {fileID: 0} + upgradeData: {fileID: 0} comboData: {fileID: 0} attackData: {fileID: 11400000, guid: 15e65dded61350047a4420de324efc12, type: 2} functionData: {fileID: 11400000, guid: b88dbc5ff17f74e4eb2abcfc70d04cc7, type: 2} ammoData: {fileID: 0} blockData: {fileID: 0} + overloadData: {fileID: 0} audioContainer: {fileID: 0} feedbackSc: {fileID: 0} activeAttributeData: {fileID: 0} @@ -4933,17 +4905,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6da43522623d4704e979466dc7650b65, type: 3} m_Name: m_EditorClassIdentifier: MoreMountains.Tools::MoreMountains.Feedbacks.MMF_Player ---- !u!114 &620526553 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 2449826049284173626, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - m_PrefabInstance: {fileID: 4983166886584166000} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6da43522623d4704e979466dc7650b65, type: 3} - m_Name: - m_EditorClassIdentifier: MoreMountains.Tools::MoreMountains.Feedbacks.MMF_Player --- !u!1 &629426290 GameObject: m_ObjectHideFlags: 0 @@ -5090,17 +5051,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6da43522623d4704e979466dc7650b65, type: 3} m_Name: m_EditorClassIdentifier: MoreMountains.Tools::MoreMountains.Feedbacks.MMF_Player ---- !u!114 &668130337 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 8954874138437517140, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - m_PrefabInstance: {fileID: 4983166886584166000} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6da43522623d4704e979466dc7650b65, type: 3} - m_Name: - m_EditorClassIdentifier: MoreMountains.Tools::MoreMountains.Feedbacks.MMF_Player --- !u!1 &700402586 GameObject: m_ObjectHideFlags: 0 @@ -5555,14 +5505,13 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 832575519} - - component: {fileID: 832575518} - - component: {fileID: 832575522} - - component: {fileID: 832575523} - component: {fileID: 832575525} - - component: {fileID: 832575526} - - component: {fileID: 832575527} - - component: {fileID: 832575528} - - component: {fileID: 832575529} + - component: {fileID: 832575518} + - component: {fileID: 832575524} + - component: {fileID: 832575523} + - component: {fileID: 832575522} + - component: {fileID: 832575521} + - component: {fileID: 832575520} m_Layer: 0 m_Name: Global Volume m_TagString: Untagged @@ -5602,6 +5551,30 @@ Transform: m_Children: [] m_Father: {fileID: 998525395} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &832575520 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832575517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 129b8b0330a4e5741a1f3121f9d01d22, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Effects.Feedback.VignetteShaker +--- !u!114 &832575521 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832575517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 588e6dd88aea55748adfb8b9aa48a518, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Effects.Feedback.StrobeFlashShaker --- !u!114 &832575522 MonoBehaviour: m_ObjectHideFlags: 0 @@ -5611,121 +5584,9 @@ MonoBehaviour: m_GameObject: {fileID: 832575517} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: bbf0ffd851dbe2d4fb5d79335529e131, type: 3} + m_Script: {fileID: 11500000, guid: 569f4a4691c95ba448cf7309993ca9a9, type: 3} m_Name: - m_EditorClassIdentifier: MoreMountains.Tools::MoreMountains.FeedbacksForThirdParty.MMLensDistortionShaker_URP - ChannelMode: 0 - Channel: 0 - MMChannelDefinition: {fileID: 0} - ShakeDuration: 0.8 - PlayOnAwake: 0 - PermanentShake: 0 - Interruptible: 1 - AlwaysResetTargetValuesAfterShake: 0 - OnlyUseShakerValues: 0 - CooldownBetweenShakes: 0 - Shaking: 0 - ForwardDirection: 1 - TimescaleMode: 0 - RelativeIntensity: 0 - ShakeIntensity: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.2 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.25 - value: -1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.35 - value: 0.7 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.4 - value: -0.7 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.6 - value: 0.3 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.65 - value: -0.3 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.8 - value: 0.1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.85 - value: -0.1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - RemapIntensityZero: 0 - RemapIntensityOne: 0.5 + m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Effects.Feedback.RadialBlurShaker --- !u!114 &832575523 MonoBehaviour: m_ObjectHideFlags: 0 @@ -5735,58 +5596,21 @@ MonoBehaviour: m_GameObject: {fileID: 832575517} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9f83ea5980293ee4bb6961962edb0cc1, type: 3} + m_Script: {fileID: 11500000, guid: c15f7649d43e18b448c0acb1f9163f2c, type: 3} m_Name: - m_EditorClassIdentifier: MoreMountains.Tools::MoreMountains.FeedbacksForThirdParty.MMMotionBlurShaker_URP - ChannelMode: 0 - Channel: 0 - MMChannelDefinition: {fileID: 0} - ShakeDuration: 0.2 - PlayOnAwake: 0 - PermanentShake: 0 - Interruptible: 1 - AlwaysResetTargetValuesAfterShake: 0 - OnlyUseShakerValues: 0 - CooldownBetweenShakes: 0 - Shaking: 0 - ForwardDirection: 1 - TimescaleMode: 0 - RelativeIntensity: 0 - ShakeIntensity: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.5 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - RemapIntensityZero: 0 - RemapIntensityOne: 1 + m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Effects.Feedback.ChromaticAberrationShaker +--- !u!114 &832575524 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832575517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fc3cd16e5556b7a4eb66e5385e4f4e60, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Effects.Feedback.AnimeACESShaker --- !u!114 &832575525 MonoBehaviour: m_ObjectHideFlags: 0 @@ -5796,438 +5620,22 @@ MonoBehaviour: m_GameObject: {fileID: 832575517} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 71d1f877a9ca4ed48963fe747f743dfc, type: 3} + m_Script: {fileID: 11500000, guid: d9618a231db412d44933c30e2f9843c2, type: 3} m_Name: - m_EditorClassIdentifier: MoreMountains.Tools::MoreMountains.FeedbacksForThirdParty.MMColorAdjustmentsShaker_URP - ChannelMode: 0 - Channel: 0 - MMChannelDefinition: {fileID: 0} - ShakeDuration: 0.8 - PlayOnAwake: 0 - PermanentShake: 0 - Interruptible: 1 - AlwaysResetTargetValuesAfterShake: 0 - OnlyUseShakerValues: 0 - CooldownBetweenShakes: 0 - Shaking: 0 - ForwardDirection: 1 - TimescaleMode: 0 - RelativeValues: 1 - ShakePostExposure: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.5 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - RemapPostExposureZero: 0 - RemapPostExposureOne: 1 - ShakeHueShift: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.5 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - RemapHueShiftZero: 0 - RemapHueShiftOne: 180 - ShakeSaturation: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.5 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - RemapSaturationZero: 0 - RemapSaturationOne: 100 - ShakeContrast: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.5 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - RemapContrastZero: 0 - RemapContrastOne: 100 - ColorFilterMode: 0 - ColorFilterGradient: - 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_ColorSpace: -1 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - ColorFilterDestination: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - ColorFilterCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.5 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 ---- !u!114 &832575526 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 832575517} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d41e65444be95a7469ed5fab9af1d3a2, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::MoreMountains.FeedbacksForThirdParty.MMRadialBlurShaker - ChannelMode: 0 - Channel: 0 - MMChannelDefinition: {fileID: 0} - ShakeDuration: 0.2 - PlayOnAwake: 0 - PermanentShake: 0 - Interruptible: 1 - AlwaysResetTargetValuesAfterShake: 0 - OnlyUseShakerValues: 0 - CooldownBetweenShakes: 0 - Shaking: 0 - ForwardDirection: 1 - TimescaleMode: 0 - RelativeIntensity: 0 - ShakeIntensity: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.5 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - RemapIntensityZero: 0 - RemapIntensityOne: 1 ---- !u!114 &832575527 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 832575517} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 83e1b594d698f9449ac7adafb9976fec, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::MoreMountains.FeedbacksForThirdParty.MMAdvancedChromaticAberrationShaker - ChannelMode: 0 - Channel: 0 - MMChannelDefinition: {fileID: 0} - ShakeDuration: 0.2 - PlayOnAwake: 0 - PermanentShake: 0 - Interruptible: 1 - AlwaysResetTargetValuesAfterShake: 0 - OnlyUseShakerValues: 0 - CooldownBetweenShakes: 0 - Shaking: 0 - ForwardDirection: 1 - TimescaleMode: 0 - RelativeIntensity: 0 - ShakeIntensity: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.5 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - RemapIntensityZero: 0 - RemapIntensityOne: 1 ---- !u!114 &832575528 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 832575517} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 11b930e92331e8c48b320c5d04808814, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::MoreMountains.FeedbacksForThirdParty.MMAdvancedVignetteShaker - ChannelMode: 0 - Channel: 0 - MMChannelDefinition: {fileID: 0} - ShakeDuration: 0.2 - PlayOnAwake: 0 - PermanentShake: 0 - Interruptible: 1 - AlwaysResetTargetValuesAfterShake: 0 - OnlyUseShakerValues: 0 - CooldownBetweenShakes: 0 - Shaking: 0 - ForwardDirection: 1 - TimescaleMode: 0 - RelativeIntensity: 0 - ShakeIntensity: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.5 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - RemapIntensityZero: 0 - RemapIntensityOne: 1 ---- !u!114 &832575529 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 832575517} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b009481b9292ba746a63d75b2e91e6c5, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::MoreMountains.FeedbacksForThirdParty.MMStrobeFlashShaker - ChannelMode: 0 - Channel: 0 - MMChannelDefinition: {fileID: 0} - ShakeDuration: 0.2 - PlayOnAwake: 0 - PermanentShake: 0 - Interruptible: 1 - AlwaysResetTargetValuesAfterShake: 0 - OnlyUseShakerValues: 0 - CooldownBetweenShakes: 0 - Shaking: 0 - ForwardDirection: 1 - TimescaleMode: 0 - ForceOffAfterShake: 1 - IsActive: 0 + m_EditorClassIdentifier: Assembly-CSharp::Cielonos.PostProcessingManager + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: + - Name: speedLinesSm + Entry: 6 + Data: + volume: {fileID: 832575518} --- !u!114 &854376311 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 7487467599901767045, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} @@ -7372,6 +6780,9 @@ MonoBehaviour: - Name: ammoSm Entry: 6 Data: + - Name: overloadSm + Entry: 6 + Data: - Name: viewObjects Entry: 7 Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[Cielonos.MainGame.Characters.Inventory.ItemViewObject, @@ -7398,11 +6809,13 @@ MonoBehaviour: viewObjectData: {fileID: 0} vfxData: {fileID: 0} passiveAttributeData: {fileID: 0} + upgradeData: {fileID: 0} comboData: {fileID: 0} attackData: {fileID: 0} functionData: {fileID: 0} ammoData: {fileID: 0} blockData: {fileID: 0} + overloadData: {fileID: 0} audioContainer: {fileID: 0} feedbackSc: {fileID: 0} --- !u!1 &998525393 @@ -7415,7 +6828,6 @@ GameObject: m_Component: - component: {fileID: 998525395} - component: {fileID: 998525394} - - component: {fileID: 998525396} - component: {fileID: 998525397} - component: {fileID: 998525398} - component: {fileID: 998525399} @@ -7471,31 +6883,6 @@ Transform: - {fileID: 760976747} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &998525396 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 998525393} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9618a231db412d44933c30e2f9843c2, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::Cielonos.PostProcessingManager - serializationData: - SerializedFormat: 2 - SerializedBytes: - ReferencedUnityObjects: [] - SerializedBytesString: - Prefab: {fileID: 0} - PrefabModificationsReferencedUnityObjects: [] - PrefabModifications: [] - SerializationNodes: - - Name: speedLinesSm - Entry: 6 - Data: - volume: {fileID: 832575518} --- !u!114 &998525397 MonoBehaviour: m_ObjectHideFlags: 0 @@ -7625,6 +7012,109 @@ Transform: - {fileID: 2145101577} m_Father: {fileID: 5725951074007210658} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1014405206 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1014405207} + - component: {fileID: 1014405208} + m_Layer: 6 + m_Name: Overload Battery + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1014405207 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1014405206} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 158519376} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1014405208 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1014405206} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac011093fb4cf5849942d64e342ea931, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Characters.Inventory.Collections.OverloadBattery + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: + - Name: passiveAttributeSm + Entry: 6 + Data: + - Name: comboSm + Entry: 6 + Data: + - Name: functionSm + Entry: 6 + Data: + - Name: ammoSm + Entry: 6 + Data: + - Name: overloadSm + Entry: 6 + Data: + - Name: viewObjects + Entry: 7 + Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[Cielonos.MainGame.Characters.Inventory.ItemViewObject, + Assembly-CSharp]], mscorlib + - Name: comparer + Entry: 7 + Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.String, + mscorlib]], mscorlib + - Name: + Entry: 8 + Data: + - Name: + Entry: 12 + Data: 0 + - Name: + Entry: 13 + Data: + - Name: + Entry: 8 + Data: + fullBodyFuncAnims: {fileID: 0} + upperBodyFuncAnims: {fileID: 0} + contentData: {fileID: 0} + viewObjectData: {fileID: 0} + vfxData: {fileID: 0} + passiveAttributeData: {fileID: 11400000, guid: 52ce17250c63e1149ab0071955e5af2a, type: 2} + upgradeData: {fileID: 0} + comboData: {fileID: 0} + attackData: {fileID: 0} + functionData: {fileID: 0} + ammoData: {fileID: 0} + blockData: {fileID: 0} + overloadData: {fileID: 11400000, guid: 4973928f40eb66f41add50a963804802, type: 2} + audioContainer: {fileID: 0} + feedbackSc: {fileID: 0} --- !u!114 &1045822799 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 5465493528320292570, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} @@ -9127,23 +8617,9 @@ MonoBehaviour: m_GameObject: {fileID: 1254208524} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 566c8a9b128b19f4ba1d4bf2cfb7b7f0, type: 3} + m_Script: {fileID: 11500000, guid: 33bd71b84e3b907468514ad946229fbc, type: 3} m_Name: - m_EditorClassIdentifier: Assembly-CSharp::MoreMountains.FeedbacksForThirdParty.Cielonos.CITimeScaleShaker - ChannelMode: 0 - Channel: 0 - MMChannelDefinition: {fileID: 0} - ShakeDuration: 0.2 - PlayOnAwake: 0 - PermanentShake: 0 - Interruptible: 1 - AlwaysResetTargetValuesAfterShake: 0 - OnlyUseShakerValues: 0 - CooldownBetweenShakes: 0 - Shaking: 0 - ForwardDirection: 1 - TimescaleMode: 0 - ActiveShakesCount: 0 + m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Effects.Feedback.TimeScaleShaker --- !u!1 &1274385443 GameObject: m_ObjectHideFlags: 0 @@ -9479,7 +8955,7 @@ MonoBehaviour: Entry: 8 Data: owner: {fileID: 182015119725450039} - feedbackDataCollection: {fileID: 0} + feedbackDataCollection: {fileID: 11400000, guid: 97907d6e971a2dd41b795615cb499f34, type: 2} --- !u!1 &1318779471 GameObject: m_ObjectHideFlags: 0 @@ -11659,9 +11135,18 @@ MonoBehaviour: - Name: targetValue Entry: 4 Data: 1 + - Name: advancedSettings + Entry: 5 + Data: false - Name: lerpSpeed Entry: 4 Data: 0.2 + - Name: increaseSpeed + Entry: 4 + Data: 0 + - Name: decreaseSpeed + Entry: 4 + Data: 0 - Name: Entry: 8 Data: @@ -12014,6 +11499,9 @@ MonoBehaviour: - Name: ammoSm Entry: 6 Data: + - Name: overloadSm + Entry: 6 + Data: - Name: viewObjects Entry: 7 Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[Cielonos.MainGame.Characters.Inventory.ItemViewObject, @@ -12043,11 +11531,13 @@ MonoBehaviour: viewObjectData: {fileID: 0} vfxData: {fileID: 11400000, guid: 6c6645f46dfba3b44b7322b3e249d43a, type: 2} passiveAttributeData: {fileID: 0} + upgradeData: {fileID: 0} comboData: {fileID: 11400000, guid: d670aae91f2ff064291996c76f729195, type: 2} attackData: {fileID: 11400000, guid: b6e0da758fa16b44292b4cea55a35aa7, type: 2} functionData: {fileID: 11400000, guid: d2cfffdd8409a054aa230a5d92b425a5, type: 2} ammoData: {fileID: 11400000, guid: d2047c8c9fc42d8409d25f6bd9b8d27b, type: 2} blockData: {fileID: 0} + overloadData: {fileID: 0} audioContainer: {fileID: 1670397772} feedbackSc: {fileID: 1670397773} baseAnimationGroup: {fileID: 11400000, guid: b8c25dc9c41a10544a282e4403b2f657, type: 2} @@ -12249,6 +11739,109 @@ MonoBehaviour: Data: owner: {fileID: 1670397771} feedbackDataCollection: {fileID: 0} +--- !u!1 &1692046751 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1692046752} + - component: {fileID: 1692046753} + m_Layer: 6 + m_Name: Spatial Warp Caliper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1692046752 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1692046751} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 158519376} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1692046753 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1692046751} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31abb4a87db9f6340b3cd13cfd7ffb54, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Characters.Inventory.Collections.SpatialWarpCaliper + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: + - Name: passiveAttributeSm + Entry: 6 + Data: + - Name: comboSm + Entry: 6 + Data: + - Name: functionSm + Entry: 6 + Data: + - Name: ammoSm + Entry: 6 + Data: + - Name: overloadSm + Entry: 6 + Data: + - Name: viewObjects + Entry: 7 + Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[Cielonos.MainGame.Characters.Inventory.ItemViewObject, + Assembly-CSharp]], mscorlib + - Name: comparer + Entry: 7 + Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.String, + mscorlib]], mscorlib + - Name: + Entry: 8 + Data: + - Name: + Entry: 12 + Data: 0 + - Name: + Entry: 13 + Data: + - Name: + Entry: 8 + Data: + fullBodyFuncAnims: {fileID: 0} + upperBodyFuncAnims: {fileID: 0} + contentData: {fileID: 0} + viewObjectData: {fileID: 0} + vfxData: {fileID: 0} + passiveAttributeData: {fileID: 11400000, guid: 3d14fcbfcd836904bb427f775387bcdc, type: 2} + upgradeData: {fileID: 11400000, guid: dc4bf0c7e98ee594cad8c9f83ec5b028, type: 2} + comboData: {fileID: 0} + attackData: {fileID: 0} + functionData: {fileID: 0} + ammoData: {fileID: 0} + blockData: {fileID: 0} + overloadData: {fileID: 0} + audioContainer: {fileID: 0} + feedbackSc: {fileID: 0} --- !u!114 &1698542563 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 4424538656032439231, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} @@ -12329,6 +11922,7 @@ MonoBehaviour: minimapProfile: {fileID: 0} currentMinimapProfile: {fileID: 0} minimapMode: 1 + minimapShape: 0 minimapScale: 0.25 minimapRadius: 75 useMinimapScaling: 1 @@ -14214,6 +13808,9 @@ MonoBehaviour: - Name: ammoSm Entry: 6 Data: + - Name: overloadSm + Entry: 6 + Data: - Name: viewObjects Entry: 7 Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[Cielonos.MainGame.Characters.Inventory.ItemViewObject, @@ -14243,11 +13840,13 @@ MonoBehaviour: viewObjectData: {fileID: 0} vfxData: {fileID: 0} passiveAttributeData: {fileID: 0} + upgradeData: {fileID: 0} comboData: {fileID: 0} attackData: {fileID: 0} functionData: {fileID: 11400000, guid: be4329f6847a654408429316e9d9dcc4, type: 2} ammoData: {fileID: 0} blockData: {fileID: 0} + overloadData: {fileID: 0} audioContainer: {fileID: 1892599106} feedbackSc: {fileID: 0} activeAttributeData: {fileID: 0} @@ -14456,6 +14055,9 @@ MonoBehaviour: - Name: ammoSm Entry: 6 Data: + - Name: overloadSm + Entry: 6 + Data: - Name: viewObjects Entry: 7 Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[Cielonos.MainGame.Characters.Inventory.ItemViewObject, @@ -14482,11 +14084,13 @@ MonoBehaviour: viewObjectData: {fileID: 0} vfxData: {fileID: 0} passiveAttributeData: {fileID: 11400000, guid: c31cb0ab563038842a870f0f7456bbf9, type: 2} + upgradeData: {fileID: 0} comboData: {fileID: 0} attackData: {fileID: 0} functionData: {fileID: 0} ammoData: {fileID: 0} blockData: {fileID: 0} + overloadData: {fileID: 0} audioContainer: {fileID: 0} feedbackSc: {fileID: 0} --- !u!1 &1961041794 @@ -15589,9 +15193,18 @@ MonoBehaviour: - Name: targetValue Entry: 4 Data: 1 + - Name: advancedSettings + Entry: 5 + Data: false - Name: lerpSpeed Entry: 4 Data: 0.2 + - Name: increaseSpeed + Entry: 4 + Data: 0 + - Name: decreaseSpeed + Entry: 4 + Data: 0 - Name: Entry: 8 Data: @@ -15669,6 +15282,9 @@ MonoBehaviour: - Name: ammoSm Entry: 6 Data: + - Name: overloadSm + Entry: 6 + Data: - Name: viewObjects Entry: 7 Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[Cielonos.MainGame.Characters.Inventory.ItemViewObject, @@ -15695,11 +15311,13 @@ MonoBehaviour: viewObjectData: {fileID: 0} vfxData: {fileID: 0} passiveAttributeData: {fileID: 11400000, guid: eb282960b326e174786c60ec083c3507, type: 2} + upgradeData: {fileID: 0} comboData: {fileID: 0} attackData: {fileID: 0} functionData: {fileID: 0} ammoData: {fileID: 0} blockData: {fileID: 0} + overloadData: {fileID: 0} audioContainer: {fileID: 0} feedbackSc: {fileID: 0} --- !u!1 &2116165953 @@ -16193,6 +15811,9 @@ MonoBehaviour: - Name: ammoSm Entry: 6 Data: + - Name: overloadSm + Entry: 6 + Data: - Name: viewObjects Entry: 7 Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[Cielonos.MainGame.Characters.Inventory.ItemViewObject, @@ -16219,11 +15840,13 @@ MonoBehaviour: viewObjectData: {fileID: 0} vfxData: {fileID: 0} passiveAttributeData: {fileID: 0} + upgradeData: {fileID: 0} comboData: {fileID: 0} attackData: {fileID: 0} functionData: {fileID: 0} ammoData: {fileID: 0} blockData: {fileID: 0} + overloadData: {fileID: 0} audioContainer: {fileID: 0} feedbackSc: {fileID: 0} stackAmount: 1 @@ -16307,6 +15930,7 @@ GameObject: - component: {fileID: 114846219772278504} - component: {fileID: 114518646791322430} - component: {fileID: 114638190079485614} + - component: {fileID: 224969630274726443} m_Layer: 5 m_Name: Degrees Text m_TagString: Untagged @@ -18342,6 +17966,19 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 30, y: 12} m_Pivot: {x: 0.5, y: 1} +--- !u!114 &224969630274726443 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1116056463379326} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5ecc4b41a1574f739f1ddc6af9d0b0fe, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::SickscoreGames.HUDNavigationSystem.HNSTextReference + _textComponent: {fileID: 114846219772278504} --- !u!1 &234003505249246408 GameObject: m_ObjectHideFlags: 0 @@ -27135,8 +26772,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4058222402463592529} serializedVersion: 2 - m_LocalRotation: {x: 0.008332466, y: -1.6871813e-15, z: 1.541708e-17, w: 0.9999653} - m_LocalPosition: {x: 0, y: 2.3, z: -12} + m_LocalRotation: {x: 0.0000000018620641, y: -5.7210935e-17, z: -7.776564e-19, w: 1} + m_LocalPosition: {x: 0, y: 2.1, z: -13.5} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -75159,14 +74796,14 @@ GameObject: - component: {fileID: 5558511465595695724} - component: {fileID: 6231509679067270568} - component: {fileID: 6231509679067270569} - - component: {fileID: 6231509679067270565} - - component: {fileID: 6231509679067270567} - component: {fileID: 3918118937694295607} + - component: {fileID: 6231509679067270567} + - component: {fileID: 6231509679067270565} - component: {fileID: 6231509679067270570} - - component: {fileID: 6231509679067270566} - - component: {fileID: 6231509679067270563} - - component: {fileID: 6231509679067270562} - - component: {fileID: 6231509679067270564} + - component: {fileID: 6231509679067270572} + - component: {fileID: 6231509679067270571} + - component: {fileID: 6231509679067270573} + - component: {fileID: 6231509679067270574} m_Layer: 6 m_Name: FreeLookCamera m_TagString: Untagged @@ -76655,109 +76292,71 @@ PrefabInstance: objectReference: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} propertyPath: serializationData.PrefabModifications.Array.size - value: 21 - objectReference: {fileID: 0} - - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[0]' - value: '"path":"feedbacks","add_keys":{"$id":0,"$type":"System.Object[], mscorlib","$rlength":5,"$rcontent":[{"$id":1,"$type":"System.String, - mscorlib","DisruptionAttack"},{"$id":2,"$type":"System.String, mscorlib","MultiNormalHit"},$iref:1,$iref:2,{"$id":3,"$type":"System.String, - mscorlib","SingleNormalHit"}]},"remove_keys":{"$id":4,"$type":"System.Object[], - mscorlib","$rlength":1,"$rcontent":[{"$id":5,"$type":"System.String, mscorlib","NormalHit"}]}' - objectReference: {fileID: 0} - - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[1]' - value: '"path":"feedbacks.{\"DisruptHit\"}.feedback","value":$eref:0' - objectReference: {fileID: 0} - - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[2]' - value: '"path":"feedbacks.{\"DisruptionAttack\"}","value":{"$id":0,"$type":"SLSUtilities.FeelAssistance.FeedbackUnit, - SLSUtilities","feedback":$eref:1,"action":null,"canPlay":false}' - objectReference: {fileID: 0} - - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[3]' - value: '"path":"feedbacks.{\"DisruptionAttack\"}.feedback","value":$eref:1' - objectReference: {fileID: 0} - - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[4]' - value: '"path":"feedbacks.{\"FastHitFinal\"}.feedback","value":$eref:2' - objectReference: {fileID: 0} - - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[5]' - value: '"path":"feedbacks.{\"FastHitFirsts\"}.feedback","value":$eref:3' - objectReference: {fileID: 0} - - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[6]' - value: '"path":"feedbacks.{\"HeavyHitFirst\"}.feedback","value":$eref:4' - objectReference: {fileID: 0} - - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[7]' - value: '"path":"feedbacks.{\"HeavyHitFollows\"}.feedback","value":$eref:5' - objectReference: {fileID: 0} - - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[8]' - value: '"path":"feedbacks.{\"HeavySwing\"}.feedback","value":$eref:6' - objectReference: {fileID: 0} - - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[9]' - value: '"path":"feedbacks.{\"MultiNormalHit\"}","value":{"$id":0,"$type":"SLSUtilities.FeelAssistance.FeedbackUnit, - SLSUtilities","feedback":$eref:7,"action":null,"canPlay":false}' - objectReference: {fileID: 0} - - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: serializationData.ReferencedUnityObjects.Array.size value: 15 objectReference: {fileID: 0} - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[10]' + propertyPath: 'serializationData.PrefabModifications.Array.data[0]' + value: '"path":"feedbacks.{\"DisruptHit\"}.feedback","value":$eref:0' + objectReference: {fileID: 0} + - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} + propertyPath: 'serializationData.PrefabModifications.Array.data[1]' + value: '"path":"feedbacks.{\"DisruptionAttack\"}.feedback","value":$eref:1' + objectReference: {fileID: 0} + - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} + propertyPath: 'serializationData.PrefabModifications.Array.data[2]' + value: '"path":"feedbacks.{\"FastHitFinal\"}.feedback","value":$eref:2' + objectReference: {fileID: 0} + - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} + propertyPath: 'serializationData.PrefabModifications.Array.data[3]' + value: '"path":"feedbacks.{\"FastHitFirsts\"}.feedback","value":$eref:3' + objectReference: {fileID: 0} + - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} + propertyPath: 'serializationData.PrefabModifications.Array.data[4]' + value: '"path":"feedbacks.{\"HeavyHitFirst\"}.feedback","value":$eref:4' + objectReference: {fileID: 0} + - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} + propertyPath: 'serializationData.PrefabModifications.Array.data[5]' + value: '"path":"feedbacks.{\"HeavyHitFollows\"}.feedback","value":$eref:5' + objectReference: {fileID: 0} + - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} + propertyPath: 'serializationData.PrefabModifications.Array.data[6]' + value: '"path":"feedbacks.{\"HeavySwing\"}.feedback","value":$eref:6' + objectReference: {fileID: 0} + - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} + propertyPath: 'serializationData.PrefabModifications.Array.data[7]' value: '"path":"feedbacks.{\"MultiNormalHit\"}.feedback","value":$eref:7' objectReference: {fileID: 0} - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[11]' + propertyPath: 'serializationData.PrefabModifications.Array.data[8]' value: '"path":"feedbacks.{\"NormalBlock\"}.feedback","value":$eref:8' objectReference: {fileID: 0} - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[12]' + propertyPath: 'serializationData.PrefabModifications.Array.data[9]' value: '"path":"feedbacks.{\"NormalBlockLeft\"}.feedback","value":$eref:9' objectReference: {fileID: 0} - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[13]' + propertyPath: 'serializationData.PrefabModifications.Array.data[10]' value: '"path":"feedbacks.{\"NormalBlockRight\"}.feedback","value":$eref:10' objectReference: {fileID: 0} - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[14]' + propertyPath: 'serializationData.PrefabModifications.Array.data[11]' value: '"path":"feedbacks.{\"NormalSwing\"}.feedback","value":$eref:11' objectReference: {fileID: 0} - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[15]' + propertyPath: 'serializationData.PrefabModifications.Array.data[12]' value: '"path":"feedbacks.{\"ParryHit\"}.feedback","value":$eref:12' objectReference: {fileID: 0} - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[16]' + propertyPath: 'serializationData.PrefabModifications.Array.data[13]' value: '"path":"feedbacks.{\"PerfectBlock\"}.feedback","value":$eref:13' objectReference: {fileID: 0} - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[17]' + propertyPath: 'serializationData.PrefabModifications.Array.data[14]' value: '"path":"feedbacks.{\"PerfectBlockLeft\"}.feedback","value":$eref:14' objectReference: {fileID: 0} - - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[18]' - value: '"path":"feedbacks.{\"PerfectBlockRight\"}.feedback","value":$eref:15' - objectReference: {fileID: 0} - - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[19]' - value: '"path":"feedbacks.{\"SingleNormalHit\"}","value":{"$id":0,"$type":"SLSUtilities.FeelAssistance.FeedbackUnit, - SLSUtilities","feedback":$eref:16,"action":null,"canPlay":false}' - objectReference: {fileID: 0} - - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModifications.Array.data[20]' - value: '"path":"feedbacks.{\"SingleNormalHit\"}.feedback","value":$eref:16' - objectReference: {fileID: 0} - - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.ReferencedUnityObjects.Array.data[0]' - value: - objectReference: {fileID: 668130337} - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} propertyPath: serializationData.PrefabModificationsReferencedUnityObjects.Array.size - value: 17 + value: 15 objectReference: {fileID: 0} - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} propertyPath: 'serializationData.PrefabModificationsReferencedUnityObjects.Array.data[0]' @@ -76819,14 +76418,6 @@ PrefabInstance: propertyPath: 'serializationData.PrefabModificationsReferencedUnityObjects.Array.data[14]' value: objectReference: {fileID: 1418704653} - - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModificationsReferencedUnityObjects.Array.data[15]' - value: - objectReference: {fileID: 620526553} - - target: {fileID: 5511732747931227639, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} - propertyPath: 'serializationData.PrefabModificationsReferencedUnityObjects.Array.data[16]' - value: - objectReference: {fileID: 668130337} - target: {fileID: 5888411504879968025, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} propertyPath: m_Name value: Polychrome @@ -76835,6 +76426,10 @@ PrefabInstance: propertyPath: managedReferences[563130779319140494].Active value: 0 objectReference: {fileID: 0} + - target: {fileID: 6348257420914855034, guid: 3f58665638294ac4bae72c4b92c698d7, type: 3} + propertyPath: managedReferences[563130779319140494].GlobalOverrideDuration + value: 0 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -81499,154 +81094,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &6231509679067270562 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4058222402463592529} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d68394ff0deaba948873307b5fe5a801, type: 3} - m_Name: - m_EditorClassIdentifier: MoreMountains.Tools::MoreMountains.FeedbacksForThirdParty.MMCinemachineFieldOfViewShaker - ChannelMode: 0 - Channel: 0 - MMChannelDefinition: {fileID: 0} - ShakeDuration: 0.5 - PlayOnAwake: 0 - PermanentShake: 0 - Interruptible: 1 - AlwaysResetTargetValuesAfterShake: 0 - OnlyUseShakerValues: 0 - CooldownBetweenShakes: 0 - Shaking: 0 - ForwardDirection: 1 - TimescaleMode: 0 - RelativeFieldOfView: 0 - ShakeFieldOfView: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.5 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - RemapFieldOfViewZero: 60 - RemapFieldOfViewOne: 120 ---- !u!114 &6231509679067270563 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4058222402463592529} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a13116adea7514048aed172a893ed137, type: 3} - m_Name: - m_EditorClassIdentifier: MoreMountains.Tools::MoreMountains.FeedbacksForThirdParty.MMCinemachineRotationShaker - ChannelMode: 0 - Channel: 0 - MMChannelDefinition: {fileID: 0} - ShakeDuration: 0.2 - PlayOnAwake: 0 - PermanentShake: 0 - Interruptible: 1 - AlwaysResetTargetValuesAfterShake: 0 - OnlyUseShakerValues: 0 - CooldownBetweenShakes: 0 - Shaking: 0 - ForwardDirection: 1 - TimescaleMode: 0 - ActiveShakesCount: 0 ---- !u!114 &6231509679067270564 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4058222402463592529} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ed0f8ba8298344842a1de7e54165b68e, type: 3} - m_Name: - m_EditorClassIdentifier: MoreMountains.Tools::MoreMountains.FeedbacksForThirdParty.MMCinemachineCameraDistanceShaker - ChannelMode: 0 - Channel: 0 - MMChannelDefinition: {fileID: 0} - ShakeDuration: 0.5 - PlayOnAwake: 0 - PermanentShake: 0 - Interruptible: 1 - AlwaysResetTargetValuesAfterShake: 0 - OnlyUseShakerValues: 0 - CooldownBetweenShakes: 0 - Shaking: 0 - ForwardDirection: 1 - TimescaleMode: 0 - RelativeDistance: 1 - ShakeDistance: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.5 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - RemapDistanceZero: 0 - RemapDistanceOne: 5 --- !u!114 &6231509679067270565 MonoBehaviour: m_ObjectHideFlags: 0 @@ -81662,32 +81109,6 @@ MonoBehaviour: Offset: {x: 0, y: 0, z: 0} ApplyAfter: 0 PreserveComposition: 1 ---- !u!114 &6231509679067270566 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4058222402463592529} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a6732be1ae6977e40bb682d19bca778e, type: 3} - m_Name: - m_EditorClassIdentifier: MoreMountains.Tools::MoreMountains.FeedbacksForThirdParty.MMCinemachinePositionShaker - ChannelMode: 0 - Channel: 0 - MMChannelDefinition: {fileID: 0} - ShakeDuration: 0.2 - PlayOnAwake: 0 - PermanentShake: 0 - Interruptible: 1 - AlwaysResetTargetValuesAfterShake: 0 - OnlyUseShakerValues: 0 - CooldownBetweenShakes: 0 - Shaking: 0 - ForwardDirection: 1 - TimescaleMode: 0 - ActiveShakesCount: 0 --- !u!114 &6231509679067270567 MonoBehaviour: m_ObjectHideFlags: 0 @@ -81752,7 +81173,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 3b5d7c088409d9a40b7b09aa707777f8, type: 3} m_Name: m_EditorClassIdentifier: Unity.Cinemachine::Unity.Cinemachine.CinemachineOrbitalFollow - TargetOffset: {x: 0, y: 0.8, z: 0} + TargetOffset: {x: 0, y: 0.6, z: 0} TrackerSettings: BindingMode: 4 PositionDamping: {x: 0.1, y: 0.2, z: 0.1} @@ -81760,7 +81181,7 @@ MonoBehaviour: RotationDamping: {x: 0.1, y: 0.1, z: 0.1} QuaternionDamping: 1 OrbitStyle: 0 - Radius: 12 + Radius: 13.5 Orbits: Top: Radius: 2 @@ -81845,6 +81266,59 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: Assembly-CSharp::SLSUtilities.Cinemachine.CinemachineRotationOffset rotationOffset: {x: 0, y: 0, z: 0} +--- !u!114 &6231509679067270571 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4058222402463592529} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5c54de88d6cf4304180fbd641401b1b6, type: 3} + m_Name: + m_EditorClassIdentifier: SLSUtilities.Cinemachine::SLSUtilities.Cinemachine.CinemachineRotationShaker +--- !u!114 &6231509679067270572 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4058222402463592529} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 08a7d10a0525af448902b60235ecf4fc, type: 3} + m_Name: + m_EditorClassIdentifier: SLSUtilities.Cinemachine::SLSUtilities.Cinemachine.CinemachinePositionShaker +--- !u!114 &6231509679067270573 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4058222402463592529} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dbbfef1d7cc479c47837ff154e4a7c5e, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Effects.Feedback.CameraFovShaker +--- !u!114 &6231509679067270574 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4058222402463592529} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.Cinemachine::Unity.Cinemachine.CinemachineBasicMultiChannelPerlin + NoiseProfile: {fileID: 11400000, guid: 1b4791529215e1b41a924b500cf4cc86, type: 2} + PivotOffset: {x: 0, y: 0, z: 0} + AmplitudeGain: 1 + FrequencyGain: 1 + m_NoiseOffsets: {x: 374.722, y: 193.08768, z: -808.90564} --- !u!4 &6253149267282209794 Transform: m_ObjectHideFlags: 0 @@ -84137,8 +83611,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2317150787485973026} serializedVersion: 2 - m_LocalRotation: {x: 0.008332467, y: -1.6871701e-15, z: 1.4058778e-17, w: 0.9999653} - m_LocalPosition: {x: 0, y: 2.3, z: -12} + m_LocalRotation: {x: 0.0000000018620641, y: -5.7210935e-17, z: 1.0653043e-25, w: 1} + m_LocalPosition: {x: 0, y: 2.1, z: -13.5} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: @@ -86484,6 +85958,8 @@ MonoBehaviour: - {fileID: 1943162480} - {fileID: 2096518161} - {fileID: 978176017} + - {fileID: 1014405208} + - {fileID: 1692046753} - {fileID: 2145101578} SerializedBytesString: Prefab: {fileID: 0} @@ -86540,7 +86016,7 @@ MonoBehaviour: Assembly-CSharp]], mscorlib - Name: Entry: 12 - Data: 3 + Data: 5 - Name: Entry: 10 Data: 5 @@ -86550,6 +86026,12 @@ MonoBehaviour: - Name: Entry: 10 Data: 7 + - Name: + Entry: 10 + Data: 8 + - Name: + Entry: 10 + Data: 9 - Name: Entry: 13 Data: @@ -86565,7 +86047,7 @@ MonoBehaviour: Data: 1 - Name: Entry: 10 - Data: 8 + Data: 10 - Name: Entry: 13 Data: diff --git a/Assets/Scripts/Generated/CharacterAttribute.cs b/Assets/Scripts/Generated/CharacterAttribute.cs index 72ca49ecd..58e0d7674 100644 --- a/Assets/Scripts/Generated/CharacterAttribute.cs +++ b/Assets/Scripts/Generated/CharacterAttribute.cs @@ -20,29 +20,39 @@ namespace Cielonos.MainGame public const string EnergyRegeneration = "EnergyRegeneration"; /// 移动速度 public const string MovementSpeed = "MovementSpeed"; + /// 攻击速度 + public const string AttackSpeed = "AttackSpeed"; + /// (单次)冲刺距离 + public const string DashLength = "DashLength"; + /// 后撤闪避距离 + public const string DodgeLength = "DodgeLength"; /// 转身速度(角度,-1为瞬间转身) public const string RotationSpeed = "RotationSpeed"; /// 跳跃力 public const string JumpForce = "JumpForce"; - /// 最终造成伤害倍率 + /// 攻击伤害倍率(税前) + public const string AttackDamageMultiplier = "AttackDamageMultiplier"; + /// 近战攻击的范围,远程攻击的射程 + public const string AttackRangeMultiplier = "AttackRangeMultiplier"; + /// 最终造成伤害倍率(税后) public const string FinalDamageDealtMultiplier = "FinalDamageDealtMultiplier"; - /// 造成动能伤害倍率 + /// 造成动能伤害倍率(税后) public const string KineticsDamageDealtMultiplier = "KineticsDamageDealtMultiplier"; - /// 造成能量伤害倍率 + /// 造成能量伤害倍率(税后) public const string EnergyDamageDealtMultiplier = "EnergyDamageDealtMultiplier"; - /// 造成爆炸伤害倍率 + /// 造成爆炸伤害倍率(税后) public const string ExplosionDamageDealtMultiplier = "ExplosionDamageDealtMultiplier"; - /// 造成魔法伤害倍率 + /// 造成魔法伤害倍率(税后) public const string MagicDamageDealtMultiplier = "MagicDamageDealtMultiplier"; - /// 最终受到伤害倍率 + /// 最终受到伤害倍率(税后) public const string FinalDamageReceivedMultiplier = "FinalDamageReceivedMultiplier"; - /// 受到动能伤害倍率 + /// 受到动能伤害倍率(税后) public const string KineticsDamageReceivedMultiplier = "KineticsDamageReceivedMultiplier"; - /// 受到能量伤害倍率 + /// 受到能量伤害倍率(税后) public const string EnergyDamageReceivedMultiplier = "EnergyDamageReceivedMultiplier"; - /// 受到爆炸伤害倍率 + /// 受到爆炸伤害倍率(税后) public const string ExplosionDamageReceivedMultiplier = "ExplosionDamageReceivedMultiplier"; - /// 受到魔法伤害倍率 + /// 受到魔法伤害倍率(税后) public const string MagicDamageReceivedMultiplier = "MagicDamageReceivedMultiplier"; /// 反弹投射物概率(任何时候) public const string ProjectileDeflectionProbability = "ProjectileDeflectionProbability"; @@ -54,5 +64,15 @@ namespace Cielonos.MainGame public const string CriticalAttackProbability = "CriticalAttackProbability"; /// 暴击伤害加成 public const string CriticalAttackDamageAmplifier = "CriticalAttackDamageAmplifier"; + /// 造成负面效果时间倍率 + public const string NegativeEffectDealtDurationMultiplier = "NegativeEffectDealtDurationMultiplier"; + /// 受到负面效果时间倍率 + public const string NegativeEffectReceivedDurationMultiplier = "NegativeEffectReceivedDurationMultiplier"; + /// 造成正面效果时间倍率 + public const string PositiveEffectDealtDurationMultiplier = "PositiveEffectDealtDurationMultiplier"; + /// 受到正面效果时间倍率 + public const string PositiveEffectReceivedDurationMultiplier = "PositiveEffectReceivedDurationMultiplier"; + /// 过载能量转换率 + public const string OverloadConversionRate = "OverloadConversionRate"; } } diff --git a/Assets/Scripts/MainGame/AttackArea/AttackAreaBase.cs b/Assets/Scripts/MainGame/AttackArea/AttackAreaBase.cs index 18a6b1d7e..735ab8fbe 100644 --- a/Assets/Scripts/MainGame/AttackArea/AttackAreaBase.cs +++ b/Assets/Scripts/MainGame/AttackArea/AttackAreaBase.cs @@ -52,7 +52,7 @@ namespace Cielonos.MainGame return Initialize(creator, null, targetFractions); } - public T Initialize(CharacterBase creator, ItemBase itemSource, params Fraction[] targetFractions) where T : AttackAreaBase + public virtual T Initialize(CharacterBase creator, ItemBase itemSource, params Fraction[] targetFractions) where T : AttackAreaBase { this.isEnabling = true; this.creator = creator; @@ -390,6 +390,13 @@ namespace Cielonos.MainGame { //最终伤害结算 target.TakeDamage(ref attackResult); + + Attack.AttackType attackType = attackResult.attackValue.attackType; + bool isCritical = attackResult.attackValue.isCritical; + MainGameBaseCollection.Instance.DamageNumber(attackType, isCritical) + .Spawn(attackResult.hitPosition, attackResult.finalDamage, transform) + .SetSpamGroup(attackResult.spamGroupID); + creator.eventSm.onFinishAttack.Invoke(this, target, attackResult); if (attackResult.finalDamage > 0) { diff --git a/Assets/Scripts/MainGame/AttackArea/AttackInfo/AttackInfo.cs b/Assets/Scripts/MainGame/AttackArea/AttackInfo/AttackInfo.cs index 707614622..47f38b03a 100644 --- a/Assets/Scripts/MainGame/AttackArea/AttackInfo/AttackInfo.cs +++ b/Assets/Scripts/MainGame/AttackArea/AttackInfo/AttackInfo.cs @@ -16,8 +16,8 @@ namespace Cielonos.MainGame Kinetics = 2, Explosion = 3, Magic = 4, - Elemental = 5, - Pure = 6 + Pure = 5, + Blank = 6, // 代表不具有特定攻击类型的伤害,例如持续伤害、反伤等 } public static string AttackTypeToString(this AttackType attackType) @@ -28,8 +28,8 @@ namespace Cielonos.MainGame AttackType.Kinetics => "Kinetics", AttackType.Explosion => "Explosion", AttackType.Magic => "Magic", - AttackType.Elemental => "Elemental", AttackType.Pure => "Pure", + AttackType.Blank => "Blank", _ => throw new ArgumentOutOfRangeException(nameof(attackType), attackType, null) }; } @@ -88,12 +88,14 @@ namespace Cielonos.MainGame public Attack.AttackType attackType; public BreakthroughType breakthroughType; public DisruptionType disruptionType; + public List tags; public float damageMultiplier = 1f; public float additionalFlatDamage = 0f; public AttackValue(CharacterBase attacker, bool isCritical, float damage, Attack.AttackType attackType, - DisruptionType disruptionType = DisruptionType.None, BreakthroughType breakthroughType = BreakthroughType.None) + DisruptionType disruptionType = DisruptionType.None, BreakthroughType breakthroughType = BreakthroughType.None, + List tags = null) { this.attacker = attacker; this.isCritical = isCritical; @@ -101,11 +103,12 @@ namespace Cielonos.MainGame this.attackType = attackType; this.disruptionType = disruptionType; this.breakthroughType = breakthroughType; + this.tags = tags != null ? new List(tags) : new List(); } public AttackValue Clone() { - AttackValue cloned = new AttackValue(attacker, isCritical, damage, attackType, disruptionType, breakthroughType); + AttackValue cloned = new AttackValue(attacker, isCritical, damage, attackType, disruptionType, breakthroughType, tags); cloned.damageMultiplier = this.damageMultiplier; cloned.additionalFlatDamage = this.additionalFlatDamage; return cloned; diff --git a/Assets/Scripts/MainGame/AttackArea/Collection/NormalArea.cs b/Assets/Scripts/MainGame/AttackArea/Collection/NormalArea.cs index abf285b70..90db264a3 100644 --- a/Assets/Scripts/MainGame/AttackArea/Collection/NormalArea.cs +++ b/Assets/Scripts/MainGame/AttackArea/Collection/NormalArea.cs @@ -1,4 +1,5 @@ using Cielonos.MainGame.Characters; +using Cielonos.MainGame.Characters.Inventory; using SLSUtilities.General; using UnityEngine; @@ -6,6 +7,13 @@ namespace Cielonos.MainGame { public partial class NormalArea : AttackAreaBase { + public override T Initialize(CharacterBase creator, ItemBase itemSource, params Fraction[] targetFractions) + { + T area = base.Initialize(creator, itemSource, targetFractions); + topParent.transform.localScale *= creator.attributeSm[CharacterAttribute.AttackRangeMultiplier]; + return area; + } + private void OnTriggerStay(Collider other) { HitCharacter(other, default); diff --git a/Assets/Scripts/MainGame/AttackArea/Submodules/ReactionSubmodule.cs b/Assets/Scripts/MainGame/AttackArea/Submodules/ReactionSubmodule.cs index 9b26d4ed8..34aadeda2 100644 --- a/Assets/Scripts/MainGame/AttackArea/Submodules/ReactionSubmodule.cs +++ b/Assets/Scripts/MainGame/AttackArea/Submodules/ReactionSubmodule.cs @@ -148,12 +148,18 @@ namespace Cielonos.MainGame firstDodgeSource = characterDodgeSm.dodgeSources.Find(source => source.isDuringPerfectDodge); firstDodgeSource.PerfectDodge(); perfectDodgeAction?.Invoke(dodger); + + // 触发完美闪避成功事件 + dodger.eventSm.onPerfectDodgeSuccess.Invoke(owner, firstDodgeSource); } else { firstDodgeSource = characterDodgeSm.dodgeSources[0]; firstDodgeSource.NormalDodge(); normalDodgeAction?.Invoke(dodger); + + // 触发普通闪避成功事件 + dodger.eventSm.onNormalDodgeSuccess.Invoke(owner, firstDodgeSource); } return true; diff --git a/Assets/Scripts/MainGame/Base/BuffSystem/BuffSubmodules.cs b/Assets/Scripts/MainGame/Base/BuffSystem/BuffSubmodules.cs index d5424448c..44bfc6011 100644 --- a/Assets/Scripts/MainGame/Base/BuffSystem/BuffSubmodules.cs +++ b/Assets/Scripts/MainGame/Base/BuffSystem/BuffSubmodules.cs @@ -203,6 +203,15 @@ namespace Cielonos.MainGame timer -= interval; } } + + public void SetInterval(float interval) + { + this.interval = interval; + if (timer > interval) + { + timer = interval; + } + } } } diff --git a/Assets/Scripts/MainGame/Base/BuffSystem/Inheritors/CharacterBuffs/General/Burn.cs b/Assets/Scripts/MainGame/Base/BuffSystem/Inheritors/CharacterBuffs/General/Burn.cs index b3f86f629..4ff7d659e 100644 --- a/Assets/Scripts/MainGame/Base/BuffSystem/Inheritors/CharacterBuffs/General/Burn.cs +++ b/Assets/Scripts/MainGame/Base/BuffSystem/Inheritors/CharacterBuffs/General/Burn.cs @@ -1,74 +1,74 @@ -using SLSUtilities.WwiseAssistance; -using UnityEngine; - -namespace Cielonos.MainGame.Buffs.Character -{ - public class Burn : CharacterBuffBase - { - private uint existID = AkUnitySoundEngine.AK_INVALID_PLAYING_ID; - - public Burn(int stack = 1, float duration = 10f) - { - Initialize(BuffType.Negative, BuffDispelLevel.Basic); - this.contentSubmodule = new ContentSubmodule(this); - this.timeSubmodule = new TimeSubmodule(this, duration); - this.timeSubmodule.AddIntervalAction(IntervalAction, 1f); - this.unitedStackSubmodule = new UnitedStackSubmodule(this, stack); - } - - public override bool OnBuffApply(out CharacterBuffBase existingBuff) - { - MainGameManager.BaseCollection.InfoText().Spawn(attachedCharacter.centerPoint.position, "Burn"); - - if (FindExistingSameBuff(out existingBuff)) - { - existingBuff.timeSubmodule.PickHigherDuration(this.timeSubmodule); - existingBuff.unitedStackSubmodule.PickHigherStack(this.unitedStackSubmodule); - return false; - } - - return true; - } - - public override void OnAfterFirstApply() - { - base.OnAfterFirstApply(); - attachedCharacter.renderSc.meshEffectUnits["Burn"].EffectOn(0.5f); - AudioManager.Post(AK.EVENTS.BUFF_BURN_APPLY, attachedCharacter.centerPosition); - existID = AudioManager.Post(AK.EVENTS.BUFF_BURN_EXIST, attachedCharacter.centerPosition).playingID; - } - - public override void OnBuffUpdate() - { - timeSubmodule?.Update(Time.deltaTime); - } - - private void IntervalAction() - { - AttackResult result = new AttackResult(sourceCharacter, attachedCharacter, nameof(Burn), attachedCharacter.centerPosition); - result.attackValue = new AttackValue(sourceCharacter, false, 10, Attack.AttackType.Magic); - attachedCharacter.TakeDamage(ref result); - } - - public override void OnBuffRemove() - { - attachedCharacter.renderSc.meshEffectUnits["Burn"].EffectOff(); - AudioManager.Post(AK.EVENTS.BUFF_BURN_REMOVE, attachedCharacter.centerPosition); - AudioManager.Stop(existID); - } - } - - /// - /// Burn Buff 的工厂类,用于在行为树节点中以多态方式创建并配置 Burn 的实例。 - /// - [System.Serializable] - public class BurnFactory : ICharacterBuffFactory - { - [UnityEngine.Tooltip("燃烧初始层数。")] - public int stack = 1; - [UnityEngine.Tooltip("燃烧持续时间(秒)。")] - public float duration = 10f; - - public CharacterBuffBase Create() => new Burn(stack, duration); - } -} \ No newline at end of file +using SLSUtilities.WwiseAssistance; +using UnityEngine; + +namespace Cielonos.MainGame.Buffs.Character +{ + public class Burn : CharacterBuffBase + { + private uint existID = AkUnitySoundEngine.AK_INVALID_PLAYING_ID; + + public Burn(int stack = 1, float duration = 10f) + { + Initialize(BuffType.Negative, BuffDispelLevel.Basic); + this.contentSubmodule = new ContentSubmodule(this); + this.timeSubmodule = new TimeSubmodule(this, duration); + this.timeSubmodule.AddIntervalAction(IntervalAction, 1f); + this.unitedStackSubmodule = new UnitedStackSubmodule(this, stack); + } + + public override bool OnBuffApply(out CharacterBuffBase existingBuff) + { + MainGameManager.BaseCollection.InfoText().Spawn(attachedCharacter.centerPoint.position, "Burn"); + + if (FindExistingSameBuff(out existingBuff)) + { + existingBuff.timeSubmodule.PickHigherDuration(this.timeSubmodule); + existingBuff.unitedStackSubmodule.PickHigherStack(this.unitedStackSubmodule); + return false; + } + + return true; + } + + public override void OnAfterFirstApply() + { + base.OnAfterFirstApply(); + attachedCharacter.renderSc.meshEffectUnits["Burn"].EffectOn(0.5f); + AudioManager.Post(AK.EVENTS.BUFF_BURN_APPLY, attachedCharacter.centerPosition); + existID = AudioManager.Post(AK.EVENTS.BUFF_BURN_EXIST, attachedCharacter.centerPosition).playingID; + } + + public override void OnBuffUpdate() + { + timeSubmodule?.Update(Time.deltaTime); + } + + private void IntervalAction() + { + AttackResult result = new AttackResult(sourceCharacter, attachedCharacter, nameof(Burn), attachedCharacter.centerPosition); + result.attackValue = new AttackValue(sourceCharacter, false, 10, Attack.AttackType.Magic); + attachedCharacter.TakeDamage(ref result); + } + + public override void OnBuffRemove() + { + attachedCharacter.renderSc.meshEffectUnits["Burn"].EffectOff(); + AudioManager.Post(AK.EVENTS.BUFF_BURN_REMOVE, attachedCharacter.centerPosition); + AudioManager.Stop(existID); + } + } + + /// + /// Burn Buff 的工厂类,用于在行为树节点中以多态方式创建并配置 Burn 的实例。 + /// + [System.Serializable] + public class BurnFactory : ICharacterBuffFactory + { + [Tooltip("燃烧初始层数。")] + public int stack = 1; + [Tooltip("燃烧持续时间(秒)。")] + public float duration = 10f; + + public CharacterBuffBase Create() => new Burn(stack, duration); + } +} diff --git a/Assets/Scripts/MainGame/Base/BuffSystem/Inheritors/CharacterBuffs/General/Decay.cs b/Assets/Scripts/MainGame/Base/BuffSystem/Inheritors/CharacterBuffs/General/Decay.cs new file mode 100644 index 000000000..75161b501 --- /dev/null +++ b/Assets/Scripts/MainGame/Base/BuffSystem/Inheritors/CharacterBuffs/General/Decay.cs @@ -0,0 +1,75 @@ +using UnityEngine; + +namespace Cielonos.MainGame.Buffs.Character +{ + public class Decay : CharacterBuffBase + { + public float accumulatedDamage; + public float damageInterval; + public float maximumDamagePerInterval; + + public Decay(int damage, float damageInterval = 0.25f, float maximumDamagePerInterval = 10f) + { + Initialize(BuffType.Negative, BuffDispelLevel.Basic); + this.accumulatedDamage = damage; + this.damageInterval = damageInterval; + this.maximumDamagePerInterval = maximumDamagePerInterval; + + this.contentSubmodule = new ContentSubmodule(this); + this.timeSubmodule = new TimeSubmodule(this, true); + this.timeSubmodule.AddIntervalAction(IntervalAction, damageInterval); + } + + public override bool OnBuffApply(out CharacterBuffBase existingBuff) + { + if (FindExistingSameBuff(out existingBuff)) + { + Decay existingDecay = existingBuff as Decay; + existingDecay.accumulatedDamage += this.accumulatedDamage; + + if (existingDecay.damageInterval > this.damageInterval) + { + existingDecay.damageInterval = this.damageInterval; + existingDecay.timeSubmodule.intervalActions[0].SetInterval(existingDecay.damageInterval); + } + + if (existingDecay.maximumDamagePerInterval < this.maximumDamagePerInterval) + { + existingDecay.maximumDamagePerInterval = this.maximumDamagePerInterval; + } + + return false; + } + + return true; + } + + public override void OnBuffUpdate() + { + timeSubmodule?.Update(attachedCharacter.selfTimeSm.DeltaTime); + } + + private void IntervalAction() + { + if (accumulatedDamage <= 0) + { + Remove(); + return; + } + + float damageValue = Mathf.Min(maximumDamagePerInterval, accumulatedDamage); + accumulatedDamage -= damageValue; + + AttackResult result = new AttackResult(sourceCharacter, attachedCharacter, nameof(Decay), attachedCharacter.centerPosition) + { + attackValue = new AttackValue(sourceCharacter, false, damageValue, Attack.AttackType.Blank) + }; + + attachedCharacter.TakeDamage(ref result); + var dmgNumber = MainGameBaseCollection.Instance.DamageNumber(Attack.AttackType.Blank, false) + .Spawn(result.hitPosition, result.finalDamage, attachedCharacter.centerPoint); + dmgNumber.SetScale(0.5f); + dmgNumber.SetSpamGroup(result.spamGroupID); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Base/BuffSystem/Inheritors/CharacterBuffs/General/Decay.cs.meta b/Assets/Scripts/MainGame/Base/BuffSystem/Inheritors/CharacterBuffs/General/Decay.cs.meta new file mode 100644 index 000000000..e5b9ebb9e --- /dev/null +++ b/Assets/Scripts/MainGame/Base/BuffSystem/Inheritors/CharacterBuffs/General/Decay.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d0f6525ed44ff2640b867e65760c4bb0 \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Base/FunctionalAnimation/Payloads/SpawnVFX.cs b/Assets/Scripts/MainGame/Base/FunctionalAnimation/Payloads/SpawnVFX.cs index c1e662f83..af08c3807 100644 --- a/Assets/Scripts/MainGame/Base/FunctionalAnimation/Payloads/SpawnVFX.cs +++ b/Assets/Scripts/MainGame/Base/FunctionalAnimation/Payloads/SpawnVFX.cs @@ -11,6 +11,8 @@ namespace Cielonos.MainGame.FunctionalAnimation public override void Invoke() { + if (mute) return; + VFXObject vfxObject = character.vfxData.SpawnVFX(vfxKey).GetComponent(); if (vfxObject != null) { diff --git a/Assets/Scripts/MainGame/Characters/Base/CharacterBase.cs b/Assets/Scripts/MainGame/Characters/Base/CharacterBase.cs index d968fea79..7f24e5635 100644 --- a/Assets/Scripts/MainGame/Characters/Base/CharacterBase.cs +++ b/Assets/Scripts/MainGame/Characters/Base/CharacterBase.cs @@ -116,11 +116,11 @@ namespace Cielonos.MainGame.Characters string gainMultiplier = attackValue.attackType.AttackTypeToString() + "DamageGainMultiplier"; float baseDamage = attackValue.damage; - - baseDamage *= attackValue.attacker.attributeSm[dealtMultiplier]; + + baseDamage *= attackValue.attacker is not null ? attackValue.attacker.attributeSm[dealtMultiplier] : 1; baseDamage *= attributeSm[gainMultiplier]; - - baseDamage *= attackValue.attacker.attributeSm["FinalDamageDealtMultiplier"]; + + baseDamage *= attackValue.attacker is not null ? attackValue.attacker.attributeSm["FinalDamageDealtMultiplier"] : 1; baseDamage *= attributeSm["FinalDamageGainMultiplier"]; return (baseDamage + attackValue.additionalFlatDamage) * attackValue.damageMultiplier; @@ -149,12 +149,6 @@ namespace Cielonos.MainGame.Characters attributeSm["Health"] -= damage; attackResult.finalDamage = damage; - Attack.AttackType attackType = attackResult.attackValue.attackType; - bool isCritical = attackResult.attackValue.isCritical; - MainGameBaseCollection.Instance.DamageNumber(attackType, isCritical) - .Spawn(attackResult.hitPosition, damage, transform) - .SetSpamGroup(attackResult.spamGroupID); - if (attributeSm["Health"] <= 0) { attackResult.causedDeath = true; diff --git a/Assets/Scripts/MainGame/Characters/Base/Subcontrollers/Animation/AnimationSubcontrollerBase.cs b/Assets/Scripts/MainGame/Characters/Base/Subcontrollers/Animation/AnimationSubcontrollerBase.cs index 1f9f74b26..36c7e1d80 100644 --- a/Assets/Scripts/MainGame/Characters/Base/Subcontrollers/Animation/AnimationSubcontrollerBase.cs +++ b/Assets/Scripts/MainGame/Characters/Base/Subcontrollers/Animation/AnimationSubcontrollerBase.cs @@ -235,8 +235,12 @@ namespace Cielonos.MainGame.Characters public virtual void PlayGetHitAnimation(string funcAnimName, out float animDuration, Vector3 direction = default) { - fullBodyFuncAnimSm.Play(funcAnimName); - animDuration = fullBodyFuncAnimSm.currentData.Interval(IntervalType.ActionDisruption).StartTime; + if (fullBodyFuncAnimSm.Play(funcAnimName)) + { + animDuration = fullBodyFuncAnimSm.currentData.Interval(IntervalType.ActionDisruption).StartTime; + } + + animDuration = 0.2f; //animDuration = fullBodyFuncAnimSm.currentData.Interval(IntervalType.Active).EndTime; } } diff --git a/Assets/Scripts/MainGame/Characters/Base/Subcontrollers/FeedbackSubcontroller.cs b/Assets/Scripts/MainGame/Characters/Base/Subcontrollers/FeedbackSubcontroller.cs index 8a9573699..89718a54f 100644 --- a/Assets/Scripts/MainGame/Characters/Base/Subcontrollers/FeedbackSubcontroller.cs +++ b/Assets/Scripts/MainGame/Characters/Base/Subcontrollers/FeedbackSubcontroller.cs @@ -29,6 +29,23 @@ namespace Cielonos.MainGame.Characters _timeProvider = new CharacterFeedbackTimeProvider(owner); } } + + public FeedbackData GetFeedbackData(string feedbackName) + { + if (feedbackDataCollection == null) + { + Debug.LogWarning($"[Item.FeedbackSubcontroller] feedbackDataCollection is null on {owner?.name}."); + return null; + } + + if (!feedbackDataCollection.TryGet(feedbackName, out FeedbackData data)) + { + Debug.LogWarning($"[Item.FeedbackSubcontroller] FeedbackData '{feedbackName}' not found on {owner?.name}."); + return null; + } + + return data; + } /// /// 通过新系统播放一个 FeedbackData。 @@ -109,7 +126,7 @@ namespace Cielonos.MainGame.Characters } // 新系统驱动 - float dt = Time.unscaledDeltaTime; + float dt = Time.deltaTime; for (int i = _activePlayers.Count - 1; i >= 0; i--) { FeedbackPlayer player = _activePlayers[i]; @@ -122,30 +139,4 @@ namespace Cielonos.MainGame.Characters } } } - - public partial class FeedbackSubcontroller - { - protected void Swing(Vector3 swingRotation, float rotationDuration, Vector3 swingPosition, float positionDuration) - { - MMF_Player swing = LeanPool.Spawn(MainGameBaseCollection.Instance.feedbackCollection["Swing"]).GetComponent(); - - MMF_CinemachineRotation cinemachineRotation = swing.GetFeedbackOfType(); - if (cinemachineRotation != null) - { - cinemachineRotation.RotationAmplitude = swingRotation != default ? swingRotation : Vector3.zero; - cinemachineRotation.Duration = rotationDuration; - } - - MMF_CinemachinePosition cinemachinePosition = swing.GetFeedbackOfType(); - if (cinemachinePosition != null) - { - cinemachinePosition.PositionAmplitude = swingPosition != default ? swingPosition : Vector3.zero; - cinemachinePosition.Duration = positionDuration; - } - - swing.Events.OnComplete.RemoveAllListeners(); - swing.Events.OnComplete.AddListener(()=> LeanPool.Despawn(swing.gameObject)); - swing.PlayFeedbacks(); - } - } } \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Characters/Base/Subcontrollers/Reaction/DodgeSubmodule.cs b/Assets/Scripts/MainGame/Characters/Base/Subcontrollers/Reaction/DodgeSubmodule.cs index b572bbef8..374cfff61 100644 --- a/Assets/Scripts/MainGame/Characters/Base/Subcontrollers/Reaction/DodgeSubmodule.cs +++ b/Assets/Scripts/MainGame/Characters/Base/Subcontrollers/Reaction/DodgeSubmodule.cs @@ -143,8 +143,9 @@ namespace Cielonos.MainGame.Characters { defaultDodge.onPerfectDodge = () => { - player.feedbackSc["PerfectDodge"].feedback.GetFeedbackOfType().TargetCenter = player.GetNormalizedScreenPosition(); - player.feedbackSc["PerfectDodge"].feedback.GetFeedbackOfType().Center = player.GetNormalizedScreenPosition(); + // Perfect Dodge 反馈将在 PlayerFeedbackSubcontroller 中统一处理 + // 这里可以添加任何 Perfect Dodge 特有的回调逻辑 + // 例如:记录完美闪避次数、触发成就等 }; } return defaultDodge; diff --git a/Assets/Scripts/MainGame/Characters/Base/Submodules/EventSubmodule.cs b/Assets/Scripts/MainGame/Characters/Base/Submodules/EventSubmodule.cs index 78b57eba6..f65db5ec8 100644 --- a/Assets/Scripts/MainGame/Characters/Base/Submodules/EventSubmodule.cs +++ b/Assets/Scripts/MainGame/Characters/Base/Submodules/EventSubmodule.cs @@ -21,6 +21,7 @@ namespace Cielonos.MainGame.Characters onDashEnd = new OrderedDictionary(); onDodgeStart = new OrderedDictionary(); onDodgeEnd = new OrderedDictionary(); + onGetHit = new OrderedDictionary>(); onGetBreakthrough = new OrderedDictionary>(); @@ -31,6 +32,8 @@ namespace Cielonos.MainGame.Characters onBlockSuccess = new OrderedDictionary>(); onNormalBlockSuccess = new OrderedDictionary>(); onPerfectBlockSuccess = new OrderedDictionary>(); + onNormalDodgeSuccess = new OrderedDictionary>(); + onPerfectDodgeSuccess = new OrderedDictionary>(); } } @@ -159,6 +162,16 @@ namespace Cielonos.MainGame.Characters /// 完美格挡成功时,参数为攻击区域和格挡来源 /// public OrderedDictionary> onPerfectBlockSuccess; + + /// + /// 普通闪避成功时,参数为闪避来源 + /// + public OrderedDictionary> onNormalDodgeSuccess; + + /// + /// 完美闪避成功时,参数为闪避来源 + /// + public OrderedDictionary> onPerfectDodgeSuccess; } #endregion diff --git a/Assets/Scripts/MainGame/Characters/Player/Animation/PlayerAnimScDashDodge.cs b/Assets/Scripts/MainGame/Characters/Player/Animation/PlayerAnimScDashDodge.cs index 9e8e6e2b4..033f5f4e9 100644 --- a/Assets/Scripts/MainGame/Characters/Player/Animation/PlayerAnimScDashDodge.cs +++ b/Assets/Scripts/MainGame/Characters/Player/Animation/PlayerAnimScDashDodge.cs @@ -1,4 +1,4 @@ -using MoreMountains.FeedbacksForThirdParty; +using Cielonos.MainGame.Effects.Feedback; using SLSUtilities.General; using UnityEngine; @@ -11,24 +11,20 @@ namespace Cielonos.MainGame.Characters if (player.movementSc.canDash && player.movementSc.canDodge && fullBodyFuncAnimSm.Play("Dash")) { length = length < 0 ? player.attributeSm["DashLength"] : length; - //Debug.Log($"Dash length: {length}"); float dashMultiplier = length / fullBodyFuncAnimSm.collection["Dash"].variableCollection.GetVariable("RootMoveZ"); player.landMovementSc.dashMoveMultiplier = dashMultiplier; - Vector3 cameraForward = player.viewSc.playerCamera.transform.forward.Flatten(); - Vector3 dashCameraRotation; + if (isInputDirection) { player.landMovementSc.TurnToInputDirection(direction); - Vector3 playerForward = player.transform.forward.Flatten(); - dashCameraRotation = CalculateDashAngles(playerForward, cameraForward); } else { player.landMovementSc.TurnToDirection(direction, 0f); - dashCameraRotation = CalculateDashAngles(direction, cameraForward); } - player.feedbackSc["Dash"].feedback.GetFeedbackOfType().RotationAmplitude = dashCameraRotation; - player.feedbackSc["Dash"].feedback.GetFeedbackOfType().TargetCenter = player.GetNormalizedScreenPosition(); + + // 计算冲刺方向用于相机震动方向设置 + // Dash反馈的方向设置将在DashStart中通过新Feedback系统统一处理 } } @@ -36,7 +32,10 @@ namespace Cielonos.MainGame.Characters { player.landMovementSc.isDashing = true; player.audioSc.PlayDashSound(); - player.feedbackSc["Dash"]?.Play(); + + // 使用新Feedback系统播放Dash反馈 + player.feedbackSc.PlayFeedback("Dash"); + //player.renderSc.dashTrails.ForEach(ds => ds.active = true); //player.renderSc.dashTrails.ForEach(ds => ds.Restart()); @@ -70,11 +69,8 @@ namespace Cielonos.MainGame.Characters length = length < 0 ? player.attributeSm["DodgeLength"] : length; float dashMultiplier = length / fullBodyFuncAnimSm.collection["Dodge"].variableCollection.GetVariable("RootMoveZ"); player.landMovementSc.dashMoveMultiplier = dashMultiplier; - Vector3 playerBackward = -player.transform.forward.Flatten(); - Vector3 cameraForward = player.viewSc.playerCamera.transform.forward.Flatten(); - Vector3 dodgeCameraRotation = CalculateDashAngles(playerBackward, cameraForward); - player.feedbackSc["Dodge"].feedback.GetFeedbackOfType().RotationAmplitude = dodgeCameraRotation; - player.feedbackSc["Dodge"].feedback.GetFeedbackOfType().TargetCenter = player.GetNormalizedScreenPosition(); + + // Dodge反馈将在DodgeStart中通过新Feedback系统统一处理 } } @@ -82,7 +78,10 @@ namespace Cielonos.MainGame.Characters { player.landMovementSc.isDashing = true; player.audioSc.PlayDashSound(); - player.feedbackSc["Dodge"]?.Play(); + + // 使用新Feedback系统播放Dodge反馈 + player.feedbackSc.PlayFeedback("Dodge"); + //player.renderSc.dashTrails.ForEach(ds => ds.active = true); //player.renderSc.dashTrails.ForEach(ds => ds.Restart()); diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/Base/ItemBase.cs b/Assets/Scripts/MainGame/Characters/Player/Items/Base/ItemBase.cs index a4448c0aa..00f50869a 100644 --- a/Assets/Scripts/MainGame/Characters/Player/Items/Base/ItemBase.cs +++ b/Assets/Scripts/MainGame/Characters/Player/Items/Base/ItemBase.cs @@ -3,10 +3,12 @@ using System.Collections.Generic; using System.Reflection; using System.Text; using Cielonos.MainGame.Characters; +using Cielonos.MainGame.Effects.Feedback; using Cielonos.MainGame.FunctionalAnimation; using MoreMountains.Feedbacks; using MoreMountains.FeedbacksForThirdParty; using Sirenix.OdinInspector; +using SLSUtilities.Feedback; using SLSUtilities.WwiseAssistance; using SLSUtilities.FunctionalAnimation; using UnityEngine; @@ -30,11 +32,13 @@ namespace Cielonos.MainGame.Characters.Inventory public ViewObjectData viewObjectData; public VFXData vfxData; public AttributeData passiveAttributeData; + public UpgradeData upgradeData; public ComboData comboData; public AttackData attackData; public FunctionData functionData; public AmmoData ammoData; public BlockData blockData; + public OverloadData overloadData; [TitleGroup("Audio")] public AudioContainer audioContainer; @@ -44,6 +48,7 @@ namespace Cielonos.MainGame.Characters.Inventory public ComboSubmodule comboSm; public FunctionSubmodule functionSm; public AmmoSubmodule ammoSm; + public OverloadSubmodule overloadSm; [TitleGroup("Subcontrollers")] public FeedbackSubcontroller feedbackSc; @@ -57,10 +62,12 @@ namespace Cielonos.MainGame.Characters.Inventory public virtual void Initialize() { vfxData?.Initialize(player); + feedbackSc?.Initialize(); if(comboData != null) comboSm = new ComboSubmodule(this, comboData); if(functionData != null) functionSm = new FunctionSubmodule(this, functionData); if(ammoData != null) ammoSm = new AmmoSubmodule(this, ammoData); - if(passiveAttributeData != null) passiveAttributeSm = new AttributeSubmodule(this, passiveAttributeData); + if(passiveAttributeData != null) passiveAttributeSm = new AttributeSubmodule(this, passiveAttributeData, upgradeData); + if(overloadData != null) overloadSm = new OverloadSubmodule(this, overloadData); } public virtual void OnObtained() @@ -73,9 +80,23 @@ namespace Cielonos.MainGame.Characters.Inventory passiveAttributeSm?.RefreshAllModifiedAttributes(); } + [Button("Upgrade")] + public virtual void Upgrade() + { + if (upgradeData == null || passiveAttributeSm == null) + { + Debug.LogWarning($"{GetType().Name}: Cannot upgrade - missing UpgradeData or AttributeSubmodule."); + return; + } + + passiveAttributeSm.level++; + passiveAttributeSm.RefreshAllModifiedAttributes(); + } + protected virtual void Update() { functionSm?.Update(player.selfTimeSm.DeltaTime); + overloadSm?.Update(player.selfTimeSm.DeltaTime); } } @@ -157,31 +178,25 @@ namespace Cielonos.MainGame.Characters.Inventory protected virtual void Swing(string feedBackName, Vector3 swingRotation = default, Vector3 swingPosition = default) { - Vector3 playerForward = player.transform.forward; - Vector3 cameraForward = player.viewSc.playerCamera.transform.forward; - - Vector3 flatPlayerFwd = Vector3.ProjectOnPlane(playerForward, Vector3.up).normalized; - Vector3 flatCameraFwd = Vector3.ProjectOnPlane(cameraForward, Vector3.up).normalized; - - Quaternion deltaRotation = Quaternion.FromToRotation(flatCameraFwd, flatPlayerFwd); - Vector3 tempRotVec = new Vector3(swingRotation.y, swingRotation.x, swingRotation.z); - Vector3 rotatedTemp = deltaRotation * tempRotVec; - Vector3 finalRotation = new Vector3(rotatedTemp.y, rotatedTemp.x, rotatedTemp.z); - Vector3 finalPosition = deltaRotation * swingPosition; - - MMF_CinemachineRotation cinemachineRotation = feedbackSc[feedBackName].feedback.GetFeedbackOfType(); - if (cinemachineRotation != null) + feedbackSc.feedbackDataCollection.TryGet(feedBackName, out FeedbackData feedBackData); + var cameraTrack = feedBackData.tracks.Find(track => track.trackName == "Camera"); + if (cameraTrack == null) { - cinemachineRotation.RotationAmplitude = finalRotation; + Debug.LogWarning($"没有找到名为 'Camera' 的轨道,请检查 FeedbackData '{feedBackName}' 的设置。"); + return; } - MMF_CinemachinePosition cinemachinePosition = feedbackSc[feedBackName].feedback.GetFeedbackOfType(); - if (cinemachinePosition != null) + if (cameraTrack.clips.Find(clip => clip.action is CameraPositionShakeAction)?.action is CameraPositionShakeAction positionShakeAction) { - cinemachinePosition.PositionAmplitude = finalPosition; + positionShakeAction.amplitude = swingPosition; + } + + if (cameraTrack.clips.Find(clip => clip.action is CameraRotationShakeAction)?.action is CameraRotationShakeAction rotationShakeAction) + { + rotationShakeAction.amplitude = swingRotation; } - feedbackSc[feedBackName].Play(); + feedbackSc.PlayFeedback(feedBackName); } } diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/Base/MainWeaponBase.cs b/Assets/Scripts/MainGame/Characters/Player/Items/Base/MainWeaponBase.cs index 1053e360b..171289e04 100644 --- a/Assets/Scripts/MainGame/Characters/Player/Items/Base/MainWeaponBase.cs +++ b/Assets/Scripts/MainGame/Characters/Player/Items/Base/MainWeaponBase.cs @@ -63,7 +63,7 @@ namespace Cielonos.MainGame.Characters.Inventory { if (player.inventorySc.equipmentSm.currentMainWeapon == this) { - functionSm?.Update(player.selfTimeSm.DeltaTime); + base.Update(); } } } diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/Base/PassiveEquipmentBase.cs b/Assets/Scripts/MainGame/Characters/Player/Items/Base/PassiveEquipmentBase.cs index 4a973dd22..8d2bc2e6a 100644 --- a/Assets/Scripts/MainGame/Characters/Player/Items/Base/PassiveEquipmentBase.cs +++ b/Assets/Scripts/MainGame/Characters/Player/Items/Base/PassiveEquipmentBase.cs @@ -17,6 +17,7 @@ namespace Cielonos.MainGame.Characters.Inventory protected override void Update() { functionSm?.Update(player.selfTimeSm.DeltaTime); + overloadSm?.Update(player.selfTimeSm.DeltaTime); } } } \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/Base/SupportEquipmentBase.cs b/Assets/Scripts/MainGame/Characters/Player/Items/Base/SupportEquipmentBase.cs index 0be872786..1a09a59e8 100644 --- a/Assets/Scripts/MainGame/Characters/Player/Items/Base/SupportEquipmentBase.cs +++ b/Assets/Scripts/MainGame/Characters/Player/Items/Base/SupportEquipmentBase.cs @@ -35,7 +35,7 @@ namespace Cielonos.MainGame.Characters.Inventory { if (player.inventorySc.equipmentSm.currentSupportEquipments.Contains(this)) { - functionSm?.Update(player.selfTimeSm.DeltaTime); + base.Update(); } } } diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/Data/AttackData/AttackUnit.cs b/Assets/Scripts/MainGame/Characters/Player/Items/Data/AttackData/AttackUnit.cs index 73ee67706..a61e02b71 100644 --- a/Assets/Scripts/MainGame/Characters/Player/Items/Data/AttackData/AttackUnit.cs +++ b/Assets/Scripts/MainGame/Characters/Player/Items/Data/AttackData/AttackUnit.cs @@ -47,6 +47,9 @@ namespace Cielonos.MainGame.Characters.Inventory public BreakthroughType breakthroughType = BreakthroughType.Weak; public DisruptionType disruptionType = DisruptionType.NormalExternal; + [Title("Tags")] + public List tags = new List(); + [Title("Hit VFX")] public bool useVFXDataHit; [HideIf("useVFXDataHit")] @@ -69,7 +72,7 @@ namespace Cielonos.MainGame.Characters.Inventory { bool isCritical = Random.value < GetFinalCriticalChance(); float finalDamage = isCritical ? GetFinalCriticalDamage() : GetFinalRegularDamage(); - return new AttackValue(attacker, isCritical, finalDamage, attackType, disruptionType, breakthroughType); + return new AttackValue(attacker, isCritical, finalDamage, attackType, disruptionType, breakthroughType, tags); } public GameObject GetHitVFX() diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/Data/AttributeData.cs b/Assets/Scripts/MainGame/Characters/Player/Items/Data/AttributeData.cs index 5cdc7ce7c..c88e14a2b 100644 --- a/Assets/Scripts/MainGame/Characters/Player/Items/Data/AttributeData.cs +++ b/Assets/Scripts/MainGame/Characters/Player/Items/Data/AttributeData.cs @@ -8,7 +8,8 @@ namespace Cielonos.MainGame.Characters.Inventory [CreateAssetMenu(fileName = "AttributeData", menuName = "Cielonos/Items/AttributeData")] public class AttributeData : SerializedScriptableObject { - [Title("Item Attributes")] public SerializedDictionary itemAttributes = new(); + [Title("Item Attributes")] + public SerializedDictionary itemAttributes = new(); [Title("Character Attribute Changes")] [DictionaryTitle("Numeric")] public SerializedDictionary chaAttrNumericChange = new(); diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/Data/OverloadData.cs b/Assets/Scripts/MainGame/Characters/Player/Items/Data/OverloadData.cs new file mode 100644 index 000000000..65a066172 --- /dev/null +++ b/Assets/Scripts/MainGame/Characters/Player/Items/Data/OverloadData.cs @@ -0,0 +1,19 @@ +using Sirenix.OdinInspector; +using UnityEngine; + +namespace Cielonos.MainGame.Characters.Inventory +{ + [CreateAssetMenu(fileName = "OverloadData", menuName = "Cielonos/Items/OverloadData")] + public class OverloadData : SerializedScriptableObject + { + [Title("Overload Configuration")] + [LabelText("Trigger Threshold (Max Overload)")] + public float maxOverload = 200f; + + [LabelText("Absorption Weight")] + public float overloadWeight = 1f; + + [LabelText("Cooldown After Trigger (Seconds)")] + public float triggerCooldown = 8f; + } +} diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/Data/OverloadData.cs.meta b/Assets/Scripts/MainGame/Characters/Player/Items/Data/OverloadData.cs.meta new file mode 100644 index 000000000..8cc37ff35 --- /dev/null +++ b/Assets/Scripts/MainGame/Characters/Player/Items/Data/OverloadData.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c3e872bf5164c1b449783ffe50bdab9c \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/Data/UpgradeData.cs b/Assets/Scripts/MainGame/Characters/Player/Items/Data/UpgradeData.cs index 998fdf3bd..493747b66 100644 --- a/Assets/Scripts/MainGame/Characters/Player/Items/Data/UpgradeData.cs +++ b/Assets/Scripts/MainGame/Characters/Player/Items/Data/UpgradeData.cs @@ -34,6 +34,11 @@ namespace Cielonos.MainGame.Characters.Inventory { if (upgradeMode == UpgradeMode.ManualList) { + if (valueList.Count == 0) + { + return defaultUpgradeValue * level; + } + if (level < valueList.Count) { return valueList[level]; diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/MainWeapons/Polychrome.cs b/Assets/Scripts/MainGame/Characters/Player/Items/MainWeapons/Polychrome.cs index 3c8749e30..f6bf5bc87 100644 --- a/Assets/Scripts/MainGame/Characters/Player/Items/MainWeapons/Polychrome.cs +++ b/Assets/Scripts/MainGame/Characters/Player/Items/MainWeapons/Polychrome.cs @@ -1,10 +1,12 @@ using System.Collections.Generic; using ChocDino.UIFX; using Cielonos.MainGame.Buffs.Character; +using Cielonos.MainGame.Effects.Feedback; using Cielonos.MainGame.UI; using MoreMountains.Feedbacks; using MoreMountains.FeedbacksForThirdParty; using MoreMountains.FeedbacksForThirdParty.Cielonos; +using SLSUtilities.Feedback; using SLSUtilities.General; using SLSUtilities.FunctionalAnimation; using SLSUtilities.WwiseAssistance; @@ -194,10 +196,10 @@ namespace Cielonos.MainGame.Characters.Inventory.Collections { if (BattleManager.EnemySm.GetDisruptableEnemies(availableEnemies).Count > 0) { - float duration = fullBodyFuncAnimSm.collection["DisruptionAttack" + suffix].Interval(IntervalType.Startup).Duration * 2; - player.feedbackSc["DisruptionBulletTime"].feedback.GetFeedbackOfType().Duration = duration; - player.feedbackSc["DisruptionBulletTime"].feedback.GetFeedbackOfType().ShakeDuration = duration; - player.feedbackSc["DisruptionBulletTime"].Play(); + var timeScaleModifierClip = player.feedbackSc.GetFeedbackData("DisruptionStartup").Clip("Time"); + float duration = fullBodyFuncAnimSm.collection["DisruptionAttack" + suffix].Interval(IntervalType.Startup).Duration * 2; + timeScaleModifierClip.duration = duration; + player.feedbackSc.PlayFeedback("DisruptionStartup"); } if (suffix == "B") @@ -281,10 +283,10 @@ namespace Cielonos.MainGame.Characters.Inventory.Collections GenerateHeavySlash(p.str0, attackData[p.str1]); } - private void FAPF_GenerateParrySlash(RuntimeFuncAnim rtFuncAnim) + private void FAPF_GenerateUltimateSlash(RuntimeFuncAnim rtFuncAnim) { CustomFunction.PC_StringString p = rtFuncAnim.GetParams(); - GenerateParrySlash(p.str0, attackData[p.str1]); + GenerateUltimateSlash(p.str0, attackData[p.str1]); } private void FAPF_GenerateDisruptionSlash(RuntimeFuncAnim rtFuncAnim) @@ -308,25 +310,25 @@ namespace Cielonos.MainGame.Characters.Inventory.Collections slash.Initialize(player, this, Fraction.Enemy) .SetAttackSubmodule(attackUnit) - .SetTimeSubmodule(1f, 0.04f) + .SetTimeSubmodule(1f, 0.02f) .SetHitSubmodule() .SetForceSubmodule(1.5f, true); slash.attackSm.breakthroughAction = (enemy, hitPosition) => { AudioManager.Post(AK.EVENTS.DISRUPT, hitPosition); - //ApplyElectronicParalysis(enemy, attackUnit); }; slash.hitSm.AddHitSound(AK.EVENTS.POLYCHROME_LIGHTATTACKHIT) .AddHitEvent((enemy, hitPosition) => { - feedbackSc[feedback].feedback.GetFeedbackOfType().PositionAmplitude = - vfxData.Get(vfxName).slashScreenPosition.normalized * 0.1f; - feedbackSc[feedback].Play(); - //ApplyElectronicParalysis(enemy, attackUnit); + var positionShakeAction = feedbackSc.GetFeedbackData(feedback).Action("Camera"); + float magnitude = feedback == "SingleNormalHit" ? 0.12f : 0.06f; + positionShakeAction.amplitude = vfxData.Get(vfxName).slashScreenPosition.normalized * magnitude; + feedbackSc.PlayFeedback(feedback); + + ModifyTechniqueScore(0.02f); - if (attackUnit.unitName == "InstantAttack") { if (enemy.buffSm.HasBuff()) @@ -354,7 +356,7 @@ namespace Cielonos.MainGame.Characters.Inventory.Collections slash.Initialize(player, this, Fraction.Enemy) .SetAttackSubmodule(attackUnit) - .SetTimeSubmodule(1f, 0.06f) + .SetTimeSubmodule(1f, 0.04f) .SetHitSubmodule() .SetForceSubmodule(3f, true); @@ -368,9 +370,10 @@ namespace Cielonos.MainGame.Characters.Inventory.Collections slash.hitSm.AddHitSound(AK.EVENTS.POLYCHROME_HEAVYATTACKLHIT) .AddHitEvent((enemy, hitPosition) => { - feedbackSc["HeavyHitFirst"].feedback.GetFeedbackOfType().PositionAmplitude = - vfxData.Get(vfxName).slashScreenPosition.normalized * 0.15f; - feedbackSc["HeavyHitFirst"].Play(); + var positionShakeAction = feedbackSc.GetFeedbackData("HeavyHit").Action("Camera"); + positionShakeAction.amplitude = vfxData.Get(vfxName).slashScreenPosition.normalized * 0.18f; + feedbackSc.PlayFeedback("HeavyHit"); + ModifyTechniqueScore(0.05f); ApplyElectronicParalysis(enemy, attackUnit); }); @@ -384,36 +387,35 @@ namespace Cielonos.MainGame.Characters.Inventory.Collections slash.Initialize(player, this, Fraction.Enemy) .SetAttackSubmodule(attackUnit) - .SetTimeSubmodule(1f, 0.04f, 0.06f) + .SetTimeSubmodule(1f, 0.04f) .SetHitSubmodule() .SetForceSubmodule(3f, true); slash.attackSm.breakthroughAction = (enemy, hitPosition) => { ModifyTechniqueScore(0.2f); + feedbackSc.PlayFeedback("Breakthrough"); AudioManager.Post(AK.EVENTS.DISRUPT, hitPosition); - ApplyElectronicParalysis(enemy, attackUnit); }; slash.hitSm .AddHitSound(AK.EVENTS.POLYCHROME_HEAVYATTACKLHIT) .AddHitEvent((enemy, hitPosition) => { - feedbackSc["HeavyHitFirst"].feedback.GetFeedbackOfType().PositionAmplitude = - vfxData.Get(vfxName).slashScreenPosition.normalized * 0.15f; - feedbackSc["HeavyHitFirst"].Play(); - ApplyElectronicParalysis(enemy, attackUnit); + var positionShakeAction = feedbackSc.GetFeedbackData("HeavyHit").Action("Camera"); + positionShakeAction.amplitude = vfxData.Get(vfxName).slashScreenPosition.normalized * 0.18f; + feedbackSc.PlayFeedback("HeavyHit"); }); return slash; } - private NormalArea GenerateParrySlash(string vfxName, AttackUnit attackUnit) + private NormalArea GenerateUltimateSlash(string vfxName, AttackUnit attackUnit) { NormalArea slash = vfxData.SpawnVFX(vfxName).GetComponentInChildren(); slash.Initialize(player, this, Fraction.Enemy) .SetAttackSubmodule(attackUnit) - .SetTimeSubmodule(1f, 0.06f) + .SetTimeSubmodule(1f, 0.04f) .SetHitSubmodule() .SetForceSubmodule(10f, true); @@ -426,8 +428,10 @@ namespace Cielonos.MainGame.Characters.Inventory.Collections .AddHitSound(AK.EVENTS.POLYCHROME_HEAVYATTACKLHIT) .AddHitEvent((enemy, hitPosition) => { - feedbackSc["ParryHit"].Play(); - new ElectronicParalysis(5f).Apply(enemy); + var positionShakeAction = feedbackSc.GetFeedbackData("HeavyHit").Action("Camera"); + positionShakeAction.amplitude = vfxData.Get(vfxName).slashScreenPosition.normalized * 0.18f; + feedbackSc.PlayFeedback("HeavyHit"); + feedbackSc.PlayFeedback("Breakthrough"); }); return slash; @@ -450,17 +454,13 @@ namespace Cielonos.MainGame.Characters.Inventory.Collections { _blockAnimName = _blockAnimName == "BlockL" ? "BlockR" : "BlockL"; animationSc.fullBodyFuncAnimSm.Play(_blockAnimName, 1, 0); - player.selfTimeSm.ModifyTimeScale(0.06f, 0.4f); - attackArea.creator.selfTimeSm.ModifyTimeScale(0.06f, 0.4f); - if (_blockAnimName == "BlockL") - { - feedbackSc["NormalBlockLeft"].Play(); - } - else - { - feedbackSc["NormalBlockRight"].Play(); - } + var rotationShakeAction = feedbackSc.GetFeedbackData("NormalBlock").Action("Camera"); + rotationShakeAction.amplitude = _blockAnimName == "BlockL" ? + new Vector3(-0f, -2f, 1f) : + new Vector3(-0f, 2f, -1f); + + feedbackSc.PlayFeedback("NormalBlock"); if (attackArea is NormalArea) { @@ -472,17 +472,13 @@ namespace Cielonos.MainGame.Characters.Inventory.Collections { _blockAnimName = _blockAnimName == "BlockL" ? "BlockR" : "BlockL"; animationSc.fullBodyFuncAnimSm.Play(_blockAnimName, 1, 0); - player.selfTimeSm.ModifyTimeScale(0.12f, EaseType.InQuint, 0.2f); - attackArea.creator.selfTimeSm.ModifyTimeScale(0.12f, EaseType.InQuint, 0.2f); - if (_blockAnimName == "BlockL") - { - feedbackSc["PerfectBlockLeft"].Play(); - } - else - { - feedbackSc["PerfectBlockRight"].Play(); - } + var rotationShakeAction = feedbackSc.GetFeedbackData("PerfectBlock").Action("Camera"); + rotationShakeAction.amplitude = _blockAnimName == "BlockL" ? + new Vector3(0f, -4f, 2f) : + new Vector3(0f, 4f, -2f); + + feedbackSc.PlayFeedback("PerfectBlock"); if (attackArea is NormalArea) { diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/PassiveEquipments/Deflector.cs b/Assets/Scripts/MainGame/Characters/Player/Items/PassiveEquipments/Deflector.cs index b2eeefcfa..6e4ae3bd4 100644 --- a/Assets/Scripts/MainGame/Characters/Player/Items/PassiveEquipments/Deflector.cs +++ b/Assets/Scripts/MainGame/Characters/Player/Items/PassiveEquipments/Deflector.cs @@ -22,13 +22,7 @@ namespace Cielonos.MainGame.Characters.Inventory.Collections { player.reactionSc.reflectionSm.ApplyReflection(player, this, "Deflector_Reflection", 0, 0.01f, area => area is Projectile, - area => - { - if (area is Projectile projectile) - { - projectile.Reflect(player); - } - }); + area => (area as Projectile)!.Reflect(player)); } } } \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery.cs b/Assets/Scripts/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery.cs new file mode 100644 index 000000000..3670d13e4 --- /dev/null +++ b/Assets/Scripts/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery.cs @@ -0,0 +1,63 @@ +using System; +using Cielonos.MainGame.Characters; +using SLSUtilities.General; +using UnityEngine; + +namespace Cielonos.MainGame.Characters.Inventory.Collections +{ + public class OverloadBattery : PassiveEquipmentBase + { + private bool _isBuffActive = false; + + public override void OnObtained() + { + // 直接订阅由 OverloadSubmodule 抛出的满溢满充爆气事件 + if (overloadSm != null) + { + overloadSm.OnTriggered += TriggerOverloadEffect; + } + } + + public void TriggerOverloadEffect() + { + // 挂载增伤 Buff + _isBuffActive = true; + + // 为下一次攻击进行截流修饰(利用上一个阶段优化提升完毕的 EventSubmodule 架构) + Action onStartAttack = OnStartAttack; + + if (!player.eventSm.onStartAttack.ContainsKey("OverloadBattery_DamageBoost")) + { + player.eventSm.onStartAttack.Add("OverloadBattery_DamageBoost", onStartAttack.ToPrioritized()); + MainGameManager.BaseCollection.InfoText().Spawn(player.centerPosition, "Overload Battery Boost").SetScale(0.5f); + } + } + + private void OnStartAttack(AttackAreaBase attackArea, CharacterBase target, AttackResult attackResult) + { + if (!_isBuffActive) return; + + // 拦截检查:必须是重突破等级(BreakthroughType.Heavy) + // 如果不是重攻击,我们就避让不进行任何修饰,且不消耗掉 Buff 的开启状态 + if (attackResult.attackValue.breakthroughType != BreakthroughType.Heavy) return; + + // 最终伤害提升 50%。上个方案中我们留下了 damageMultiplier,天然完美支持翻倍操作。 + attackResult.attackValue.damageMultiplier += 0.5f; + _isBuffActive = false; + // “一次性”触发,修饰完毕后从玩家的攻击起手事件池里销毁自身,不沾染下一次无关的攻击。 + player.eventSm.onStartAttack.Remove("OverloadBattery_DamageBoost"); + } + + public override void OnDiscarded() + { + base.OnDiscarded(); + + player.eventSm.onStartAttack.Remove("OverloadBattery_DamageBoost"); + + if (overloadSm != null) + { + overloadSm.OnTriggered -= TriggerOverloadEffect; + } + } + } +} diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery.cs.meta b/Assets/Scripts/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery.cs.meta new file mode 100644 index 000000000..ed35ca540 --- /dev/null +++ b/Assets/Scripts/MainGame/Characters/Player/Items/PassiveEquipments/OverloadBattery.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ac011093fb4cf5849942d64e342ea931 \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper.cs b/Assets/Scripts/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper.cs new file mode 100644 index 000000000..1d1407ff7 --- /dev/null +++ b/Assets/Scripts/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace Cielonos.MainGame.Characters.Inventory.Collections +{ + public class SpatialWarpCaliper : PassiveEquipmentBase + { + + } +} diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper.cs.meta b/Assets/Scripts/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper.cs.meta new file mode 100644 index 000000000..88fb5105b --- /dev/null +++ b/Assets/Scripts/MainGame/Characters/Player/Items/PassiveEquipments/SpatialWarpCaliper.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 31abb4a87db9f6340b3cd13cfd7ffb54 \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/Submodules/AttributeSubmodule.cs b/Assets/Scripts/MainGame/Characters/Player/Items/Submodules/AttributeSubmodule.cs index 2d0e9c780..551821b39 100644 --- a/Assets/Scripts/MainGame/Characters/Player/Items/Submodules/AttributeSubmodule.cs +++ b/Assets/Scripts/MainGame/Characters/Player/Items/Submodules/AttributeSubmodule.cs @@ -6,30 +6,60 @@ namespace Cielonos.MainGame.Characters.Inventory { public class AttributeSubmodule : SubmoduleBase { + public int level; + + public AttributeGroup attributeGroup; public Dictionary numericChange; public Dictionary percentageChangeOfAccumulation; public Dictionary percentageChangeOfMultiplication; + + private UpgradeData _upgradeData; + + public bool Has(string attributeName) => attributeGroup.current.ContainsKey(attributeName); + public float Get(string attributeName, float defaultValue) => attributeGroup.current.GetValueOrDefault(attributeName, defaultValue); - public AttributeSubmodule(ItemBase owner, AttributeData data) : base(owner) + public float this[string attributeName] { + get => attributeGroup.current.GetValueOrDefault(attributeName, attributeName.Contains("Multiplier") ? 1 : 0); + set => attributeGroup.current[attributeName] = value; + } + + public AttributeSubmodule(ItemBase owner, AttributeData data, UpgradeData upgradeData = null) : base(owner) + { + this.attributeGroup = new AttributeGroup(data.itemAttributes.ToDictionary()); this.numericChange = new Dictionary(data.chaAttrNumericChange); this.percentageChangeOfAccumulation = new Dictionary(data.chaAttrPercentageChangeOfAccumulation); this.percentageChangeOfMultiplication = new Dictionary(data.chaAttrPercentageChangeOfMultiplication); + this._upgradeData = upgradeData; } public void GetAttributeChanges(string attributeName, out float numeric, out float pAccumulation, out float pMultiplication) { - numeric = numericChange.GetValueOrDefault(attributeName, 0f); + numeric = numericChange.GetValueOrDefault(attributeName, 0f) + GetUpgradeNumericValue(attributeName); pAccumulation = percentageChangeOfAccumulation.GetValueOrDefault(attributeName, 0f); pMultiplication = percentageChangeOfMultiplication.GetValueOrDefault(attributeName, 1f); } public void ApplyAttributeChanges(string attributeName, ref float numeric, ref float pAccumulation, ref float pMultiplication) { - numeric += numericChange.GetValueOrDefault(attributeName, 0f); + numeric += numericChange.GetValueOrDefault(attributeName, 0f) + GetUpgradeNumericValue(attributeName); pAccumulation += percentageChangeOfAccumulation.GetValueOrDefault(attributeName, 0f); pMultiplication *= percentageChangeOfMultiplication.GetValueOrDefault(attributeName, 1f); } + + private float GetUpgradeNumericValue(string attributeName) + { + if (_upgradeData == null || level == 0) return 0f; + + foreach (var upgradeInfo in _upgradeData.upgrades) + { + if (upgradeInfo.attributeKey == attributeName) + { + return upgradeInfo.GetValue(level); + } + } + return 0f; + } public List RefreshAllModifiedAttributes() { @@ -37,7 +67,13 @@ namespace Cielonos.MainGame.Characters.Inventory modifiedAttributes.AddRange(numericChange.Select(kvp => kvp.Key)); modifiedAttributes.AddRange(percentageChangeOfAccumulation.Select(kvp => kvp.Key)); modifiedAttributes.AddRange(percentageChangeOfMultiplication.Select(kvp => kvp.Key)); - + + if (_upgradeData != null) + { + modifiedAttributes.AddRange(_upgradeData.upgrades.Select(u => u.attributeKey)); + } + + modifiedAttributes = modifiedAttributes.Distinct().ToList(); modifiedAttributes.ForEach(attr => owner.player.attributeSm.RefreshAttribute(attr)); return modifiedAttributes; diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/Submodules/FeedbackSubcontroller.cs b/Assets/Scripts/MainGame/Characters/Player/Items/Submodules/FeedbackSubcontroller.cs index 175fd6e93..84cdc5e9a 100644 --- a/Assets/Scripts/MainGame/Characters/Player/Items/Submodules/FeedbackSubcontroller.cs +++ b/Assets/Scripts/MainGame/Characters/Player/Items/Submodules/FeedbackSubcontroller.cs @@ -23,10 +23,24 @@ namespace Cielonos.MainGame.Characters.Inventory public override void Initialize() { base.Initialize(); - if (owner?.player != null) + _timeProvider = new CharacterFeedbackTimeProvider(owner.player); + } + + public FeedbackData GetFeedbackData(string feedbackName) + { + if (feedbackDataCollection == null) { - _timeProvider = new CharacterFeedbackTimeProvider(owner.player); + Debug.LogWarning($"[Item.FeedbackSubcontroller] feedbackDataCollection is null on {owner?.name}."); + return null; } + + if (!feedbackDataCollection.TryGet(feedbackName, out FeedbackData data)) + { + Debug.LogWarning($"[Item.FeedbackSubcontroller] FeedbackData '{feedbackName}' not found on {owner?.name}."); + return null; + } + + return data; } /// @@ -109,7 +123,7 @@ namespace Cielonos.MainGame.Characters.Inventory } // 新系统驱动 - float dt = Time.unscaledDeltaTime; + float dt = Time.deltaTime; for (int i = _activePlayers.Count - 1; i >= 0; i--) { FeedbackPlayer player = _activePlayers[i]; diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/Submodules/OverloadSubmodule.cs b/Assets/Scripts/MainGame/Characters/Player/Items/Submodules/OverloadSubmodule.cs new file mode 100644 index 000000000..4ddefa7dc --- /dev/null +++ b/Assets/Scripts/MainGame/Characters/Player/Items/Submodules/OverloadSubmodule.cs @@ -0,0 +1,50 @@ +using System; +using Sirenix.OdinInspector; +using UnityEngine; + +namespace Cielonos.MainGame.Characters.Inventory +{ + public class OverloadSubmodule : SubmoduleBase + { + public float maximumOverload; + public float currentOverload; + public float minimumCooldown; + public float cooldownTimer; + [ShowInInspector] + public float currentWeight => cooldownTimer > 0f ? 0f : owner.overloadData.overloadWeight; + + [HideInInspector] + public Action OnTriggered; + public OverloadSubmodule(ItemBase owner, OverloadData data) : base(owner) + { + this.maximumOverload = data.maxOverload; + this.minimumCooldown = data.triggerCooldown; + } + + public void Update(float deltaTime) + { + if (cooldownTimer > 0f) + { + cooldownTimer -= deltaTime; + if (cooldownTimer <= 0f) + { + cooldownTimer = 0f; + } + } + } + + public void ReceiveEnergy(float amount) + { + if (cooldownTimer > 0f) return; + + currentOverload += amount; + + if (currentOverload >= maximumOverload) + { + currentOverload = 0f; // 清空能量 + cooldownTimer = minimumCooldown; // 开始冷却 + OnTriggered?.Invoke(); // 触发监听件 + } + } + } +} diff --git a/Assets/Scripts/MainGame/Characters/Player/Items/Submodules/OverloadSubmodule.cs.meta b/Assets/Scripts/MainGame/Characters/Player/Items/Submodules/OverloadSubmodule.cs.meta new file mode 100644 index 000000000..5226a2db4 --- /dev/null +++ b/Assets/Scripts/MainGame/Characters/Player/Items/Submodules/OverloadSubmodule.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 78c68ec19d139584b86cb8f01cd86c10 \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Characters/Player/Player.cs b/Assets/Scripts/MainGame/Characters/Player/Player.cs index 64696cd38..722af3501 100644 --- a/Assets/Scripts/MainGame/Characters/Player/Player.cs +++ b/Assets/Scripts/MainGame/Characters/Player/Player.cs @@ -53,6 +53,10 @@ namespace Cielonos.MainGame.Characters eventSm.onAfterGetAttacked.InsertByPriority("Feedback_GetAttacked", new PrioritizedAction(Feedback_GetAttacked)); eventSm.onHealthChanged.InsertByPriority("UI_HealthBarUpdate", new PrioritizedAction(UI_HealthBarUpdate)); eventSm.onEnergyChanged.InsertByPriority("UI_EnergyBarUpdate", new PrioritizedAction(UI_EnergyBarUpdate)); + + eventSm.onDodgeStart.InsertByPriority("Feedback_DodgeStart", new PrioritizedAction(() => { feedbackSc.PlayFeedback("PerfectDodge"); })); + eventSm.onNormalDodgeSuccess.InsertByPriority("Feedback_NormalDodge", new PrioritizedAction(Feedback_NormalDodge)); + eventSm.onPerfectDodgeSuccess.InsertByPriority("Feedback_PerfectDodge", new PrioritizedAction(Feedback_PerfectDodge)); } protected override void InitializeSubcontrollers() @@ -118,5 +122,15 @@ namespace Cielonos.MainGame.Characters float intensity = Mathf.Lerp(0.25f, 1f, ratio); feedbackSc["GetAttacked"]?.Play(); } + + private void Feedback_PerfectDodge(AttackAreaBase attackArea, DodgeSource dodgeSource) + { + feedbackSc.PlayFeedback("PerfectDodge"); + } + + private void Feedback_NormalDodge(AttackAreaBase attackArea, DodgeSource dodgeSource) + { + feedbackSc.PlayFeedback("NormalDodge"); + } } } \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Characters/Player/PlayerFunctions.cs b/Assets/Scripts/MainGame/Characters/Player/PlayerFunctions.cs index 74fcea6f6..9e1c7f5ce 100644 --- a/Assets/Scripts/MainGame/Characters/Player/PlayerFunctions.cs +++ b/Assets/Scripts/MainGame/Characters/Player/PlayerFunctions.cs @@ -1,4 +1,5 @@ using Cielonos.MainGame.UI; +using SLSUtilities.General; using UnityEngine; namespace Cielonos.MainGame.Characters @@ -12,7 +13,7 @@ namespace Cielonos.MainGame.Characters { private void Regeneration() { - float healthRegenRate = attributeSm["HealthRegen"] * deltaTime; + float healthRegenRate = attributeSm["HealthRegeneration"] * deltaTime; if (healthRegenRate != 0) { @@ -21,13 +22,87 @@ namespace Cielonos.MainGame.Characters PlayerCanvas.Instance.playerInfoUIArea.UpdateHealth(true); } - float energyRegenRate = attributeSm["EnergyRegen"] * deltaTime; - + float energyRegenRate = attributeSm["EnergyRegeneration"] * deltaTime; if (energyRegenRate != 0) { - attributeSm["Energy"] += energyRegenRate; - attributeSm["Energy"] = Mathf.Min(attributeSm["Energy"], attributeSm["MaximumEnergy"]); - PlayerCanvas.Instance.playerInfoUIArea.UpdateEnergy(true); + AddEnergy(energyRegenRate); + } + } + + public void AddEnergy(float amount) + { + if (amount == 0) return; + + if (amount > 0) + { + float current = attributeSm["Energy"]; + float max = attributeSm["MaximumEnergy"]; + float availableSpace = max - current; + + if (amount > availableSpace) + { + attributeSm["Energy"] = max; + + float conversionRate = attributeSm.Has("OverloadConversionRate") ? attributeSm["OverloadConversionRate"] : 1f; + float overflowEnergy = (amount - availableSpace) * conversionRate; + DistributeOverloadEnergy(overflowEnergy); + } + else + { + attributeSm["Energy"] += amount; + } + } + else + { + attributeSm["Energy"] += amount; + attributeSm["Energy"] = Mathf.Max(0, attributeSm["Energy"]); + } + + PlayerCanvas.Instance.playerInfoUIArea.UpdateEnergy(true); + eventSm.onEnergyChanged.Invoke(amount); + } + + private void DistributeOverloadEnergy(float totalOverflowAmount) + { + if (totalOverflowAmount <= 0) return; + + var overloadSubmodules = new System.Collections.Generic.List(); + + if (inventorySc.equipmentSm.currentMainWeapon?.overloadSm != null) + { + overloadSubmodules.Add(inventorySc.equipmentSm.currentMainWeapon.overloadSm); + } + + foreach (var equip in inventorySc.equipmentSm.currentSupportEquipments) + { + if (equip?.overloadSm != null) + { + overloadSubmodules.Add(equip.overloadSm); + } + } + + foreach (var equip in inventorySc.backpack.passiveEquipments) + { + if (equip?.overloadSm != null) + { + overloadSubmodules.Add(equip.overloadSm); + } + } + + if (overloadSubmodules.Count == 0) return; + + float totalWeight = 0; + foreach (var sm in overloadSubmodules) + { + totalWeight += sm.currentWeight; + } + + if (totalWeight <= 0) return; + + foreach (var sm in overloadSubmodules) + { + float assignedAmount = totalOverflowAmount * (sm.currentWeight / totalWeight); + sm.ReceiveEnergy(assignedAmount); } } } diff --git a/Assets/Scripts/MainGame/Characters/Player/PlayerLandMovementSubcontroller.cs b/Assets/Scripts/MainGame/Characters/Player/PlayerLandMovementSubcontroller.cs index 07da49a79..12137c04b 100644 --- a/Assets/Scripts/MainGame/Characters/Player/PlayerLandMovementSubcontroller.cs +++ b/Assets/Scripts/MainGame/Characters/Player/PlayerLandMovementSubcontroller.cs @@ -238,13 +238,22 @@ namespace Cielonos.MainGame.Characters isJumping = true; gravitationalMovement = Vector3.zero; } - + protected override void UpdateFinalMovement() { base.UpdateFinalMovement(); - float horizontalSpeed = horizontalMovement.magnitude / DeltaTime; - float remapFactor = Mathf.InverseLerp(10f, 15f, horizontalSpeed); - PostProcessingManager.Instance.speedLinesSm.SetRemap(1 - remapFactor); + + if (!isDashing && !isDodging) + { + PostProcessingManager.Instance.speedLinesSm.remap.IsPausing = false; + float horizontalSpeed = horizontalMovement.magnitude / DeltaTime; + float remapFactor = Mathf.InverseLerp(10f, 15f, horizontalSpeed); + PostProcessingManager.Instance.speedLinesSm.SetRemap(1 - remapFactor); + } + else + { + PostProcessingManager.Instance.speedLinesSm.remap.IsPausing = true; + } } } } \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base.meta new file mode 100644 index 000000000..0667a0ae7 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8b6df685fb7fcb144a2f10822632a9f5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/CinemachineActionBase.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/CinemachineActionBase.cs new file mode 100644 index 000000000..f6e9a7ea0 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/CinemachineActionBase.cs @@ -0,0 +1,43 @@ +using System; +using Sirenix.OdinInspector; +using SLSUtilities.Feedback; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// Cinemachine摄像机震动Action的基类。 + /// 封装了统一的触发逻辑和参数定义。 + /// + [Serializable] + public abstract class CinemachineActionBase : FeedbackActionBase + { + public override void OnStart(FeedbackContext context) + { + TriggerEvent(context); + } + + public override void OnUpdate(FeedbackContext context, float normalizedTime) + { + } + + public override void OnEnd(FeedbackContext context) + { + } + + public override void OnInterrupt(FeedbackContext context) + { + StopEvent(context); + } + + /// + /// 触发震动事件(由子类实现)。 + /// + protected abstract void TriggerEvent(FeedbackContext context); + + /// + /// 停止震动事件(由子类实现)。 + /// + protected abstract void StopEvent(FeedbackContext context); + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/CinemachineActionBase.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/CinemachineActionBase.cs.meta new file mode 100644 index 000000000..891e91f7d --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/CinemachineActionBase.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: bfcba53df80e9ad468aa639ef88e9c57 \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/CurveChannel.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/CurveChannel.cs new file mode 100644 index 000000000..1815f180a --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/CurveChannel.cs @@ -0,0 +1,181 @@ +using System; +using Sirenix.OdinInspector; +using SLSUtilities.Feedback; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// 曲线通道模块,用于定义一个可复用的曲线震动参数。 + /// 包含激活状态、曲线定义、重映射范围。 + /// + [Serializable] + public struct FloatCurveChannel + { + /// + /// 是否启用此通道。 + /// + public bool active; + + /// + /// 震动曲线,X轴为归一化时间[0,1],Y轴为强度[0,1]。 + /// + [ShowIf("active")] + [ShakeCurvePreset] + public AnimationCurve curve; + + /// + /// 曲线值0对应的实际数值。 + /// + [ShowIf("active")] + [LabelText("Remap Min")] + public float remapMin; + + /// + /// 曲线值1对应的实际数值。 + /// + [ShowIf("active")] + [LabelText("Remap Max")] + public float remapMax; + + /// + /// 是否相对初始值叠加。 + /// + [Tooltip("开启时,结果叠加在初始值上;关闭时,结果为绝对值")] + public bool relativeToInitial; + + /// + /// 创建默认的曲线通道。 + /// + public static FloatCurveChannel CreateDefault(bool active = true, float remapMin = 0f, float remapMax = 1f, bool relativeToInitial = true) + { + return new FloatCurveChannel + { + active = active, + curve = new AnimationCurve( + new Keyframe(0f, 0f), + new Keyframe(0.5f, 1f), + new Keyframe(1f, 0f) + ), + remapMin = remapMin, + remapMax = remapMax, + relativeToInitial = relativeToInitial + }; + } + + /// + /// 根据归一化时间计算当前值。 + /// + public readonly float Evaluate(float normalizedTime) + { + if (!active || curve == null) return 0f; + float t = Mathf.Clamp01(normalizedTime); + float curveValue = curve.Evaluate(t); + return Mathf.LerpUnclamped(remapMin, remapMax, curveValue); + } + } + + /// + /// 带颜色选项的曲线通道。 + /// + [Serializable] + public struct ColorCurveChannel + { + /// + /// 是否启用此通道。 + /// + public bool active; + + /// + /// 颜色渐变。 + /// + [ShowIf("active")] + [LabelText("颜色渐变")] + public Gradient gradient; + + /// + /// 创建默认的颜色曲线通道。 + /// + public static ColorCurveChannel CreateDefault() + { + return new ColorCurveChannel + { + active = true, + gradient = new Gradient() + }; + } + + /// + /// 根据归一化时间获取颜色。 + /// + public Color Evaluate(float normalizedTime) + { + if (!active || gradient == null) return Color.white; + return gradient.Evaluate(Mathf.Clamp01(normalizedTime)); + } + } + + /// + /// 带Vector2选项的曲线通道(用于中心点等)。 + /// + [Serializable] + public struct Vector2CurveChannel + { + public bool active; + + [ShowIf("active")] + [LabelText("曲线 X")] + [ShakeCurvePreset] + public AnimationCurve curveX; + + [ShowIf("active")] + [LabelText("曲线 Y")] + [ShakeCurvePreset] + public AnimationCurve curveY; + + [ShowIf("active")] + [LabelText("Remap Min")] + public Vector2 remapMin; + + [ShowIf("active")] + [LabelText("Remap Max")] + public Vector2 remapMax; + + /// + /// 是否相对初始值叠加。 + /// + [TitleGroup("高级设置")] + [LabelText("相对初始值")] + [Tooltip("开启时,结果叠加在初始值上;关闭时,结果为绝对值")] + public bool relativeToInitial; + + public static Vector2CurveChannel CreateDefault() + { + return new Vector2CurveChannel + { + active = true, + curveX = new AnimationCurve(new Keyframe(0f, 0f), new Keyframe(1f, 1f)), + curveY = new AnimationCurve(new Keyframe(0f, 0f), new Keyframe(1f, 1f)), + remapMin = Vector2.zero, + remapMax = Vector2.one + }; + } + + /// + /// 根据归一化时间计算Vector2值。 + /// + public Vector2 Evaluate(float normalizedTime, Vector2 initialValue) + { + if (!active) return Vector2.zero; + float t = Mathf.Clamp01(normalizedTime); + float x = curveX?.Evaluate(t) ?? 0f; + float y = curveY?.Evaluate(t) ?? 0f; + Vector2 remappedValue = new Vector2( + Mathf.LerpUnclamped(remapMin.x, remapMax.x, x), + Mathf.LerpUnclamped(remapMin.y, remapMax.y, y) + ); + + return relativeToInitial ? initialValue + remappedValue : remappedValue; + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/CurveChannel.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/CurveChannel.cs.meta new file mode 100644 index 000000000..e9e72aea0 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/CurveChannel.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e453f5e1c6b44764f8284800f9f46479 \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/PostprocessingActionBase.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/PostprocessingActionBase.cs new file mode 100644 index 000000000..d8753ab1b --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/PostprocessingActionBase.cs @@ -0,0 +1,44 @@ +using System; +using Sirenix.OdinInspector; +using SLSUtilities.Feedback; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// 后处理震动Action的基类。 + /// 封装了统一的曲线参数定义和生命周期管理。 + /// 子类需要实现TriggerEvent和StopEvent抽象方法。 + /// + [Serializable] + public abstract class PostprocessingActionBase : FeedbackActionBase + { + public override void OnStart(FeedbackContext context) + { + TriggerEvent(context); + } + + public override void OnUpdate(FeedbackContext context, float normalizedTime) + { + } + + public override void OnEnd(FeedbackContext context) + { + } + + public override void OnInterrupt(FeedbackContext context) + { + StopEvent(context); + } + + /// + /// 触发震动事件(由子类实现)。 + /// + protected abstract void TriggerEvent(FeedbackContext context); + + /// + /// 停止震动事件(由子类实现)。 + /// + protected abstract void StopEvent(FeedbackContext context); + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/PostprocessingActionBase.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/PostprocessingActionBase.cs.meta new file mode 100644 index 000000000..599e3355c --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Base/PostprocessingActionBase.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a4a098e68b58d5e4487a805af4437aea \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CameraPositionShakeAction.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CameraPositionShakeAction.cs deleted file mode 100644 index dbee9babf..000000000 --- a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CameraPositionShakeAction.cs +++ /dev/null @@ -1,102 +0,0 @@ -using System; -using MoreMountains.Feedbacks; -using Sirenix.OdinInspector; -using SLSUtilities.Feedback; -using UnityEngine; - -namespace Cielonos.MainGame.Effects.Feedback -{ - /// - /// 摄像机位移震动反馈,通过 MMCinemachinePositionShakeEvent 触发现有的 Shaker。 - /// Shaker 负责处理多个震动的叠加混合。 - /// - [Serializable] - public class CameraPositionShakeAction : FeedbackActionBase - { - public override string DisplayName => "Camera Position Shake"; - - /// - /// 震动曲线,定义震动强度随时间的变化。 - /// - [Title("Position Shake")] - [LabelText("Shake Curve")] - public AnimationCurve shakeCurve = new AnimationCurve( - new Keyframe(0f, 0f), - new Keyframe(0.2f, 1f), - new Keyframe(1f, 0f) - ); - - /// - /// 最大位移振幅(本地空间)。 - /// - [LabelText("Amplitude")] - public Vector3 positionAmplitude = new Vector3(0.5f, 0.5f, 0f); - - /// - /// 方向影响设置。 - /// - [Title("Direction")] - public CameraDirectionSettings directionSettings = new CameraDirectionSettings(); - - /// - /// 距离衰减:根据摄像机与 owner 的距离衰减震动强度。 - /// - [Title("Distance Attenuation")] - [LabelText("Use Attenuation")] - public bool useAttenuation; - - /// - /// 全强度的最大距离。 - /// - [ShowIf("useAttenuation")] - [LabelText("Attenuation Range")] - public float attenuationRange = 50f; - - /// - /// 距离-强度衰减曲线(0=近处/全强度,1=远处/无强度)。 - /// - [ShowIf("useAttenuation")] - [LabelText("Attenuation Curve")] - public AnimationCurve attenuationCurve = new AnimationCurve( - new Keyframe(0f, 1f), - new Keyframe(1f, 0f) - ); - - public override void OnStart(FeedbackContext context) - { - Vector3 finalAmplitude = directionSettings.TransformAmplitude(positionAmplitude, context.owner); - float intensityMultiplier = ComputeAttenuation(context); - - MMCinemachinePositionShakeEvent.Trigger( - null, - shakeCurve, - context.duration, - finalAmplitude, - intensityMultiplier - ); - } - - public override void OnInterrupt(FeedbackContext context) - { - MMCinemachinePositionShakeEvent.Trigger( - null, shakeCurve, 0f, Vector3.zero, 0f, - stop: true - ); - } - - /// - /// 计算距离衰减系数。 - /// - private float ComputeAttenuation(FeedbackContext context) - { - if (!useAttenuation || context.owner == null) return 1f; - - Camera mainCamera = Camera.main; - if (mainCamera == null) return 1f; - - float distance = Vector3.Distance(context.owner.position, mainCamera.transform.position); - float normalizedDistance = Mathf.Clamp01(distance / attenuationRange); - return attenuationCurve.Evaluate(normalizedDistance); - } - } -} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CameraRotationShakeAction.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CameraRotationShakeAction.cs deleted file mode 100644 index d7fd5400c..000000000 --- a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CameraRotationShakeAction.cs +++ /dev/null @@ -1,98 +0,0 @@ -using System; -using MoreMountains.FeedbacksForThirdParty; -using Sirenix.OdinInspector; -using SLSUtilities.Feedback; -using UnityEngine; - -namespace Cielonos.MainGame.Effects.Feedback -{ - /// - /// 摄像机旋转震动反馈,通过 MMCinemachineRotationShakeEvent 触发现有的 Shaker。 - /// X/Y 作用于 FollowTarget 旋转,Z 作用于 Dutch 倾斜。 - /// - [Serializable] - public class CameraRotationShakeAction : FeedbackActionBase - { - public override string DisplayName => "Camera Rotation Shake"; - - /// - /// 震动曲线,定义震动强度随时间的变化。 - /// - [Title("Rotation Shake")] - [LabelText("Shake Curve")] - public AnimationCurve shakeCurve = new AnimationCurve( - new Keyframe(0f, 0f), - new Keyframe(0.2f, 1f), - new Keyframe(1f, 0f) - ); - - /// - /// 最大旋转角度振幅(度)。X/Y -> FollowTarget, Z -> Dutch。 - /// - [LabelText("Rotation Amplitude")] - public Vector3 rotationAmplitude = new Vector3(2f, 2f, 5f); - - /// - /// 方向影响设置。 - /// - [Title("Direction")] - public CameraDirectionSettings directionSettings = new CameraDirectionSettings(); - - /// - /// 距离衰减。 - /// - [Title("Distance Attenuation")] - [LabelText("Use Attenuation")] - public bool useAttenuation; - - [ShowIf("useAttenuation")] - [LabelText("Attenuation Range")] - public float attenuationRange = 50f; - - [ShowIf("useAttenuation")] - [LabelText("Attenuation Curve")] - public AnimationCurve attenuationCurve = new AnimationCurve( - new Keyframe(0f, 1f), - new Keyframe(1f, 0f) - ); - - public override void OnStart(FeedbackContext context) - { - Vector3 finalAmplitude = directionSettings.TransformAmplitude(rotationAmplitude, context.owner); - float intensityMultiplier = ComputeAttenuation(context); - - MMCinemachineRotationShakeEvent.Trigger( - null, - shakeCurve, - context.duration, - finalAmplitude, - 0f, 1f, false, - intensityMultiplier - ); - } - - public override void OnInterrupt(FeedbackContext context) - { - MMCinemachineRotationShakeEvent.Trigger( - null, shakeCurve, 0f, Vector3.zero, - 0f, 1f, false, - stop: true - ); - } - - /// - /// 计算距离衰减系数。 - /// - private float ComputeAttenuation(FeedbackContext context) - { - if (!useAttenuation || context.owner == null) return 1f; - - Camera mainCamera = Camera.main; - if (mainCamera == null) return 1f; - - float distance = Vector3.Distance(context.owner.position, mainCamera.transform.position); - float normalizedDistance = Mathf.Clamp01(distance / attenuationRange); - return attenuationCurve.Evaluate(normalizedDistance); - } - } -} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/ChromaticAberrationAction.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/ChromaticAberrationAction.cs deleted file mode 100644 index 2f53e8244..000000000 --- a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/ChromaticAberrationAction.cs +++ /dev/null @@ -1,126 +0,0 @@ -using System; -using Cielonos; -using Sirenix.OdinInspector; -using SLSUtilities.Feedback; -using SLSUtilities.Rendering.PostProcessing; -using UnityEngine; - -namespace Cielonos.MainGame.Effects.Feedback -{ - /// - /// 高级色散反馈动作,通过 PostProcessingManager 驱动 AdvancedChromaticAberration Volume 参数。 - /// - [Serializable] - public class ChromaticAberrationAction : CurveShakeAction - { - public override string DisplayName => "Chromatic Aberration"; - - /// - /// 是否同时修改中心点。 - /// - [Title("Chromatic Aberration Settings")] - [LabelText("Modify Center")] - public bool modifyCenter; - - [ShowIf("modifyCenter")] - [LabelText("Center")] - public Vector2 center = new Vector2(0.5f, 0.5f); - - /// - /// 是否同时修改抖动强度。 - /// - [LabelText("Modify Jitter")] - public bool modifyJitter; - - [ShowIf("modifyJitter")] - [LabelText("Jitter Curve")] - public AnimationCurve jitterCurve = new AnimationCurve( - new Keyframe(0f, 0f), - new Keyframe(0.5f, 1f), - new Keyframe(1f, 0f) - ); - - [ShowIf("modifyJitter")] - [LabelText("Jitter Remap Min")] - public float jitterRemapMin; - - [ShowIf("modifyJitter")] - [LabelText("Jitter Remap Max")] - public float jitterRemapMax = 0.5f; - - [NonSerialized] private AdvancedChromaticAberration _aca; - [NonSerialized] private float _initialIntensity; - [NonSerialized] private Vector2 _initialCenter; - [NonSerialized] private float _initialJitter; - [NonSerialized] private bool _resolved; - - public override void OnStart(FeedbackContext context) - { - _resolved = TryResolveComponent(); - if (!_resolved) return; - - _initialIntensity = _aca.intensity.value; - _initialCenter = _aca.center.value; - _initialJitter = _aca.jitterIntensity.value; - - if (modifyCenter) - { - _aca.center.value = center; - } - } - - public override void OnUpdate(FeedbackContext context, float normalizedTime) - { - if (!_resolved) return; - - float newIntensity = EvaluateShake(normalizedTime, _initialIntensity); - _aca.intensity.value = newIntensity; - - if (modifyJitter) - { - float jitterValue = jitterCurve.Evaluate(normalizedTime); - float mappedJitter = Mathf.LerpUnclamped(jitterRemapMin, jitterRemapMax, jitterValue); - _aca.jitterIntensity.value = relativeToInitial ? _initialJitter + mappedJitter : mappedJitter; - } - } - - public override void OnEnd(FeedbackContext context) - { - RestoreValues(); - } - - public override void OnInterrupt(FeedbackContext context) - { - RestoreValues(); - } - - private bool TryResolveComponent() - { - if (_aca != null) return true; - - if (PostProcessingManager.Instance == null) - { - Debug.LogWarning("[ChromaticAberrationAction] PostProcessingManager instance not found."); - return false; - } - - if (!PostProcessingManager.Instance.GetVolumeComponent(out _aca)) - { - Debug.LogWarning("[ChromaticAberrationAction] AdvancedChromaticAberration not found in Volume Profile."); - return false; - } - - return true; - } - - private void RestoreValues() - { - if (!_resolved) return; - - _aca.intensity.value = _initialIntensity; - _aca.center.value = _initialCenter; - _aca.jitterIntensity.value = _initialJitter; - _resolved = false; - } - } -} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine.meta new file mode 100644 index 000000000..ba6a8d422 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5b5dc09ccaea7ab41847c4a59492bc44 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CameraDirectionSettings.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraDirectionSettings.cs similarity index 96% rename from Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CameraDirectionSettings.cs rename to Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraDirectionSettings.cs index 6ec569c36..749821da9 100644 --- a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CameraDirectionSettings.cs +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraDirectionSettings.cs @@ -51,7 +51,7 @@ namespace Cielonos.MainGame.Effects.Feedback if (affectedByCameraDirection) { - Camera mainCamera = Camera.main; + Camera mainCamera = MainGameManager.Instance.player.viewSc.playerCamera; if (mainCamera != null) { return mainCamera.transform.TransformDirection(localAmplitude); diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CameraDirectionSettings.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraDirectionSettings.cs.meta similarity index 100% rename from Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CameraDirectionSettings.cs.meta rename to Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraDirectionSettings.cs.meta diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraFieldOfViewAction.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraFieldOfViewAction.cs new file mode 100644 index 000000000..1632a76ec --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraFieldOfViewAction.cs @@ -0,0 +1,42 @@ +using System; +using Sirenix.OdinInspector; +using SLSUtilities.Feedback; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// 摄像机视野角(FOV)反馈动作,通过 CameraFovShakeEvent 触发 CameraFovShaker。 + /// + [Serializable] + [FeedbackActionColor(0.2f, 0.8f, 0.9f)] + public class CameraFieldOfViewAction : CinemachineActionBase + { + public override string DisplayName => "Camera Field of View"; + + [TitleGroup("FOV设置")] + [LabelText("FOV曲线")] + public FloatCurveChannel fovCurve = FloatCurveChannel.CreateDefault(remapMax: 10f); + + protected override void TriggerEvent(FeedbackContext context) + { + CameraFovShakeEvent.Trigger(context, fovCurve); + } + + protected override void StopEvent(FeedbackContext context) + { + CameraFovShakeEvent.Trigger(context, fovCurve, true); + } + + public override bool Validate(out string error) + { + if (!fovCurve.active) + { + error = "FOV curve is not enabled."; + return false; + } + error = null; + return true; + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraFieldOfViewAction.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraFieldOfViewAction.cs.meta new file mode 100644 index 000000000..ff8f289f9 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraFieldOfViewAction.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 6b01df3a292fc2748ab56454e289de8f \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraPositionShakeAction.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraPositionShakeAction.cs new file mode 100644 index 000000000..110a42760 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraPositionShakeAction.cs @@ -0,0 +1,78 @@ +using System; +using Sirenix.OdinInspector; +using SLSUtilities.Feedback; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// 摄像机位移震动反馈,通过 CameraPositionShakeEvent 触发 CinemachinePositionShaker。 + /// + [Serializable] + [FeedbackActionColor(0.4f, 0.8f, 0.4f)] + public class CameraPositionShakeAction : CinemachineActionBase + { + public override string DisplayName => "Camera Position Shake"; + + [TitleGroup("位移震动设置")] + [LabelText("震动曲线")] + public FloatCurveChannel intensityCurve = FloatCurveChannel.CreateDefault(); + + [TitleGroup("位移震动设置")] + [LabelText("振幅")] + public Vector3 amplitude = new Vector3(0.5f, 0.5f, 0f); + + [TitleGroup("方向设置")] + public CameraDirectionSettings directionSettings = new CameraDirectionSettings(); + + [TitleGroup("距离衰减")] + [LabelText("启用衰减")] + public bool useAttenuation; + + [ShowIf("useAttenuation")] + [LabelText("衰减范围")] + public float attenuationRange = 50f; + + [ShowIf("useAttenuation")] + [LabelText("衰减曲线")] + public AnimationCurve attenuationCurve = new AnimationCurve( + new Keyframe(0f, 1f), + new Keyframe(1f, 0f) + ); + + protected override void TriggerEvent(FeedbackContext context) + { + Vector3 finalAmplitude = directionSettings.TransformAmplitude(amplitude, context.owner); + float intensityMultiplier = ComputeAttenuation(context); + CameraRotationShakeEvent.Trigger(context, intensityCurve, finalAmplitude * intensityMultiplier); + } + + protected override void StopEvent(FeedbackContext context) + { + CameraPositionShakeEvent.Trigger(context, intensityCurve, Vector3.zero, true); + } + + private float ComputeAttenuation(FeedbackContext context) + { + if (!useAttenuation || context.owner == null) return 1f; + + Camera mainCamera = Camera.main; + if (mainCamera == null) return 1f; + + float distance = Vector3.Distance(context.owner.position, mainCamera.transform.position); + float normalizedDistance = Mathf.Clamp01(distance / attenuationRange); + return attenuationCurve.Evaluate(normalizedDistance); + } + + public override bool Validate(out string error) + { + if (!intensityCurve.active) + { + error = "Intensity curve is not enabled."; + return false; + } + error = null; + return true; + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CameraPositionShakeAction.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraPositionShakeAction.cs.meta similarity index 100% rename from Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CameraPositionShakeAction.cs.meta rename to Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraPositionShakeAction.cs.meta diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraRotationShakeAction.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraRotationShakeAction.cs new file mode 100644 index 000000000..0ce0f3543 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraRotationShakeAction.cs @@ -0,0 +1,70 @@ +using System; +using Sirenix.OdinInspector; +using SLSUtilities.Feedback; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// 摄像机旋转震动反馈,通过 CameraRotationShakeEvent 触发 CinemachineRotationShaker。 + /// X/Y 作用于 FollowTarget 旋转,Z 作用于 Dutch 倾斜。 + /// + [Serializable] + [FeedbackActionColor(0.3f, 0.7f, 0.3f)] + public class CameraRotationShakeAction : CinemachineActionBase + { + public override string DisplayName => "Camera Rotation Shake"; + + public Vector3 amplitude; + + [LabelText("X轴曲线")] + public FloatCurveChannel intensityCurve = FloatCurveChannel.CreateDefault(remapMax: 5f); + + public CameraDirectionSettings directionSettings = new CameraDirectionSettings(); + + [TitleGroup("距离衰减")] + [LabelText("启用衰减")] + public bool useAttenuation; + + [ShowIf("useAttenuation")] + [LabelText("衰减范围")] + public float attenuationRange = 50f; + + [ShowIf("useAttenuation")] + [LabelText("衰减曲线")] + public AnimationCurve attenuationCurve = new AnimationCurve( + new Keyframe(0f, 1f), + new Keyframe(1f, 0f) + ); + + protected override void TriggerEvent(FeedbackContext context) + { + Vector3 finalAmplitude = directionSettings.TransformAmplitude(amplitude, context.owner); + float intensityMultiplier = ComputeAttenuation(context); + CameraRotationShakeEvent.Trigger(context, intensityCurve, finalAmplitude * intensityMultiplier); + } + + protected override void StopEvent(FeedbackContext context) + { + CameraRotationShakeEvent.Trigger(context, intensityCurve, Vector3.zero, true); + } + + private float ComputeAttenuation(FeedbackContext context) + { + if (!useAttenuation || context.owner == null) return 1f; + + Camera mainCamera = Camera.main; + if (mainCamera == null) return 1f; + + float distance = Vector3.Distance(context.owner.position, mainCamera.transform.position); + float normalizedDistance = Mathf.Clamp01(distance / attenuationRange); + return attenuationCurve.Evaluate(normalizedDistance); + } + + public override bool Validate(out string error) + { + error = null; + return true; + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CameraRotationShakeAction.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraRotationShakeAction.cs.meta similarity index 100% rename from Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CameraRotationShakeAction.cs.meta rename to Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Cinemachine/CameraRotationShakeAction.cs.meta diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CinemachineImpulseAction.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CinemachineImpulseAction.cs deleted file mode 100644 index 2bdc7237a..000000000 --- a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CinemachineImpulseAction.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System; -using Sirenix.OdinInspector; -using SLSUtilities.Feedback; -using Unity.Cinemachine; -using UnityEngine; - -namespace Cielonos.MainGame.Effects.Feedback -{ - /// - /// Cinemachine Impulse 反馈,通过 CinemachineImpulseDefinition 直接创建脉冲事件。 - /// 需要场景中 Cinemachine Camera 上有 CinemachineImpulseListener 组件。 - /// - [Serializable] - public class CinemachineImpulseAction : FeedbackActionBase - { - public override string DisplayName => "Cinemachine Impulse"; - - /// - /// Impulse 定义,包含信号形状、衰减模式、持续时间等。 - /// - [Title("Impulse Settings")] - public CinemachineImpulseDefinition impulseDefinition = new CinemachineImpulseDefinition(); - - /// - /// 脉冲速度向量。 - /// - [LabelText("Velocity")] - public Vector3 velocity = new Vector3(5f, 5f, 5f); - - /// - /// Stop 时是否清除所有 impulse。 - /// - [LabelText("Clear Impulse on Stop")] - public bool clearImpulseOnStop; - - /// - /// 方向影响设置。 - /// - [Title("Direction")] - public CameraDirectionSettings directionSettings = new CameraDirectionSettings(); - - public override void OnStart(FeedbackContext context) - { - Vector3 finalVelocity = directionSettings.TransformAmplitude(velocity, context.owner); - Vector3 position = context.owner != null ? context.owner.position : Vector3.zero; - - CinemachineImpulseManager.Instance.IgnoreTimeScale = true; - impulseDefinition.CreateEvent(position, finalVelocity); - } - - public override void OnInterrupt(FeedbackContext context) - { - if (clearImpulseOnStop) - { - CinemachineImpulseManager.Instance.Clear(); - } - } - } -} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CinemachineImpulseAction.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CinemachineImpulseAction.cs.meta deleted file mode 100644 index e86b74d2f..000000000 --- a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/CinemachineImpulseAction.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 4e30410247dced6409fff042f9c8828a \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing.meta new file mode 100644 index 000000000..49e6b08f2 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 84b87c262bd85754b9840ceb6830c8ef +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/ACESAction.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/ACESAction.cs new file mode 100644 index 000000000..ed2e81154 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/ACESAction.cs @@ -0,0 +1,85 @@ +using System; +using Sirenix.OdinInspector; +using SLSUtilities.Feedback; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// Anime ACES 反馈动作,通过 AnimeACESShakeEvent 触发 AnimeACESShaker。 + /// + [Serializable] + [FeedbackActionColor(0.9f, 0.4f, 0.2f)] + public class AnimeACESAction : PostprocessingActionBase + { + public override string DisplayName => "Anime ACES Tone"; + + [TitleGroup("曝光度")] + [LabelText("修改曝光度")] + public bool modifyExposure; + + [ShowIf("modifyExposure")] + [LabelText("曝光度曲线")] + public FloatCurveChannel exposureChannel = FloatCurveChannel.CreateDefault(); + + [TitleGroup("对比度")] + [LabelText("修改对比度")] + public bool modifyContrast; + + [ShowIf("modifyContrast")] + [LabelText("对比度曲线")] + public FloatCurveChannel contrastChannel = FloatCurveChannel.CreateDefault(); + + [TitleGroup("饱和度")] + [LabelText("修改饱和度")] + public bool modifySaturation; + + [ShowIf("modifySaturation")] + [LabelText("饱和度曲线")] + public FloatCurveChannel saturationChannel = FloatCurveChannel.CreateDefault(); + + [TitleGroup("色相")] + [LabelText("修改色相")] + public bool modifyHue; + + [ShowIf("modifyHue")] + [LabelText("色相曲线")] + public FloatCurveChannel hueChannel = FloatCurveChannel.CreateDefault(); + + [TitleGroup("颜色滤镜")] + [LabelText("修改颜色滤镜")] + public bool modifyColorFilter; + + [ShowIf("modifyColorFilter")] + [LabelText("颜色滤镜渐变")] + public ColorCurveChannel colorFilterChannel = ColorCurveChannel.CreateDefault(); + + protected override void TriggerEvent(FeedbackContext context) + { + AnimeACESShakeEvent.Trigger( + context, + exposureChannel, + contrastChannel, + saturationChannel, + hueChannel, + colorFilterChannel + ); + } + + protected override void StopEvent(FeedbackContext context) + { + AnimeACESShakeEvent.Trigger(context, stop: true); + } + + public override bool Validate(out string error) + { + if (!modifyExposure && !modifyContrast && !modifySaturation && !modifyHue && !modifyColorFilter) + { + error = "No channel is enabled. Enable at least one channel."; + return false; + } + error = null; + return true; + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/ACESAction.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/ACESAction.cs.meta new file mode 100644 index 000000000..c2c443333 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/ACESAction.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 81ca349cbc0a67e40bb42b89d4702a3c \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/BloomAction.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/BloomAction.cs new file mode 100644 index 000000000..8ace70e40 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/BloomAction.cs @@ -0,0 +1,10 @@ +using SLSUtilities.Feedback; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + public class BloomAction : CurveShakeAction + { + + } +} \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/BloomAction.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/BloomAction.cs.meta new file mode 100644 index 000000000..51506558b --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/BloomAction.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f30cb59f5ebeee44e99100865ced4e94 \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/ChromaticAberrationAction.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/ChromaticAberrationAction.cs new file mode 100644 index 000000000..595360104 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/ChromaticAberrationAction.cs @@ -0,0 +1,56 @@ +using System; +using Sirenix.OdinInspector; +using SLSUtilities.Feedback; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// 高级色散反馈动作,通过 ChromaticAberrationShakeEvent 触发 ChromaticAberrationShaker。 + /// + [Serializable] + [FeedbackActionColor(0.8f, 0.4f, 0.8f)] + public class ChromaticAberrationAction : PostprocessingActionBase + { + public override string DisplayName => "Chromatic Aberration"; + + public FloatCurveChannel intensityCurve = FloatCurveChannel.CreateDefault(remapMax: 1f); + + /// + /// 是否同时修改中心点。 + /// + [LabelText("修改中心点")] + public bool modifyCenter; + + [ShowIf("modifyCenter")] + [LabelText("中心点曲线")] + public Vector2CurveChannel centerCurve = Vector2CurveChannel.CreateDefault(); + + /// + /// 是否同时修改抖动强度。 + /// + [LabelText("修改抖动")] + public bool modifyJitter; + + [ShowIf("modifyJitter")] + [LabelText("抖动曲线")] + public FloatCurveChannel jitterCurve = FloatCurveChannel.CreateDefault(remapMax: 0.5f); + + protected override void TriggerEvent(FeedbackContext context) + { + ChromaticAberrationShakeEvent.Trigger( + context, + intensityCurve, + modifyCenter, + centerCurve, + modifyJitter, + jitterCurve + ); + } + + protected override void StopEvent(FeedbackContext context) + { + ChromaticAberrationShakeEvent.Trigger(context, intensityCurve, stop: true); + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/ChromaticAberrationAction.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/ChromaticAberrationAction.cs.meta similarity index 100% rename from Assets/Scripts/MainGame/Effects/Feedbacks/Actions/ChromaticAberrationAction.cs.meta rename to Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/ChromaticAberrationAction.cs.meta diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/RadialBlurAction.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/RadialBlurAction.cs new file mode 100644 index 000000000..7f83c69e9 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/RadialBlurAction.cs @@ -0,0 +1,48 @@ +using System; +using Sirenix.OdinInspector; +using SLSUtilities.Feedback; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// 径向模糊反馈动作,通过 RadialBlurShakeEvent 触发 RadialBlurShaker。 + /// + [Serializable] + [FeedbackActionColor(0.6f, 0.4f, 0.9f)] + public class RadialBlurAction : PostprocessingActionBase + { + public override string DisplayName => "Radial Blur"; + + public FloatCurveChannel intensityCurve = FloatCurveChannel.CreateDefault(remapMax: 1f); + + /// + /// 是否修改模糊中心点。关闭时保持 Volume 当前设置。 + /// + [LabelText("修改中心点")] + public bool modifyCenter; + + /// + /// 模糊中心的屏幕坐标 (0-1)。(0.5, 0.5) 为屏幕正中心。 + /// + [ShowIf("modifyCenter")] + [LabelText("中心点")] + public Vector2 center = new Vector2(0.5f, 0.5f); + + protected override void TriggerEvent(FeedbackContext context) + { + RadialBlurShakeEvent.Trigger(context, intensityCurve, modifyCenter, center); + } + + protected override void StopEvent(FeedbackContext context) + { + RadialBlurShakeEvent.Trigger(context, default, stop: true); + } + + public override bool Validate(out string error) + { + error = null; + return true; + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/RadialBlurAction.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/RadialBlurAction.cs.meta similarity index 100% rename from Assets/Scripts/MainGame/Effects/Feedbacks/Actions/RadialBlurAction.cs.meta rename to Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/RadialBlurAction.cs.meta diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/StrobeFlashAction.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/StrobeFlashAction.cs new file mode 100644 index 000000000..36f5e19d7 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/StrobeFlashAction.cs @@ -0,0 +1,59 @@ +using System; +using Sirenix.OdinInspector; +using SLSUtilities.Feedback; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// 黑白闪反馈动作,通过 StrobeFlashShakeEvent 触发 StrobeFlashShaker。 + /// + [Serializable] + [FeedbackActionColor(1.0f, 0.9f, 0.3f)] + public class StrobeFlashAction : PostprocessingActionBase + { + public override string DisplayName => "Strobe Flash"; + + /// + /// 是否修改频率和颜色参数。 + /// + [TitleGroup("闪烁设置")] + [LabelText("修改额外参数")] + public bool modifyExtra; + + [ShowIf("modifyExtra")] + [LabelText("频率曲线")] + public FloatCurveChannel frequencyCurve = FloatCurveChannel.CreateDefault(remapMax: 15f); + + [ShowIf("modifyExtra")] + [LabelText("高颜色")] + public ColorCurveChannel colorHigh = ColorCurveChannel.CreateDefault(); + + [ShowIf("modifyExtra")] + [LabelText("低颜色")] + public ColorCurveChannel colorLow = ColorCurveChannel.CreateDefault(); + + protected override void TriggerEvent(FeedbackContext context) + { + StrobeFlashShakeEvent.Trigger( + context, + context.duration, + modifyExtra, + frequencyCurve, + colorHigh, + colorLow + ); + } + + protected override void StopEvent(FeedbackContext context) + { + StrobeFlashShakeEvent.Trigger(context, 0f, stop: true); + } + + public override bool Validate(out string error) + { + error = null; + return true; + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/StrobeFlashAction.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/StrobeFlashAction.cs.meta similarity index 100% rename from Assets/Scripts/MainGame/Effects/Feedbacks/Actions/StrobeFlashAction.cs.meta rename to Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/StrobeFlashAction.cs.meta diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/VignetteAction.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/VignetteAction.cs new file mode 100644 index 000000000..c66beb710 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/VignetteAction.cs @@ -0,0 +1,115 @@ +using System; +using Sirenix.OdinInspector; +using SLSUtilities.Feedback; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// 高级暗角反馈动作,通过 VignetteShakeEvent 触发 VignetteShaker。 + /// + [Serializable] + [FeedbackActionColor(0.9f, 0.5f, 0.3f)] + public class VignetteAction : PostprocessingActionBase + { + public override string DisplayName => "Vignette"; + + + public FloatCurveChannel intensityCurve = FloatCurveChannel.CreateDefault(remapMax: 1f); + + /// + /// 是否修改暗角中心点。 + /// + [LabelText("修改中心点")] + public bool modifyCenter; + + /// + /// 模糊中心的屏幕坐标 (0-1)。(0.5, 0.5) 为屏幕正中心。 + /// + [HideIf("modifyCenter")] + [LabelText("中心点")] + public Vector2 center = new Vector2(0.5f, 0.5f); + + [ShowIf("modifyCenter")] + public Vector2CurveChannel centerCurve = Vector2CurveChannel.CreateDefault(); + + /// + /// 是否修改颜色。 + /// + [LabelText("修改颜色")] + public bool modifyColors; + + [HideIf("modifyColors")] + public Color outColor; + + [HideIf("modifyColors")] + public Color innerColor; + + /// + /// 外圈颜色。 + /// + [ShowIf("modifyColors")] + [LabelText("外圈颜色")] + public ColorCurveChannel outerColorCurve = ColorCurveChannel.CreateDefault(); + + /// + /// 内圈颜色。 + /// + [ShowIf("modifyColors")] + [LabelText("内圈颜色")] + public ColorCurveChannel innerColorCurve = ColorCurveChannel.CreateDefault(); + + /// + /// 是否修改形状。 + /// + [LabelText("修改形状")] + public bool modifyShape; + + [HideIf("modifyShape")] + public float smoothness; + + [HideIf("modifyShape")] + public float roundness; + + /// + /// 柔和度曲线。 + /// + [ShowIf("modifyShape")] + [LabelText("柔和度曲线")] + public FloatCurveChannel smoothnessCurve = FloatCurveChannel.CreateDefault(remapMax: 0.5f); + + /// + /// 圆度曲线。 + /// + [ShowIf("modifyShape")] + [LabelText("圆度曲线")] + public FloatCurveChannel roundnessCurve = FloatCurveChannel.CreateDefault(remapMax: 1f); + + protected override void TriggerEvent(FeedbackContext context) + { + VignetteShakeEvent.Trigger( + context, + intensityCurve, + modifyCenter, + center, + modifyColors, + outerColorCurve, + innerColorCurve, + modifyShape, + smoothnessCurve, + roundnessCurve + ); + } + + protected override void StopEvent(FeedbackContext context) + { + VignetteShakeEvent.Trigger(context, intensityCurve, stop: true); + } + + public override bool Validate(out string error) + { + error = null; + return true; + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/VignetteAction.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/VignetteAction.cs.meta similarity index 100% rename from Assets/Scripts/MainGame/Effects/Feedbacks/Actions/VignetteAction.cs.meta rename to Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Postprocessing/VignetteAction.cs.meta diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/RadialBlurAction.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/RadialBlurAction.cs deleted file mode 100644 index 048691780..000000000 --- a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/RadialBlurAction.cs +++ /dev/null @@ -1,123 +0,0 @@ -using System; -using Cielonos; -using Sirenix.OdinInspector; -using SLSUtilities.Feedback; -using SLSUtilities.Rendering.PostProcessing; -using UnityEngine; - -namespace Cielonos.MainGame.Effects.Feedback -{ - /// - /// 径向模糊反馈动作,通过 PostProcessingManager 驱动 RadialBlur Volume 参数。 - /// 继承 CurveShakeAction 获得曲线采样和初始值管理能力。 - /// - [Serializable] - public class RadialBlurAction : CurveShakeAction - { - public override string DisplayName => "Radial Blur"; - - /// - /// 是否修改模糊中心点。关闭时保持 Volume 当前设置(通常为 0.5, 0.5)。 - /// - [Title("Radial Blur Settings")] - [LabelText("Modify Center")] - public bool modifyCenter; - - /// - /// 模糊中心的屏幕坐标 (0-1)。(0.5, 0.5) 为屏幕正中心。 - /// - [ShowIf("modifyCenter")] - [LabelText("Center")] - public Vector2 center = new Vector2(0.5f, 0.5f); - - // 运行时缓存 - [NonSerialized] private RadialBlur _radialBlur; - [NonSerialized] private float _initialBlurRadius; - [NonSerialized] private float _initialCenterX; - [NonSerialized] private float _initialCenterY; - [NonSerialized] private bool _resolved; - - public override void OnStart(FeedbackContext context) - { - _resolved = TryResolveComponent(); - if (!_resolved) return; - - // 记录初始值用于复位 - _initialBlurRadius = _radialBlur.blurRadius.value; - _initialCenterX = _radialBlur.radialCenterX.value; - _initialCenterY = _radialBlur.radialCenterY.value; - - // 设置中心点(整个 Clip 期间保持不变) - if (modifyCenter) - { - _radialBlur.radialCenterX.value = center.x; - _radialBlur.radialCenterY.value = center.y; - } - } - - public override void OnUpdate(FeedbackContext context, float normalizedTime) - { - if (!_resolved) return; - - float newRadius = EvaluateShake(normalizedTime, _initialBlurRadius); - _radialBlur.blurRadius.value = newRadius; - } - - public override void OnEnd(FeedbackContext context) - { - RestoreValues(); - } - - public override void OnInterrupt(FeedbackContext context) - { - RestoreValues(); - } - - public override bool Validate(out string error) - { - if (PostProcessingManager.Instance == null) - { - error = "PostProcessingManager instance not found in scene."; - return false; - } - - error = null; - return true; - } - - /// - /// 尝试从 PostProcessingManager 获取 RadialBlur Volume 组件。 - /// - private bool TryResolveComponent() - { - if (_radialBlur != null) return true; - - if (PostProcessingManager.Instance == null) - { - Debug.LogWarning("[RadialBlurAction] PostProcessingManager instance not found."); - return false; - } - - if (!PostProcessingManager.Instance.GetVolumeComponent(out _radialBlur)) - { - Debug.LogWarning("[RadialBlurAction] RadialBlur component not found in Volume Profile."); - return false; - } - - return true; - } - - /// - /// 恢复到 OnStart 时记录的初始值。 - /// - private void RestoreValues() - { - if (!_resolved) return; - - _radialBlur.blurRadius.value = _initialBlurRadius; - _radialBlur.radialCenterX.value = _initialCenterX; - _radialBlur.radialCenterY.value = _initialCenterY; - _resolved = false; - } - } -} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/StrobeFlashAction.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/StrobeFlashAction.cs deleted file mode 100644 index 088053e11..000000000 --- a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/StrobeFlashAction.cs +++ /dev/null @@ -1,115 +0,0 @@ -using System; -using Cielonos; -using Sirenix.OdinInspector; -using SLSUtilities.Feedback; -using SLSUtilities.Rendering.PostProcessing; -using UnityEngine; - -namespace Cielonos.MainGame.Effects.Feedback -{ - /// - /// 黑白闪反馈动作,在 Clip 持续时间内开启 StrobeFlash 的 AutoFlash, - /// Clip 结束或被打断时自动关闭。 - /// - [Serializable] - public class StrobeFlashAction : FeedbackActionBase - { - public override string DisplayName => "Strobe Flash"; - - /// - /// 是否修改频率和颜色参数。 - /// - [Title("Strobe Settings")] - [LabelText("Modify Extra")] - public bool modifyExtra; - - [ShowIf("modifyExtra")] - [LabelText("Frequency")] - public float frequency = 15f; - - [ShowIf("modifyExtra")] - [LabelText("Color High")] - public Color colorHigh = Color.white; - - [ShowIf("modifyExtra")] - [LabelText("Color Low")] - public Color colorLow = Color.black; - - [NonSerialized] private StrobeFlash _strobeFlash; - [NonSerialized] private bool _initialEnable; - [NonSerialized] private bool _initialAutoFlash; - [NonSerialized] private float _initialFrequency; - [NonSerialized] private Color _initialColorHigh; - [NonSerialized] private Color _initialColorLow; - [NonSerialized] private bool _resolved; - - public override void OnStart(FeedbackContext context) - { - _resolved = TryResolveComponent(); - if (!_resolved) return; - - _initialEnable = _strobeFlash.enableEffect.value; - _initialAutoFlash = _strobeFlash.autoFlash.value; - _initialFrequency = _strobeFlash.frequency.value; - _initialColorHigh = _strobeFlash.colorHigh.value; - _initialColorLow = _strobeFlash.colorLow.value; - - _strobeFlash.enableEffect.value = true; - _strobeFlash.autoFlash.value = true; - - if (modifyExtra) - { - _strobeFlash.frequency.value = frequency; - _strobeFlash.colorHigh.value = colorHigh; - _strobeFlash.colorLow.value = colorLow; - } - } - - public override void OnUpdate(FeedbackContext context, float normalizedTime) - { - // StrobeFlash 由 Shader 内部的 _Time 驱动自动闪烁, - // Action 只负责开关控制,不需要每帧更新。 - } - - public override void OnEnd(FeedbackContext context) - { - RestoreValues(); - } - - public override void OnInterrupt(FeedbackContext context) - { - RestoreValues(); - } - - private bool TryResolveComponent() - { - if (_strobeFlash != null) return true; - - if (PostProcessingManager.Instance == null) - { - Debug.LogWarning("[StrobeFlashAction] PostProcessingManager instance not found."); - return false; - } - - if (!PostProcessingManager.Instance.GetVolumeComponent(out _strobeFlash)) - { - Debug.LogWarning("[StrobeFlashAction] StrobeFlash not found in Volume Profile."); - return false; - } - - return true; - } - - private void RestoreValues() - { - if (!_resolved) return; - - _strobeFlash.enableEffect.value = _initialEnable; - _strobeFlash.autoFlash.value = _initialAutoFlash; - _strobeFlash.frequency.value = _initialFrequency; - _strobeFlash.colorHigh.value = _initialColorHigh; - _strobeFlash.colorLow.value = _initialColorLow; - _resolved = false; - } - } -} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Time.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Time.meta new file mode 100644 index 000000000..7a2c6249a --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Time.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e33332fa07bdfcd459b3bf3350c11299 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/TimeScaleModifierAction.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Time/TimeScaleModifierAction.cs similarity index 61% rename from Assets/Scripts/MainGame/Effects/Feedbacks/Actions/TimeScaleModifierAction.cs rename to Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Time/TimeScaleModifierAction.cs index ba55d6638..1d9eefc79 100644 --- a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/TimeScaleModifierAction.cs +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Time/TimeScaleModifierAction.cs @@ -1,5 +1,4 @@ using System; -using Cielonos.MainGame; using Sirenix.OdinInspector; using SLSUtilities.Feedback; using UnityEngine; @@ -31,12 +30,14 @@ namespace Cielonos.MainGame.Effects.Feedback /// /// 是否激活此通道。 /// + [HorizontalGroup("Channel")] public bool active; /// /// 通道工作模式。 /// [ShowIf("active")] + [HorizontalGroup("Channel")] public TimeScaleMode mode = TimeScaleMode.Fixed; /// @@ -51,6 +52,7 @@ namespace Cielonos.MainGame.Effects.Feedback /// [ShowIf("@active && mode == TimeScaleMode.Dynamic")] [LabelText("Curve")] + [ShakeCurvePreset] public AnimationCurve curve = new AnimationCurve( new Keyframe(0f, 0f), new Keyframe(0.5f, 1f), @@ -62,6 +64,7 @@ namespace Cielonos.MainGame.Effects.Feedback /// [ShowIf("@active && mode == TimeScaleMode.Dynamic")] [LabelText("Remap Zero")] + [HorizontalGroup("Ramp")] public float remapZero; /// @@ -69,11 +72,25 @@ namespace Cielonos.MainGame.Effects.Feedback /// [ShowIf("@active && mode == TimeScaleMode.Dynamic")] [LabelText("Remap One")] + [HorizontalGroup("Ramp")] public float remapOne = 1f; /// - /// 根据归一化进度计算当前通道的时间缩放值。 + /// 将此通道的配置转换为事件传输用的 TimeScaleChannelData。 /// + public TimeScaleChannelData ToChannelData() + { + return new TimeScaleChannelData + { + active = active, + mode = mode, + fixedValue = fixedValue, + curve = curve, + remapZero = remapZero, + remapOne = remapOne + }; + } + public float Evaluate(float normalizedTime) { if (!active) return 1f; @@ -83,94 +100,114 @@ namespace Cielonos.MainGame.Effects.Feedback return fixedValue; } - float curveValue = curve.Evaluate(normalizedTime); + float curveValue = curve?.Evaluate(normalizedTime) ?? 0f; return Mathf.LerpUnclamped(remapZero, remapOne, curveValue); } } /// - /// 时间缩放修改器反馈,直接驱动 TimeManager 的各个通道。 + /// 时间缩放修改器反馈,通过 TimeScaleShakeEvent 触发 TimeScaleShaker。 + /// Shaker 负责管理多个并发时间缩放实例的叠加混合和初始值恢复。 /// - /// 重要:此 Action 只应使用游戏的 unscaledDeltaTime 驱动。 + /// 重要:此 Action 会忽略时间缩放,使用未缩放的 deltaTime 驱动。 + /// 当 Time.timeScale == 0 时,此 Action 也会暂停。 /// 不要在包含此 Action 的 Clip 上启用自定义 overrideTimeSettings, /// FeedbackData 的 defaultTimeSettings.useTimeScale 也应保持为 false。 - /// 我们的自定义时间参数绝不能影响时间缩放修改器本身。 /// [Serializable] + [FeedbackActionColor(0.3f, 0.7f, 1.0f)] public class TimeScaleModifierAction : FeedbackActionBase { public override string DisplayName => "Time Scale Modifier"; + + /// + /// 忽略时间缩放,使用未缩放的 deltaTime。 + /// + public override bool IgnoreTimeScale => true; + + public TimeScaleChannel globalChannel = new TimeScaleChannel { active = true, fixedValue = 0.1f }; - [Title("Global Time Scale")] - public TimeScaleChannel globalChannel = new TimeScaleChannel { active = true, fixedValue = 0f }; - - [Title("Player Time Scale")] + public bool advancedSettings = false; + + [ShowIf("advancedSettings")] public TimeScaleChannel playerChannel = new TimeScaleChannel(); - - [Title("Enemy Time Scale")] + + [ShowIf("advancedSettings")] public TimeScaleChannel enemyChannel = new TimeScaleChannel(); - - [Title("Allied Time Scale")] + + [ShowIf("advancedSettings")] public TimeScaleChannel alliedChannel = new TimeScaleChannel(); - - [Title("Non-Player Time Scale")] + + [ShowIf("advancedSettings")] public TimeScaleChannel nonPlayerChannel = new TimeScaleChannel(); - [NonSerialized] private float _initialGlobal; - [NonSerialized] private float _initialPlayer; - [NonSerialized] private float _initialEnemy; - [NonSerialized] private float _initialAllied; - [NonSerialized] private float _initialNonPlayer; - public override void OnStart(FeedbackContext context) { - if (TimeManager.Instance == null) + // 通过事件触发,让TimeScaleShaker注册这个实例 + TimeScaleShakeEvent.Trigger( + duration: context.duration, + global: globalChannel.ToChannelData(), + player: playerChannel.ToChannelData(), + enemy: enemyChannel.ToChannelData(), + allied: alliedChannel.ToChannelData(), + nonPlayer: nonPlayerChannel.ToChannelData() + ); + + // 立即执行一次TimeScaleShaker的更新 + // 这样在同一帧内,TimeScaleModifierAction修改的globalTimeScale就能立即生效 + ImmediateApplyTimeScale(); + } + + /// + /// 立即应用时间缩放,确保在同一帧内立即生效 + /// + private void ImmediateApplyTimeScale() + { + if (TimeManager.Instance == null) return; + + if (globalChannel.active) { - Debug.LogWarning("[TimeScaleModifierAction] TimeManager instance not found."); - return; + TimeManager.Instance.globalTimeScale.Value = globalChannel.Evaluate(0); + } + + if (playerChannel.active) + { + TimeManager.Instance.playerTimeScale.Value = playerChannel.Evaluate(0); + } + + if (enemyChannel.active) + { + TimeManager.Instance.enemyTimeScale.Value = enemyChannel.Evaluate(0); + } + + if (alliedChannel.active) + { + TimeManager.Instance.alliedMinionTimeScale.Value = alliedChannel.Evaluate(0); + } + + if (nonPlayerChannel.active) + { + TimeManager.Instance.nonPlayerTimeScale.Value = nonPlayerChannel.Evaluate(0); } - - _initialGlobal = TimeManager.Instance.globalTimeScale.Value; - _initialPlayer = TimeManager.Instance.playerTimeScale.Value; - _initialEnemy = TimeManager.Instance.enemyTimeScale.Value; - _initialAllied = TimeManager.Instance.alliedMinionTimeScale.Value; - _initialNonPlayer = TimeManager.Instance.nonPlayerTimeScale.Value; } public override void OnUpdate(FeedbackContext context, float normalizedTime) { - if (TimeManager.Instance == null) return; - - if (globalChannel.active) - TimeManager.Instance.globalTimeScale.Value = globalChannel.Evaluate(normalizedTime); - - if (playerChannel.active) - TimeManager.Instance.playerTimeScale.Value = playerChannel.Evaluate(normalizedTime); - - if (enemyChannel.active) - TimeManager.Instance.enemyTimeScale.Value = enemyChannel.Evaluate(normalizedTime); - - if (alliedChannel.active) - TimeManager.Instance.alliedMinionTimeScale.Value = alliedChannel.Evaluate(normalizedTime); - - if (nonPlayerChannel.active) - TimeManager.Instance.nonPlayerTimeScale.Value = nonPlayerChannel.Evaluate(normalizedTime); + // Shaker 自行每帧驱动所有活跃实例。 } public override void OnEnd(FeedbackContext context) { - RestoreValues(); + // Shaker 自动管理实例生命周期和初始值恢复。 } public override void OnInterrupt(FeedbackContext context) { - RestoreValues(); + TimeScaleShakeEvent.Trigger(0f, stop: true); } public override bool Validate(out string error) { - // 防呆检查:时间缩放修改器不应受自定义时间缩放影响 - // 此检查在 Editor 中调用,完整的 Inspector 防呆将在后续版本中添加 bool anyActive = globalChannel.active || playerChannel.active || enemyChannel.active || alliedChannel.active || nonPlayerChannel.active; @@ -184,25 +221,5 @@ namespace Cielonos.MainGame.Effects.Feedback error = null; return true; } - - private void RestoreValues() - { - if (TimeManager.Instance == null) return; - - if (globalChannel.active) - TimeManager.Instance.globalTimeScale.Value = _initialGlobal; - - if (playerChannel.active) - TimeManager.Instance.playerTimeScale.Value = _initialPlayer; - - if (enemyChannel.active) - TimeManager.Instance.enemyTimeScale.Value = _initialEnemy; - - if (alliedChannel.active) - TimeManager.Instance.alliedMinionTimeScale.Value = _initialAllied; - - if (nonPlayerChannel.active) - TimeManager.Instance.nonPlayerTimeScale.Value = _initialNonPlayer; - } } } diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/TimeScaleModifierAction.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Time/TimeScaleModifierAction.cs.meta similarity index 100% rename from Assets/Scripts/MainGame/Effects/Feedbacks/Actions/TimeScaleModifierAction.cs.meta rename to Assets/Scripts/MainGame/Effects/Feedbacks/Actions/Time/TimeScaleModifierAction.cs.meta diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/VignetteAction.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/VignetteAction.cs deleted file mode 100644 index 93de4d115..000000000 --- a/Assets/Scripts/MainGame/Effects/Feedbacks/Actions/VignetteAction.cs +++ /dev/null @@ -1,147 +0,0 @@ -using System; -using Cielonos; -using Sirenix.OdinInspector; -using SLSUtilities.Feedback; -using SLSUtilities.Rendering.PostProcessing; -using UnityEngine; - -namespace Cielonos.MainGame.Effects.Feedback -{ - /// - /// 高级暗角反馈动作,通过 PostProcessingManager 驱动 AdvancedVignette Volume 参数。 - /// 可用于受击暗角、环境压抑等效果。 - /// - [Serializable] - public class VignetteAction : CurveShakeAction - { - public override string DisplayName => "Vignette"; - - /// - /// 是否修改暗角中心点。 - /// - [Title("Vignette Settings")] - [LabelText("Modify Center")] - public bool modifyCenter; - - [ShowIf("modifyCenter")] - [LabelText("Center")] - public Vector2 center = new Vector2(0.5f, 0.5f); - - /// - /// 是否修改颜色。 - /// - [LabelText("Modify Colors")] - public bool modifyColors; - - [ShowIf("modifyColors")] - [LabelText("Color Outer")] - public Color colorOuter = Color.black; - - [ShowIf("modifyColors")] - [LabelText("Color Inner")] - public Color colorInner = Color.black; - - /// - /// 是否修改柔和度和圆度。 - /// - [LabelText("Modify Shape")] - public bool modifyShape; - - [ShowIf("modifyShape")] - [LabelText("Smoothness")] - [Range(0.01f, 1f)] - public float smoothness = 0.5f; - - [ShowIf("modifyShape")] - [LabelText("Roundness")] - [Range(0f, 1f)] - public float roundness = 1f; - - [NonSerialized] private AdvancedVignette _vignette; - [NonSerialized] private float _initialIntensity; - [NonSerialized] private Vector2 _initialCenter; - [NonSerialized] private Color _initialColorOuter; - [NonSerialized] private Color _initialColorInner; - [NonSerialized] private float _initialSmoothness; - [NonSerialized] private float _initialRoundness; - [NonSerialized] private bool _resolved; - - public override void OnStart(FeedbackContext context) - { - _resolved = TryResolveComponent(); - if (!_resolved) return; - - _initialIntensity = _vignette.intensity.value; - _initialCenter = _vignette.center.value; - _initialColorOuter = _vignette.colorOuter.value; - _initialColorInner = _vignette.colorInner.value; - _initialSmoothness = _vignette.smoothness.value; - _initialRoundness = _vignette.roundness.value; - - if (modifyCenter) - _vignette.center.value = center; - - if (modifyColors) - { - _vignette.colorOuter.value = colorOuter; - _vignette.colorInner.value = colorInner; - } - - if (modifyShape) - { - _vignette.smoothness.value = smoothness; - _vignette.roundness.value = roundness; - } - } - - public override void OnUpdate(FeedbackContext context, float normalizedTime) - { - if (!_resolved) return; - - float newIntensity = EvaluateShake(normalizedTime, _initialIntensity); - _vignette.intensity.value = newIntensity; - } - - public override void OnEnd(FeedbackContext context) - { - RestoreValues(); - } - - public override void OnInterrupt(FeedbackContext context) - { - RestoreValues(); - } - - private bool TryResolveComponent() - { - if (_vignette != null) return true; - - if (PostProcessingManager.Instance == null) - { - Debug.LogWarning("[VignetteAction] PostProcessingManager instance not found."); - return false; - } - - if (!PostProcessingManager.Instance.GetVolumeComponent(out _vignette)) - { - Debug.LogWarning("[VignetteAction] AdvancedVignette not found in Volume Profile."); - return false; - } - - return true; - } - - private void RestoreValues() - { - if (!_resolved) return; - - _vignette.intensity.value = _initialIntensity; - _vignette.center.value = _initialCenter; - _vignette.colorOuter.value = _initialColorOuter; - _vignette.colorInner.value = _initialColorInner; - _vignette.smoothness.value = _initialSmoothness; - _vignette.roundness.value = _initialRoundness; - _resolved = false; - } - } -} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/CharacterFeedbackTimeProvider.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/CharacterFeedbackTimeProvider.cs index 7a4cf8f35..94b62aeef 100644 --- a/Assets/Scripts/MainGame/Effects/Feedbacks/CharacterFeedbackTimeProvider.cs +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/CharacterFeedbackTimeProvider.cs @@ -20,8 +20,7 @@ namespace Cielonos.MainGame.Effects.Feedback /// /// 全局时间缩放(TimeManager.globalTimeScale)。 /// - public float GlobalTimeScale => - TimeManager.Instance != null ? TimeManager.Instance.globalTimeScale.Value : 1f; + public float GlobalTimeScale => TimeManager.Instance != null ? TimeManager.Instance.globalTimeScale.Value : 1f; /// /// 分组时间缩放,根据角色 Fraction 返回对应的 TimeManager 通道值。 @@ -48,28 +47,31 @@ namespace Cielonos.MainGame.Effects.Feedback /// /// 角色本地时间缩放(SelfTimeSubmodule.localTimeScale)。 /// - public float LocalTimeScale => - _character?.selfTimeSm?.localTimeScale?.Value ?? 1f; + public float LocalTimeScale => _character?.selfTimeSm?.localTimeScale?.Value ?? 1f; /// - /// 根据 FeedbackTimeSettings 组合各层级缩放计算实际 deltaTime。 + /// 根据 FeedbackTimeSettings 计算综合时间缩放系数(不含 deltaTime)。 + /// 返回 1.0 表示正常速度。 + /// + public float GetTimeScale(FeedbackTimeSettings settings) + { + if (settings == null || settings.timeScaleType == FeedbackTimeSettings.TimeScaleType.Unscaled) return 1f; + + float scale = 1f; + + if (settings.timeScaleType == FeedbackTimeSettings.TimeScaleType.Global) scale *= GlobalTimeScale; + if (settings.timeScaleType == FeedbackTimeSettings.TimeScaleType.Group) scale *= GroupTimeScale; + if (settings.timeScaleType == FeedbackTimeSettings.TimeScaleType.Local) scale *= LocalTimeScale; + + return scale; + } + + /// + /// 根据 FeedbackTimeSettings 组合各层级缩放计算实际 deltaTime(秒)。 /// public float GetDeltaTime(FeedbackTimeSettings settings) { - if (settings == null || !settings.useTimeScale) return Time.unscaledDeltaTime; - - float dt = Time.unscaledDeltaTime; - - if (settings.affectedByGlobalTimeScale) - dt *= GlobalTimeScale; - - if (settings.affectedByGroupTimeScale) - dt *= GroupTimeScale; - - if (settings.affectedByLocalTimeScale) - dt *= LocalTimeScale; - - return dt; + return Time.unscaledDeltaTime * GetTimeScale(settings); } } } diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers.meta new file mode 100644 index 000000000..3ce8a0d9e --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b533c73b5ef2bdf4a8044636a5d25fed +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/AnimeACESShaker.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/AnimeACESShaker.cs new file mode 100644 index 000000000..6fa396119 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/AnimeACESShaker.cs @@ -0,0 +1,226 @@ +using System.Collections.Generic; +using SLSUtilities.Feedback; +using SLSUtilities.Rendering.PostProcessing; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// Anime ACES 震动事件。 + /// + public struct AnimeACESShakeEvent + { + private static event ShakeDelegate OnEvent; + + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + private static void RuntimeInitialization() { OnEvent = null; } + + public delegate void ShakeDelegate( + FeedbackContext feedbackContext, + FloatCurveChannel exposureCurve, + FloatCurveChannel contrastCurve, + FloatCurveChannel saturationCurve, + FloatCurveChannel hueCurve, + ColorCurveChannel colorFilterCurve, + bool stop + ); + + public static void Register(ShakeDelegate callback) { OnEvent += callback; } + public static void Unregister(ShakeDelegate callback) { OnEvent -= callback; } + + public static void Trigger( + FeedbackContext feedbackContext, + FloatCurveChannel exposureCurve = default, + FloatCurveChannel contrastCurve = default, + FloatCurveChannel saturationCurve = default, + FloatCurveChannel hueCurve = default, + ColorCurveChannel colorFilterCurve = default, + bool stop = false) + { + OnEvent?.Invoke(feedbackContext, exposureCurve, contrastCurve, saturationCurve, hueCurve, colorFilterCurve, stop); + } + } + + /// + /// Anime ACES 震动实例。 + /// + public class AnimeACESShakeInstance : ShakeInstanceBase + { + public readonly FloatCurveChannel ExposureCurve; + public readonly FloatCurveChannel ContrastCurve; + public readonly FloatCurveChannel SaturationCurve; + public readonly FloatCurveChannel HueCurve; + public readonly ColorCurveChannel ColorFilterCurve; + + public AnimeACESShakeInstance( + FeedbackContext feedbackContext, + FloatCurveChannel exposureCurve, + FloatCurveChannel contrastCurve, + FloatCurveChannel saturationCurve, + FloatCurveChannel hueCurve, + ColorCurveChannel colorFilterCurve) + : base(feedbackContext.timeSettings, feedbackContext.player.TimeProvider, feedbackContext.duration) + { + ExposureCurve = exposureCurve; + ContrastCurve = contrastCurve; + SaturationCurve = saturationCurve; + HueCurve = hueCurve; + ColorFilterCurve = colorFilterCurve; + } + } + + /// + /// AnimeACES 的震动聚合器。 + /// + [AddComponentMenu("SLS Utilities/Feedback Shakers/Anime ACES Shaker")] + public class AnimeACESShaker : MonoBehaviour + { + private AnimeACES _component; + private float _initExposure; + private float _initContrast; + private float _initSaturation; + private float _initHue; + private Color _initColorFilter; + private bool _resolved; + + private readonly List _activeShakes = new List(); + + private void Awake() + { + _resolved = TryResolve(); + } + + private void OnEnable() + { + AnimeACESShakeEvent.Register(OnShakeEvent); + } + + private void OnDisable() + { + AnimeACESShakeEvent.Unregister(OnShakeEvent); + StopAll(); + } + + private void Update() + { + if (!_resolved || _activeShakes.Count == 0) return; + + float additiveExposure = 0f; + float additiveContrast = 0f; + float additiveSaturation = 0f; + float additiveHue = 0f; + Color colorFilterAccum = Color.white; + bool hasColorFilter = false; + + for (int i = _activeShakes.Count - 1; i >= 0; i--) + { + AnimeACESShakeInstance shake = _activeShakes[i]; + shake.timer += shake.timeProvider.GetDeltaTime(shake.timeSettings); + + float normalizedTime = shake.timer / shake.duration; + + // Exposure + if (shake.ExposureCurve.active) + { + additiveExposure += shake.ExposureCurve.Evaluate(normalizedTime); + } + + // Contrast + if (shake.ContrastCurve.active) + { + additiveContrast += shake.ContrastCurve.Evaluate(normalizedTime); + } + + // Saturation + if (shake.SaturationCurve.active) + { + additiveSaturation += shake.SaturationCurve.Evaluate(normalizedTime); + } + + // Hue + if (shake.HueCurve.active) + { + additiveHue += shake.HueCurve.Evaluate(normalizedTime); + } + + // Color Filter + if (shake.ColorFilterCurve.active) + { + colorFilterAccum = shake.ColorFilterCurve.Evaluate(normalizedTime); + hasColorFilter = true; + } + + if (shake.IsFinished) + { + _activeShakes.RemoveAt(i); + } + } + + _component.exposure.value = _initExposure + additiveExposure; + _component.contrast.value = _initContrast + additiveContrast; + _component.saturation.value = _initSaturation + additiveSaturation; + _component.huePreservation.value = _initHue + additiveHue; + + if (hasColorFilter) _component.colorFilter.value = colorFilterAccum; + + if (_activeShakes.Count == 0) + { + Restore(); + } + } + + private void OnShakeEvent( + FeedbackContext feedbackContext, + FloatCurveChannel exposureCurve, + FloatCurveChannel contrastCurve, + FloatCurveChannel saturationCurve, + FloatCurveChannel hueCurve, + ColorCurveChannel colorFilterCurve, + bool stop) + { + if (stop) { StopAll(); return; } + if (!_resolved) _resolved = TryResolve(); + if (!_resolved) return; + + var instance = new AnimeACESShakeInstance( + feedbackContext, + exposureCurve, + contrastCurve, + saturationCurve, + hueCurve, + colorFilterCurve + ); + _activeShakes.Add(instance); + } + + private bool TryResolve() + { + if (_component != null) return true; + if (PostProcessingManager.Instance == null) return false; + if (!PostProcessingManager.Instance.GetVolumeComponent(out _component)) return false; + + _initExposure = _component.exposure.value; + _initContrast = _component.contrast.value; + _initSaturation = _component.saturation.value; + _initHue = _component.huePreservation.value; + _initColorFilter = _component.colorFilter.value; + return true; + } + + private void Restore() + { + if (!_resolved) return; + _component.exposure.value = _initExposure; + _component.contrast.value = _initContrast; + _component.saturation.value = _initSaturation; + _component.huePreservation.value = _initHue; + _component.colorFilter.value = _initColorFilter; + } + + private void StopAll() + { + _activeShakes.Clear(); + Restore(); + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/AnimeACESShaker.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/AnimeACESShaker.cs.meta new file mode 100644 index 000000000..f3f28a44d --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/AnimeACESShaker.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: fc3cd16e5556b7a4eb66e5385e4f4e60 \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/ChromaticAberrationShaker.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/ChromaticAberrationShaker.cs new file mode 100644 index 000000000..d9e5a66f6 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/ChromaticAberrationShaker.cs @@ -0,0 +1,209 @@ +using System.Collections.Generic; +using SLSUtilities.Feedback; +using SLSUtilities.Rendering.PostProcessing; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// 色散震动事件。 + /// + public struct ChromaticAberrationShakeEvent + { + private static event ShakeDelegate OnEvent; + + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + private static void RuntimeInitialization() { OnEvent = null; } + + public delegate void ShakeDelegate( + FeedbackContext feedbackContext, + FloatCurveChannel intensityCurve, + bool modifyCenter, + Vector2CurveChannel center, + bool modifyJitter, + FloatCurveChannel jitterCurve, + bool stop + ); + + public static void Register(ShakeDelegate callback) { OnEvent += callback; } + public static void Unregister(ShakeDelegate callback) { OnEvent -= callback; } + + public static void Trigger( + FeedbackContext feedbackContext, + FloatCurveChannel intensityCurve, + bool modifyCenter = false, + Vector2CurveChannel center = default, + bool modifyJitter = false, + FloatCurveChannel jitterCurve = default, + bool stop = false) + { + OnEvent?.Invoke(feedbackContext, intensityCurve, modifyCenter, center, modifyJitter, jitterCurve, stop); + } + } + + /// + /// 色散震动实例。 + /// + public class ChromaticAberrationShakeInstance : ShakeInstanceBase + { + public readonly FloatCurveChannel intensityCurve; + public readonly bool modifyCenter; + public readonly Vector2CurveChannel center; + public readonly bool modifyJitter; + public readonly FloatCurveChannel jitterCurve; + + public ChromaticAberrationShakeInstance( + FeedbackContext feedbackContext, + FloatCurveChannel intensityCurve, + bool modifyCenter, + Vector2CurveChannel center, + bool modifyJitter, + FloatCurveChannel jitterCurve) + : base(feedbackContext.timeSettings, feedbackContext.player.TimeProvider, feedbackContext.duration) + { + this.intensityCurve = intensityCurve; + this.modifyCenter = modifyCenter; + this.center = center; + this.modifyJitter = modifyJitter; + this.jitterCurve = jitterCurve; + } + } + + /// + /// AdvancedChromaticAberration 的震动聚合器。 + /// + [AddComponentMenu("SLS Utilities/Feedback Shakers/Chromatic Aberration Shaker")] + public class ChromaticAberrationShaker : MonoBehaviour + { + private AdvancedChromaticAberration _component; + private float _initialIntensity; + private Vector2 _initialCenter; + private float _initialJitter; + private bool _resolved; + + private readonly List _activeShakes = new List(); + + private void Awake() + { + _resolved = TryResolve(); + } + + private void OnEnable() + { + ChromaticAberrationShakeEvent.Register(OnShakeEvent); + } + + private void OnDisable() + { + ChromaticAberrationShakeEvent.Unregister(OnShakeEvent); + StopAll(); + } + + private void Update() + { + if (!_resolved || _activeShakes.Count == 0) return; + + float additiveIntensity = 0f; + float absoluteIntensity = 0f; + bool hasAbsolute = false; + float additiveJitter = 0f; + + Vector2 latestCenter = _initialCenter; + bool hasCenter = false; + + for (int i = _activeShakes.Count - 1; i >= 0; i--) + { + ChromaticAberrationShakeInstance shake = _activeShakes[i]; + shake.timer += shake.timeProvider.GetDeltaTime(shake.timeSettings); + + float normalizedTime = shake.timer / shake.duration; + + if (shake.intensityCurve.active) + { + float curveValue = shake.intensityCurve.Evaluate(normalizedTime); + if (shake.intensityCurve.relativeToInitial) + { + additiveIntensity += curveValue; + } + else + { + absoluteIntensity = curveValue; + hasAbsolute = true; + } + } + + if (shake.modifyJitter && shake.jitterCurve.active) + { + additiveJitter += shake.jitterCurve.Evaluate(normalizedTime); + } + + if (shake.modifyCenter) + { + latestCenter = shake.center.Evaluate(normalizedTime, _initialCenter); + hasCenter = true; + } + + if (shake.IsFinished) + { + _activeShakes.RemoveAt(i); + } + } + + float finalIntensity = hasAbsolute ? absoluteIntensity : _initialIntensity + additiveIntensity; + _component.intensity.value = finalIntensity; + _component.jitterIntensity.value = _initialJitter + additiveJitter; + + if (hasCenter) _component.center.value = latestCenter; + + if (_activeShakes.Count == 0) + { + Restore(); + } + } + + private void OnShakeEvent( + FeedbackContext feedbackContext, + FloatCurveChannel intensityCurve, + bool modifyCenter, + Vector2CurveChannel center, + bool modifyJitter, + FloatCurveChannel jitterCurve, + bool stop) + { + if (stop) { StopAll(); return; } + if (!_resolved) _resolved = TryResolve(); + if (!_resolved) return; + + var instance = new ChromaticAberrationShakeInstance( + feedbackContext, intensityCurve, modifyCenter, center, modifyJitter, jitterCurve + ); + _activeShakes.Add(instance); + } + + private bool TryResolve() + { + if (_component != null) return true; + if (PostProcessingManager.Instance == null) return false; + if (!PostProcessingManager.Instance.GetVolumeComponent(out _component)) return false; + + _initialIntensity = _component.intensity.value; + _initialCenter = _component.center.value; + _initialJitter = _component.jitterIntensity.value; + return true; + } + + private void Restore() + { + if (!_resolved) return; + _component.intensity.value = _initialIntensity; + _component.center.value = _initialCenter; + _component.jitterIntensity.value = _initialJitter; + } + + private void StopAll() + { + _activeShakes.Clear(); + Restore(); + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/ChromaticAberrationShaker.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/ChromaticAberrationShaker.cs.meta new file mode 100644 index 000000000..38f6f51f1 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/ChromaticAberrationShaker.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c15f7649d43e18b448c0acb1f9163f2c \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine.meta new file mode 100644 index 000000000..850c69d8b --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d812b009316d71f4fbfc8abb6e76bc18 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CameraFovShaker.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CameraFovShaker.cs new file mode 100644 index 000000000..5a378ab03 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CameraFovShaker.cs @@ -0,0 +1,151 @@ +using System.Collections.Generic; +using SLSUtilities.Feedback; +using Unity.Cinemachine; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// 单个FOV震动实例的运行时状态。 + /// + public class CameraFovShakeInstance : ShakeInstanceBase + { + public FloatCurveChannel fovCurve; + + public CameraFovShakeInstance(FeedbackTimeSettings timeSettings, IFeedbackTimeProvider timeProvider, + FloatCurveChannel fovCurve, float duration) : base(timeSettings, timeProvider, duration) + { + this.fovCurve = fovCurve; + } + } + + /// + /// 摄像机视野角(FOV)震动事件,用于解耦 Action 与 Shaker。 + /// + public struct CameraFovShakeEvent + { + private static event ShakeDelegate OnEvent; + + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + private static void RuntimeInitialization() { OnEvent = null; } + + public delegate void ShakeDelegate( + FeedbackContext feedbackContext, + FloatCurveChannel fovCurve, + bool stop + ); + + public static void Register(ShakeDelegate callback) { OnEvent += callback; } + public static void Unregister(ShakeDelegate callback) { OnEvent -= callback; } + + public static void Trigger( + FeedbackContext feedbackContext, + FloatCurveChannel fovCurve, + bool stop = false) + { + OnEvent?.Invoke(feedbackContext, fovCurve, stop); + } + } + + /// + /// CinemachineCamera FOV 震动聚合器。挂载于 CinemachineCamera 上, + /// 监听 CameraFovShakeEvent,叠加驱动 Lens.FieldOfView。 + /// + [AddComponentMenu("Cielonos/Feedback Shakers/Camera FOV Shaker")] + [RequireComponent(typeof(CinemachineCamera))] + public class CameraFovShaker : MonoBehaviour + { + private CinemachineCamera _camera; + private float _initialFov; + private readonly List _activeShakes = new List(); + + private void Awake() + { + _camera = GetComponent(); + _initialFov = _camera.Lens.FieldOfView; + } + + private void OnEnable() + { + CameraFovShakeEvent.Register(OnShakeEvent); + } + + private void OnDisable() + { + CameraFovShakeEvent.Unregister(OnShakeEvent); + StopAll(); + } + + private void Update() + { + if (_camera == null) return; + + if (_activeShakes.Count == 0) + { + SetFov(_initialFov); + return; + } + + float additiveFov = 0f; + float absoluteFov = 0f; + bool hasAbsolute = false; + + for (int i = _activeShakes.Count - 1; i >= 0; i--) + { + CameraFovShakeInstance shake = _activeShakes[i]; + shake.Tick(); + float normalizedTime = shake.timer / shake.duration; + + if (shake.fovCurve.relativeToInitial) + { + additiveFov += shake.fovCurve.Evaluate(normalizedTime); + } + else + { + absoluteFov = shake.fovCurve.Evaluate(normalizedTime); + hasAbsolute = true; + } + + if (shake.IsFinished) + { + _activeShakes.RemoveAt(i); + } + } + + float finalFov = hasAbsolute ? absoluteFov : _initialFov + additiveFov; + SetFov(finalFov); + } + + private void OnShakeEvent( + FeedbackContext feedbackContext, + FloatCurveChannel fovCurve, + bool stop) + { + if (stop) { StopAll(); return; } + + var instance = new CameraFovShakeInstance( + feedbackContext.timeSettings, + feedbackContext.player.TimeProvider, + fovCurve, + feedbackContext.duration + ); + _activeShakes.Add(instance); + } + + private void SetFov(float fov) + { + LensSettings lens = _camera.Lens; + lens.FieldOfView = fov; + _camera.Lens = lens; + } + + private void StopAll() + { + _activeShakes.Clear(); + if (_camera != null) + { + SetFov(_initialFov); + } + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CameraFovShaker.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CameraFovShaker.cs.meta new file mode 100644 index 000000000..b06496a66 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CameraFovShaker.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: dbbfef1d7cc479c47837ff154e4a7c5e \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CinemachinePositionShaker.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CinemachinePositionShaker.cs new file mode 100644 index 000000000..694f97ebe --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CinemachinePositionShaker.cs @@ -0,0 +1,153 @@ +using System.Collections.Generic; +using SLSUtilities.Feedback; +using Unity.Cinemachine; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// 单个位移震动实例的运行时状态。 + /// + public class CameraPositionShakeInstance : ShakeInstanceBase + { + public FloatCurveChannel intensityCurve; + public Vector3 amplitude; + + public CameraPositionShakeInstance( + FeedbackTimeSettings timeSettings, + IFeedbackTimeProvider timeProvider, + FloatCurveChannel intensityCurve, + Vector3 amplitude, + float duration) + : base(timeSettings, timeProvider, duration) + { + this.intensityCurve = intensityCurve; + this.amplitude = amplitude; + } + + /// + /// 计算当前帧的偏移量。 + /// + public Vector3 Evaluate() + { + float normalizedTime = duration > 0 ? timer / duration : 1f; + float curveValue = intensityCurve.Evaluate(normalizedTime); + return amplitude * curveValue; + } + } + + /// + /// 摄像机位移震动事件,用于解耦 Action 与 Shaker。 + /// + public struct CameraPositionShakeEvent + { + private static event ShakeDelegate OnEvent; + + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + private static void RuntimeInitialization() { OnEvent = null; } + + public delegate void ShakeDelegate( + FeedbackContext feedbackContext, + FloatCurveChannel intensityCurve, + Vector3 amplitude, + bool stop + ); + + public static void Register(ShakeDelegate callback) { OnEvent += callback; } + public static void Unregister(ShakeDelegate callback) { OnEvent -= callback; } + + public static void Trigger( + FeedbackContext feedbackContext, + FloatCurveChannel intensityCurve, + Vector3 amplitude, + bool stop = false) + { + OnEvent?.Invoke(feedbackContext, intensityCurve, amplitude, stop); + } + } + + /// + /// Cinemachine 位移震动器。挂载于 CinemachineCamera 上, + /// 监听 CameraPositionShakeEvent,驱动 CinemachineCameraOffset 实现叠加震动。 + /// + [AddComponentMenu("Cielonos/Feedback Shakers/Camera Position Shaker")] + [RequireComponent(typeof(CinemachineCamera))] + [RequireComponent(typeof(CinemachineCameraOffset))] + public class CinemachinePositionShaker : MonoBehaviour + { + private CinemachineCameraOffset _offsetComponent; + private Vector3 _initialOffset; + private readonly List _activeShakes = new List(); + + private void Awake() + { + _offsetComponent = GetComponent(); + _initialOffset = _offsetComponent.Offset; + } + + private void OnEnable() + { + CameraPositionShakeEvent.Register(OnShakeEvent); + } + + private void OnDisable() + { + CameraPositionShakeEvent.Unregister(OnShakeEvent); + StopAll(); + } + + private void Update() + { + if (_offsetComponent == null) return; + + if (_activeShakes.Count == 0) + { + _offsetComponent.Offset = _initialOffset; + return; + } + + Vector3 totalOffset = Vector3.zero; + + for (int i = _activeShakes.Count - 1; i >= 0; i--) + { + CameraPositionShakeInstance shake = _activeShakes[i]; + shake.Tick(); + totalOffset += shake.Evaluate(); + + if (shake.IsFinished) + { + _activeShakes.RemoveAt(i); + } + } + + _offsetComponent.Offset = _initialOffset + totalOffset; + } + + private void OnShakeEvent( + FeedbackContext feedbackContext, + FloatCurveChannel intensityCurve, + Vector3 amplitude, + bool stop) + { + if (stop) { StopAll(); return; } + + var instance = new CameraPositionShakeInstance( + feedbackContext.timeSettings, + feedbackContext.player.TimeProvider, + intensityCurve, + amplitude, + feedbackContext.duration + ); + _activeShakes.Add(instance); + } + + private void StopAll() + { + _activeShakes.Clear(); + if (_offsetComponent != null) + { + _offsetComponent.Offset = _initialOffset; + } + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CinemachinePositionShaker.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CinemachinePositionShaker.cs.meta new file mode 100644 index 000000000..36326e645 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CinemachinePositionShaker.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 08a7d10a0525af448902b60235ecf4fc \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CinemachineRotationShaker.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CinemachineRotationShaker.cs new file mode 100644 index 000000000..e487941e0 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CinemachineRotationShaker.cs @@ -0,0 +1,153 @@ +using System.Collections.Generic; +using SLSUtilities.Cinemachine; +using SLSUtilities.Feedback; +using Unity.Cinemachine; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// 单个旋转震动实例的运行时状态。 + /// + public class CameraRotationShakeInstance : ShakeInstanceBase + { + public FloatCurveChannel intensityCurve; + public Vector3 amplitude; + + public CameraRotationShakeInstance( + FeedbackTimeSettings timeSettings, + IFeedbackTimeProvider timeProvider, + FloatCurveChannel intensityCurve, + Vector3 amplitude, + float duration) + : base(timeSettings, timeProvider, duration) + { + this.intensityCurve = intensityCurve; + this.amplitude = amplitude; + } + + /// + /// 计算当前帧的偏移量。 + /// + public Vector3 Evaluate() + { + float normalizedTime = duration > 0 ? timer / duration : 1f; + float curveValue = intensityCurve.Evaluate(normalizedTime); + return amplitude * curveValue; + } + } + + /// + /// 摄像机旋转震动事件,用于解耦 Action 与 Shaker。 + /// + public struct CameraRotationShakeEvent + { + private static event ShakeDelegate OnEvent; + + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + private static void RuntimeInitialization() { OnEvent = null; } + + public delegate void ShakeDelegate( + FeedbackContext feedbackContext, + FloatCurveChannel intensityCurve, + Vector3 amplitude, + bool stop + ); + + public static void Register(ShakeDelegate callback) { OnEvent += callback; } + public static void Unregister(ShakeDelegate callback) { OnEvent -= callback; } + + public static void Trigger( + FeedbackContext feedbackContext, + FloatCurveChannel intensityCurve, + Vector3 amplitude, + bool stop = false) + { + OnEvent?.Invoke(feedbackContext, intensityCurve, amplitude, stop); + } + } + + /// + /// Cinemachine 旋转震动器。挂载于 CinemachineCamera 上, + /// 监听 CameraRotationShakeEvent,驱动 CinemachineRotationOffset 实现叠加震动。 + /// X/Y 作用于 FollowTarget 旋转,Z 作用于 Dutch 倾斜。 + /// + [AddComponentMenu("Cielonos/Feedback Shakers/Camera Rotation Shaker")] + [RequireComponent(typeof(CinemachineCamera))] + [RequireComponent(typeof(CinemachineRotationOffset))] + public class CinemachineRotationShaker : MonoBehaviour + { + private CinemachineRotationOffset _rotationOffset; + private Vector3 _initialRotation; + private readonly List _activeShakes = new List(); + + private void Awake() + { + _rotationOffset = GetComponent(); + _initialRotation = _rotationOffset.rotationOffset; + } + + private void OnEnable() + { + CameraRotationShakeEvent.Register(OnShakeEvent); + } + + private void OnDisable() + { + CameraRotationShakeEvent.Unregister(OnShakeEvent); + StopAll(); + } + + private void Update() + { + if (_rotationOffset == null) return; + + if (_activeShakes.Count == 0) + { + _rotationOffset.rotationOffset = _initialRotation; + return; + } + + Vector3 totalOffset = Vector3.zero; + + for (int i = _activeShakes.Count - 1; i >= 0; i--) + { + CameraRotationShakeInstance shake = _activeShakes[i]; + shake.Tick(); + totalOffset += shake.Evaluate(); + + if (shake.IsFinished) + { + _activeShakes.RemoveAt(i); + } + } + + _rotationOffset.rotationOffset = _initialRotation + totalOffset; + } + + private void OnShakeEvent( + FeedbackContext feedbackContext, + FloatCurveChannel intensityCurve, + Vector3 amplitude, + bool stop) + { + if (stop) { StopAll(); return; } + _activeShakes.Add(new CameraRotationShakeInstance( + feedbackContext.timeSettings, + feedbackContext.player.TimeProvider, + intensityCurve, + amplitude, + feedbackContext.duration + )); + } + + private void StopAll() + { + _activeShakes.Clear(); + if (_rotationOffset != null) + { + _rotationOffset.rotationOffset = _initialRotation; + } + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CinemachineRotationShaker.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CinemachineRotationShaker.cs.meta new file mode 100644 index 000000000..f9833dcb5 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/Cinemachine/CinemachineRotationShaker.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5c54de88d6cf4304180fbd641401b1b6 \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/RadialBlurShaker.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/RadialBlurShaker.cs new file mode 100644 index 000000000..07a5068fe --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/RadialBlurShaker.cs @@ -0,0 +1,175 @@ +using System.Collections.Generic; +using SLSUtilities.Feedback; +using SLSUtilities.Rendering.PostProcessing; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// 径向模糊震动事件。 + /// + public struct RadialBlurShakeEvent + { + private static event ShakeDelegate OnEvent; + + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + private static void RuntimeInitialization() { OnEvent = null; } + + public delegate void ShakeDelegate(FeedbackContext feedbackContext, FloatCurveChannel intensityCurve, + bool modifyCenter, Vector2 center, bool stop); + + public static void Register(ShakeDelegate callback) { OnEvent += callback; } + public static void Unregister(ShakeDelegate callback) { OnEvent -= callback; } + + public static void Trigger( + FeedbackContext feedbackContext, FloatCurveChannel intensityCurve, + bool modifyCenter = false, Vector2 center = default, bool stop = false) + { + OnEvent?.Invoke(feedbackContext, intensityCurve, modifyCenter, center, stop); + } + } + + /// + /// 径向模糊震动实例。 + /// + public class RadialBlurShakeInstance : ShakeInstanceBase + { + public readonly FloatCurveChannel intensityCurve; + public readonly bool modifyCenter; + public readonly Vector2 center; + + public RadialBlurShakeInstance( + FeedbackContext feedbackContext, FloatCurveChannel intensityCurve, bool modifyCenter, Vector2 center) : + base(feedbackContext.timeSettings, feedbackContext.player.TimeProvider, feedbackContext.duration) + { + this.intensityCurve = intensityCurve; + this.modifyCenter = modifyCenter; + this.center = center; + } + } + + /// + /// RadialBlur 的震动聚合器。 + /// + [AddComponentMenu("SLS Utilities/Feedback Shakers/Radial Blur Shaker")] + public class RadialBlurShaker : MonoBehaviour + { + private RadialBlur _component; + private float _initialBlurRadius; + private float _initialCenterX; + private float _initialCenterY; + private bool _resolved; + + private readonly List _activeShakes = new List(); + + private void Awake() + { + _resolved = TryResolve(); + } + + private void OnEnable() + { + RadialBlurShakeEvent.Register(OnShakeEvent); + } + + private void OnDisable() + { + RadialBlurShakeEvent.Unregister(OnShakeEvent); + StopAll(); + } + + private void Update() + { + if (!_resolved || _activeShakes.Count == 0) return; + + float additiveDelta = 0f; + float absoluteTarget = 0f; + bool hasAbsolute = false; + + Vector2 latestCenter = new Vector2(_initialCenterX, _initialCenterY); + bool hasCenter = false; + + for (int i = _activeShakes.Count - 1; i >= 0; i--) + { + RadialBlurShakeInstance shake = _activeShakes[i]; + shake.Tick(); + + float normalizedTime = shake.timer / shake.duration; + + if (shake.intensityCurve.relativeToInitial) + { + // 相对模式:累加曲线值 + additiveDelta += shake.intensityCurve.Evaluate(normalizedTime); + } + else + { + // 绝对模式:使用曲线值作为目标值 + absoluteTarget = shake.intensityCurve.Evaluate(normalizedTime); + hasAbsolute = true; + } + + if (shake.modifyCenter) + { + latestCenter = shake.center; + hasCenter = true; + } + + if (shake.IsFinished) + { + _activeShakes.RemoveAt(i); + } + } + + float finalRadius = hasAbsolute ? absoluteTarget : _initialBlurRadius + additiveDelta; + _component.blurRadius.value = finalRadius; + + if (hasCenter) + { + _component.radialCenterX.value = latestCenter.x; + _component.radialCenterY.value = latestCenter.y; + } + + if (_activeShakes.Count == 0) + { + Restore(); + } + } + + private void OnShakeEvent( FeedbackContext feedbackContext, FloatCurveChannel intensityCurve, + bool modifyCenter, Vector2 center, bool stop) + { + if (stop) { StopAll(); return; } + if (!_resolved) _resolved = TryResolve(); + if (!_resolved) return; + + var instance = new RadialBlurShakeInstance(feedbackContext, intensityCurve, modifyCenter, center); + _activeShakes.Add(instance); + } + + private bool TryResolve() + { + if (_component != null) return true; + if (PostProcessingManager.Instance == null) return false; + if (!PostProcessingManager.Instance.GetVolumeComponent(out _component)) return false; + + _initialBlurRadius = _component.blurRadius.value; + _initialCenterX = _component.radialCenterX.value; + _initialCenterY = _component.radialCenterY.value; + return true; + } + + private void Restore() + { + if (!_resolved) return; + _component.blurRadius.value = _initialBlurRadius; + _component.radialCenterX.value = _initialCenterX; + _component.radialCenterY.value = _initialCenterY; + } + + private void StopAll() + { + _activeShakes.Clear(); + Restore(); + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/RadialBlurShaker.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/RadialBlurShaker.cs.meta new file mode 100644 index 000000000..c533228c7 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/RadialBlurShaker.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 569f4a4691c95ba448cf7309993ca9a9 \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/StrobeFlashShaker.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/StrobeFlashShaker.cs new file mode 100644 index 000000000..45f02f49b --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/StrobeFlashShaker.cs @@ -0,0 +1,190 @@ +using System.Collections.Generic; +using SLSUtilities.Feedback; +using SLSUtilities.Rendering.PostProcessing; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// 黑白闪震动事件。 + /// + public struct StrobeFlashShakeEvent + { + private static event ShakeDelegate OnEvent; + + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + private static void RuntimeInitialization() { OnEvent = null; } + + public delegate void ShakeDelegate( + FeedbackContext feedbackContext, + float duration, + bool modifyExtra, + FloatCurveChannel frequencyCurve, + ColorCurveChannel colorHigh, + ColorCurveChannel colorLow, + bool stop + ); + + public static void Register(ShakeDelegate callback) { OnEvent += callback; } + public static void Unregister(ShakeDelegate callback) { OnEvent -= callback; } + + public static void Trigger( + FeedbackContext feedbackContext, + float duration, + bool modifyExtra = false, + FloatCurveChannel frequencyCurve = default, + ColorCurveChannel colorHigh = default, + ColorCurveChannel colorLow = default, + bool stop = false) + { + OnEvent?.Invoke(feedbackContext, duration, modifyExtra, frequencyCurve, colorHigh, colorLow, stop); + } + } + + /// + /// 黑白闪震动实例。 + /// + public class StrobeFlashShakeInstance : ShakeInstanceBase + { + public readonly bool modifyExtra; + public readonly FloatCurveChannel frequencyCurve; + public readonly ColorCurveChannel colorHigh; + public readonly ColorCurveChannel colorLow; + + public StrobeFlashShakeInstance( + FeedbackContext feedbackContext, + bool modifyExtra, + FloatCurveChannel frequencyCurve, + ColorCurveChannel colorHigh, + ColorCurveChannel colorLow) + : base(feedbackContext.timeSettings, feedbackContext.player.TimeProvider, feedbackContext.duration) + { + this.modifyExtra = modifyExtra; + this.frequencyCurve = frequencyCurve; + this.colorHigh = colorHigh; + this.colorLow = colorLow; + } + } + + /// + /// StrobeFlash 的震动聚合器。 + /// + [AddComponentMenu("SLS Utilities/Feedback Shakers/Strobe Flash Shaker")] + public class StrobeFlashShaker : MonoBehaviour + { + private StrobeFlash _component; + private float _initialFrequency; + private Color _initialColorHigh; + private Color _initialColorLow; + private bool _resolved; + + private readonly List _activeShakes = new List(); + + private void Awake() + { + _resolved = TryResolve(); + } + + private void OnEnable() + { + StrobeFlashShakeEvent.Register(OnShakeEvent); + } + + private void OnDisable() + { + StrobeFlashShakeEvent.Unregister(OnShakeEvent); + StopAll(); + } + + private void Update() + { + if (!_resolved || _activeShakes.Count == 0) return; + + float latestFrequency = _initialFrequency; + Color latestColorHigh = _initialColorHigh; + Color latestColorLow = _initialColorLow; + bool hasExtra = false; + + for (int i = _activeShakes.Count - 1; i >= 0; i--) + { + StrobeFlashShakeInstance shake = _activeShakes[i]; + shake.timer += shake.timeProvider.GetDeltaTime(shake.timeSettings); + + float normalizedTime = shake.timer / shake.duration; + + if (shake.modifyExtra && !shake.IsFinished) + { + latestFrequency = shake.frequencyCurve.Evaluate(normalizedTime); + latestColorHigh = shake.colorHigh.Evaluate(normalizedTime); + latestColorLow = shake.colorLow.Evaluate(normalizedTime); + hasExtra = true; + } + + if (shake.IsFinished) + { + _activeShakes.RemoveAt(i); + } + } + + _component.enableEffect.value = true; + _component.autoFlash.value = true; + + if (hasExtra) + { + _component.frequency.value = latestFrequency; + _component.colorHigh.value = latestColorHigh; + _component.colorLow.value = latestColorLow; + } + + if (_activeShakes.Count == 0) + { + Restore(); + } + } + + private void OnShakeEvent( + FeedbackContext feedbackContext, + float duration, + bool modifyExtra, + FloatCurveChannel frequencyCurve, + ColorCurveChannel colorHigh, + ColorCurveChannel colorLow, + bool stop) + { + if (stop) { StopAll(); return; } + if (!_resolved) _resolved = TryResolve(); + if (!_resolved) return; + + var instance = new StrobeFlashShakeInstance( + feedbackContext, modifyExtra, frequencyCurve, colorHigh, colorLow + ); + _activeShakes.Add(instance); + } + + private bool TryResolve() + { + if (_component != null) return true; + if (PostProcessingManager.Instance == null) return false; + if (!PostProcessingManager.Instance.GetVolumeComponent(out _component)) return false; + + _initialFrequency = _component.frequency.value; + _initialColorHigh = _component.colorHigh.value; + _initialColorLow = _component.colorLow.value; + return true; + } + + private void Restore() + { + if (!_resolved) return; + _component.frequency.value = _initialFrequency; + _component.colorHigh.value = _initialColorHigh; + _component.colorLow.value = _initialColorLow; + } + + private void StopAll() + { + _activeShakes.Clear(); + Restore(); + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/StrobeFlashShaker.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/StrobeFlashShaker.cs.meta new file mode 100644 index 000000000..b8858eb37 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/StrobeFlashShaker.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 588e6dd88aea55748adfb8b9aa48a518 \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/TimeScaleShaker.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/TimeScaleShaker.cs new file mode 100644 index 000000000..a72f7db73 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/TimeScaleShaker.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using Cielonos.MainGame; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// 时间缩放通道数据,用于事件传输。 + /// + [Serializable] + public struct TimeScaleChannelData + { + public bool active; + public TimeScaleMode mode; + public float fixedValue; + public AnimationCurve curve; + public float remapZero; + public float remapOne; + + /// + /// 根据归一化进度计算当前通道的时间缩放值。 + /// + public float Evaluate(float normalizedTime) + { + if (!active) return 1f; + + if (mode == TimeScaleMode.Fixed) + { + return fixedValue; + } + + float curveValue = curve != null ? curve.Evaluate(normalizedTime) : 0f; + return Mathf.LerpUnclamped(remapZero, remapOne, curveValue); + } + } + + /// + /// 时间缩放震动事件。 + /// + public struct TimeScaleShakeEvent + { + private static event ShakeDelegate OnEvent; + + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + private static void RuntimeInitialization() { OnEvent = null; } + + public delegate void ShakeDelegate( + float duration, + TimeScaleChannelData global, + TimeScaleChannelData player, + TimeScaleChannelData enemy, + TimeScaleChannelData allied, + TimeScaleChannelData nonPlayer, + bool stop + ); + + /// + /// 注册震动监听。 + /// + public static void Register(ShakeDelegate callback) { OnEvent += callback; } + + /// + /// 取消震动监听。 + /// + public static void Unregister(ShakeDelegate callback) { OnEvent -= callback; } + + /// + /// 触发时间缩放震动事件。 + /// + public static void Trigger( + float duration, + TimeScaleChannelData global = default, + TimeScaleChannelData player = default, + TimeScaleChannelData enemy = default, + TimeScaleChannelData allied = default, + TimeScaleChannelData nonPlayer = default, + bool stop = false) + { + OnEvent?.Invoke(duration, global, player, enemy, allied, nonPlayer, stop); + } + } + + /// + /// 时间缩放震动实例。 + /// + public class TimeScaleShakeInstance + { + public readonly float Duration; + public readonly TimeScaleChannelData Global; + public readonly TimeScaleChannelData Player; + public readonly TimeScaleChannelData Enemy; + public readonly TimeScaleChannelData Allied; + public readonly TimeScaleChannelData NonPlayer; + + public float Timer; + + public TimeScaleShakeInstance( + float duration, + TimeScaleChannelData global, + TimeScaleChannelData player, + TimeScaleChannelData enemy, + TimeScaleChannelData allied, + TimeScaleChannelData nonPlayer) + { + Duration = duration; + Global = global; + Player = player; + Enemy = enemy; + Allied = allied; + NonPlayer = nonPlayer; + Timer = 0f; + } + + public bool IsFinished => Timer >= Duration; + } + + /// + /// TimeManager 的时间缩放震动聚合器。 + /// 管理多个并发时间缩放实例。 + /// 当有活跃实例时,各通道取"最后激活"实例的值(last wins)。 + /// 全部结束后恢复初始值。 + /// + [AddComponentMenu("SLS Utilities/Feedback Shakers/Time Scale Shaker")] + public class TimeScaleShaker : MonoBehaviour + { + private float _initGlobal; + private float _initPlayer; + private float _initEnemy; + private float _initAllied; + private float _initNonPlayer; + private bool _resolved; + + private readonly List _activeShakes = + new List(); + + private void Awake() + { + _resolved = TryResolve(); + } + + private void OnEnable() + { + TimeScaleShakeEvent.Register(OnShakeEvent); + } + + private void OnDisable() + { + TimeScaleShakeEvent.Unregister(OnShakeEvent); + StopAll(); + } + + private void Update() + { + if (!_resolved || _activeShakes.Count == 0) return; + if (TimeManager.Instance == null) return; + + float dt = Time.deltaTime; + + // 各通道取最后激活实例的值 + float globalVal = _initGlobal; + float playerVal = _initPlayer; + float enemyVal = _initEnemy; + float alliedVal = _initAllied; + float nonPlayerVal = _initNonPlayer; + + bool hasGlobal = false, hasPlayer = false, hasEnemy = false; + bool hasAllied = false, hasNonPlayer = false; + + for (int i = _activeShakes.Count - 1; i >= 0; i--) + { + TimeScaleShakeInstance shake = _activeShakes[i]; + shake.Timer += dt; + + float t = Mathf.Clamp01(shake.Timer / shake.Duration); + + if (shake.Global.active) { globalVal = shake.Global.Evaluate(t); hasGlobal = true; } + if (shake.Player.active) { playerVal = shake.Player.Evaluate(t); hasPlayer = true; } + if (shake.Enemy.active) { enemyVal = shake.Enemy.Evaluate(t); hasEnemy = true; } + if (shake.Allied.active) { alliedVal = shake.Allied.Evaluate(t); hasAllied = true; } + if (shake.NonPlayer.active) { nonPlayerVal = shake.NonPlayer.Evaluate(t); hasNonPlayer = true; } + + if (shake.IsFinished) + { + _activeShakes.RemoveAt(i); + } + } + + if (hasGlobal) TimeManager.Instance.globalTimeScale.Value = globalVal; + if (hasPlayer) TimeManager.Instance.playerTimeScale.Value = playerVal; + if (hasEnemy) TimeManager.Instance.enemyTimeScale.Value = enemyVal; + if (hasAllied) TimeManager.Instance.alliedMinionTimeScale.Value = alliedVal; + if (hasNonPlayer) TimeManager.Instance.nonPlayerTimeScale.Value = nonPlayerVal; + + if (_activeShakes.Count == 0) + { + Restore(); + } + } + + private void OnShakeEvent( + float duration, + TimeScaleChannelData global, + TimeScaleChannelData player, + TimeScaleChannelData enemy, + TimeScaleChannelData allied, + TimeScaleChannelData nonPlayer, + bool stop) + { + if (stop) + { + StopAll(); + return; + } + + if (!_resolved) _resolved = TryResolve(); + if (!_resolved) return; + + _activeShakes.Add(new TimeScaleShakeInstance( + duration, global, player, enemy, allied, nonPlayer + )); + } + + private bool TryResolve() + { + if (TimeManager.Instance == null) return false; + + _initGlobal = TimeManager.Instance.globalTimeScale.Value; + _initPlayer = TimeManager.Instance.playerTimeScale.Value; + _initEnemy = TimeManager.Instance.enemyTimeScale.Value; + _initAllied = TimeManager.Instance.alliedMinionTimeScale.Value; + _initNonPlayer = TimeManager.Instance.nonPlayerTimeScale.Value; + return true; + } + + private void Restore() + { + if (TimeManager.Instance == null) return; + TimeManager.Instance.globalTimeScale.Value = _initGlobal; + TimeManager.Instance.playerTimeScale.Value = _initPlayer; + TimeManager.Instance.enemyTimeScale.Value = _initEnemy; + TimeManager.Instance.alliedMinionTimeScale.Value = _initAllied; + TimeManager.Instance.nonPlayerTimeScale.Value = _initNonPlayer; + } + + private void StopAll() + { + _activeShakes.Clear(); + Restore(); + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/TimeScaleShaker.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/TimeScaleShaker.cs.meta new file mode 100644 index 000000000..b6626f2bf --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/TimeScaleShaker.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 33bd71b84e3b907468514ad946229fbc \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/VignetteShaker.cs b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/VignetteShaker.cs new file mode 100644 index 000000000..d6a049bcd --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/VignetteShaker.cs @@ -0,0 +1,269 @@ +using System.Collections.Generic; +using SLSUtilities.Feedback; +using SLSUtilities.Rendering.PostProcessing; +using UnityEngine; + +namespace Cielonos.MainGame.Effects.Feedback +{ + /// + /// 暗角震动事件。 + /// + public struct VignetteShakeEvent + { + private static event ShakeDelegate OnEvent; + + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + private static void RuntimeInitialization() { OnEvent = null; } + + public delegate void ShakeDelegate( + FeedbackContext feedbackContext, + FloatCurveChannel intensityCurve, + bool modifyCenter, + Vector2 center, + bool modifyColors, + ColorCurveChannel colorOuter, + ColorCurveChannel colorInner, + bool modifyShape, + FloatCurveChannel smoothnessCurve, + FloatCurveChannel roundnessCurve, + bool stop + ); + + public static void Register(ShakeDelegate callback) { OnEvent += callback; } + public static void Unregister(ShakeDelegate callback) { OnEvent -= callback; } + + public static void Trigger( + FeedbackContext feedbackContext, + FloatCurveChannel intensityCurve, + bool modifyCenter = false, + Vector2 center = default, + bool modifyColors = false, + ColorCurveChannel colorOuter = default, + ColorCurveChannel colorInner = default, + bool modifyShape = false, + FloatCurveChannel smoothnessCurve = default, + FloatCurveChannel roundnessCurve = default, + bool stop = false) + { + OnEvent?.Invoke(feedbackContext, intensityCurve, modifyCenter, center, + modifyColors, colorOuter, colorInner, modifyShape, + smoothnessCurve, roundnessCurve, stop); + } + } + + /// + /// 暗角震动实例。 + /// + public class VignetteShakeInstance : ShakeInstanceBase + { + public readonly FloatCurveChannel intensityCurve; + public readonly bool modifyCenter; + public readonly Vector2 center; + public readonly bool modifyColors; + public readonly ColorCurveChannel colorOuter; + public readonly ColorCurveChannel colorInner; + public readonly bool modifyShape; + public readonly FloatCurveChannel smoothnessCurve; + public readonly FloatCurveChannel roundnessCurve; + + public VignetteShakeInstance( + FeedbackContext feedbackContext, + FloatCurveChannel intensityCurve, + bool modifyCenter, + Vector2 center, + bool modifyColors, + ColorCurveChannel colorOuter, + ColorCurveChannel colorInner, + bool modifyShape, + FloatCurveChannel smoothnessCurve, + FloatCurveChannel roundnessCurve) + : base(feedbackContext.timeSettings, feedbackContext.player.TimeProvider, feedbackContext.duration) + { + this.intensityCurve = intensityCurve; + this.modifyCenter = modifyCenter; + this.center = center; + this.modifyColors = modifyColors; + this.colorOuter = colorOuter; + this.colorInner = colorInner; + this.modifyShape = modifyShape; + this.smoothnessCurve = smoothnessCurve; + this.roundnessCurve = roundnessCurve; + } + } + + /// + /// AdvancedVignette 的震动聚合器。 + /// + [AddComponentMenu("SLS Utilities/Feedback Shakers/Vignette Shaker")] + public class VignetteShaker : MonoBehaviour + { + private AdvancedVignette _component; + private float _initialIntensity; + private Vector2 _initialCenter; + private Color _initialColorOuter; + private Color _initialColorInner; + private float _initialSmoothness; + private float _initialRoundness; + private bool _resolved; + + private readonly List _activeShakes = new List(); + + private void Awake() + { + _resolved = TryResolve(); + } + + private void OnEnable() + { + VignetteShakeEvent.Register(OnShakeEvent); + } + + private void OnDisable() + { + VignetteShakeEvent.Unregister(OnShakeEvent); + StopAll(); + } + + private void Update() + { + if (!_resolved || _activeShakes.Count == 0) return; + + float additiveIntensity = 0f; + float absoluteIntensity = 0f; + bool hasAbsolute = false; + + Vector2 latestCenter = _initialCenter; + Color latestColorOuter = _initialColorOuter; + Color latestColorInner = _initialColorInner; + float latestSmoothness = _initialSmoothness; + float latestRoundness = _initialRoundness; + bool hasCenter = false; + bool hasColors = false; + bool hasShape = false; + + for (int i = _activeShakes.Count - 1; i >= 0; i--) + { + VignetteShakeInstance shake = _activeShakes[i]; + shake.timer += shake.timeProvider.GetDeltaTime(shake.timeSettings); + + float normalizedTime = shake.timer / shake.duration; + + if (shake.intensityCurve.active) + { + float curveValue = shake.intensityCurve.Evaluate(normalizedTime); + if (shake.intensityCurve.relativeToInitial) + { + additiveIntensity += curveValue; + } + else + { + absoluteIntensity = curveValue; + hasAbsolute = true; + } + } + + if (shake.modifyCenter) + { + latestCenter = shake.center; + hasCenter = true; + } + + if (shake.modifyColors) + { + latestColorOuter = shake.colorOuter.Evaluate(normalizedTime); + latestColorInner = shake.colorInner.Evaluate(normalizedTime); + hasColors = true; + } + + if (shake.modifyShape) + { + latestSmoothness = shake.smoothnessCurve.Evaluate(normalizedTime); + latestRoundness = shake.roundnessCurve.Evaluate(normalizedTime); + hasShape = true; + } + + if (shake.IsFinished) + { + _activeShakes.RemoveAt(i); + } + } + + float finalIntensity = hasAbsolute ? absoluteIntensity : _initialIntensity + additiveIntensity; + _component.intensity.value = finalIntensity; + + if (hasCenter) _component.center.value = latestCenter; + if (hasColors) + { + _component.colorOuter.value = latestColorOuter; + _component.colorInner.value = latestColorInner; + } + if (hasShape) + { + _component.smoothness.value = latestSmoothness; + _component.roundness.value = latestRoundness; + } + + if (_activeShakes.Count == 0) + { + Restore(); + } + } + + private void OnShakeEvent( + FeedbackContext feedbackContext, + FloatCurveChannel intensityCurve, + bool modifyCenter, + Vector2 center, + bool modifyColors, + ColorCurveChannel colorOuter, + ColorCurveChannel colorInner, + bool modifyShape, + FloatCurveChannel smoothnessCurve, + FloatCurveChannel roundnessCurve, + bool stop) + { + if (stop) { StopAll(); return; } + if (!_resolved) _resolved = TryResolve(); + if (!_resolved) return; + + var instance = new VignetteShakeInstance( + feedbackContext, intensityCurve, modifyCenter, center, + modifyColors, colorOuter, colorInner, modifyShape, + smoothnessCurve, roundnessCurve + ); + _activeShakes.Add(instance); + } + + private bool TryResolve() + { + if (_component != null) return true; + if (PostProcessingManager.Instance == null) return false; + if (!PostProcessingManager.Instance.GetVolumeComponent(out _component)) return false; + + _initialIntensity = _component.intensity.value; + _initialCenter = _component.center.value; + _initialColorOuter = _component.colorOuter.value; + _initialColorInner = _component.colorInner.value; + _initialSmoothness = _component.smoothness.value; + _initialRoundness = _component.roundness.value; + return true; + } + + private void Restore() + { + if (!_resolved) return; + _component.intensity.value = _initialIntensity; + _component.center.value = _initialCenter; + _component.colorOuter.value = _initialColorOuter; + _component.colorInner.value = _initialColorInner; + _component.smoothness.value = _initialSmoothness; + _component.roundness.value = _initialRoundness; + } + + private void StopAll() + { + _activeShakes.Clear(); + Restore(); + } + } +} diff --git a/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/VignetteShaker.cs.meta b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/VignetteShaker.cs.meta new file mode 100644 index 000000000..3eadc3978 --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/Feedbacks/Shakers/VignetteShaker.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 129b8b0330a4e5741a1f3121f9d01d22 \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/PostProcessing/PostProcessingManager.cs b/Assets/Scripts/MainGame/Effects/PostProcessing/PostProcessingManager.cs index 736c7fbf5..5a5793479 100644 --- a/Assets/Scripts/MainGame/Effects/PostProcessing/PostProcessingManager.cs +++ b/Assets/Scripts/MainGame/Effects/PostProcessing/PostProcessingManager.cs @@ -50,13 +50,15 @@ namespace Cielonos /// 如果成功找到,返回 true public bool GetVolumeComponent(out T component) where T : VolumeComponent { + component = null; + if (componentCache == null) return false; + Type type = typeof(T); // 1. 尝试从缓存中获取 if (componentCache.TryGetValue(type, out var cachedComponent)) { component = (T)cachedComponent; - return component != null; } // 2. 如果缓存中没有,从 Profile 中获取 @@ -69,7 +71,6 @@ namespace Cielonos // 3. 未找到 Debug.LogWarning($"PostProcessManager: 在 Volume Profile 中未找到类型为 {type.Name} 的组件。"); - component = null; return false; } } diff --git a/Assets/Scripts/MainGame/Effects/PostProcessing/SpeedLinesSubmodule.cs b/Assets/Scripts/MainGame/Effects/PostProcessing/SpeedLinesSubmodule.cs index ff7681e73..51a62a5b3 100644 --- a/Assets/Scripts/MainGame/Effects/PostProcessing/SpeedLinesSubmodule.cs +++ b/Assets/Scripts/MainGame/Effects/PostProcessing/SpeedLinesSubmodule.cs @@ -11,7 +11,7 @@ namespace Cielonos.MainGame.Effects public SpeedLinesSubmodule(PostProcessingManager manager) : base(manager) { - remap = new LerpFloat(1, 0.05f); + remap = new LerpFloat(1, 0.02f, 0.1f); } public override void Update(float factor) @@ -26,7 +26,7 @@ namespace Cielonos.MainGame.Effects public partial class SpeedLinesSubmodule { - public void SetRemap(float value) => SetCurrentValue(remap, value); + public void SetRemap(float value) => remap.targetValue = value; public void ModifyRemap(float value) => ModifyCurrentValue(remap, value); } } \ No newline at end of file diff --git a/Assets/Scripts/MainGame/Effects/VFX/Assistance.meta b/Assets/Scripts/MainGame/Effects/VFX/Assistance.meta new file mode 100644 index 000000000..84ac4175a --- /dev/null +++ b/Assets/Scripts/MainGame/Effects/VFX/Assistance.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0abf0f97d8246a84ea50e8867a8b25d9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SLSUtilities/Effects/LightGradient.cs b/Assets/Scripts/MainGame/Effects/VFX/Assistance/LightGradient.cs similarity index 99% rename from Assets/Scripts/SLSUtilities/Effects/LightGradient.cs rename to Assets/Scripts/MainGame/Effects/VFX/Assistance/LightGradient.cs index dd41e32a8..dc7a7e9a6 100644 --- a/Assets/Scripts/SLSUtilities/Effects/LightGradient.cs +++ b/Assets/Scripts/MainGame/Effects/VFX/Assistance/LightGradient.cs @@ -3,7 +3,7 @@ using UnityEngine; using Lean.Pool; using Sirenix.OdinInspector; -namespace SLSUtilities.Effects +namespace Cielonos.MainGame { public class LightGradient : MonoBehaviour, IPoolable { diff --git a/Assets/Scripts/SLSUtilities/Effects/LightGradient.cs.meta b/Assets/Scripts/MainGame/Effects/VFX/Assistance/LightGradient.cs.meta similarity index 100% rename from Assets/Scripts/SLSUtilities/Effects/LightGradient.cs.meta rename to Assets/Scripts/MainGame/Effects/VFX/Assistance/LightGradient.cs.meta diff --git a/Assets/Scripts/SLSUtilities/Effects/TransformAdjustment.cs b/Assets/Scripts/MainGame/Effects/VFX/Assistance/TransformAdjustment.cs similarity index 97% rename from Assets/Scripts/SLSUtilities/Effects/TransformAdjustment.cs rename to Assets/Scripts/MainGame/Effects/VFX/Assistance/TransformAdjustment.cs index 4066b66a3..467624aa8 100644 --- a/Assets/Scripts/SLSUtilities/Effects/TransformAdjustment.cs +++ b/Assets/Scripts/MainGame/Effects/VFX/Assistance/TransformAdjustment.cs @@ -4,10 +4,11 @@ using Sirenix.OdinInspector; using UnityEngine; using UnityEngine.Serialization; -namespace SLSUtilities.Effects +namespace Cielonos.MainGame { public class TransformAdjustment : MonoBehaviour, IPoolable { + [Required] public VFXObject vfxObject; [Required] public Transform targetTransform; [Tooltip("在特效生成时是否立刻启用渐变,注意,必须通过对象池生成。\n为true时,渐变效果从默认transform开始,否则需要调用EnableFade方法启用渐变")] @@ -98,8 +99,8 @@ namespace SLSUtilities.Effects void Update() { if (!isFading) return; - - time += Time.deltaTime; + + time += vfxObject?.DeltaTime ?? Time.deltaTime; if (applyLocalPosition) { diff --git a/Assets/Scripts/SLSUtilities/Effects/TransformAdjustment.cs.meta b/Assets/Scripts/MainGame/Effects/VFX/Assistance/TransformAdjustment.cs.meta similarity index 100% rename from Assets/Scripts/SLSUtilities/Effects/TransformAdjustment.cs.meta rename to Assets/Scripts/MainGame/Effects/VFX/Assistance/TransformAdjustment.cs.meta diff --git a/Assets/Scripts/SLSUtilities/Effects/VFXRaycastInteraction.cs b/Assets/Scripts/MainGame/Effects/VFX/Assistance/VFXRaycastInteraction.cs similarity index 99% rename from Assets/Scripts/SLSUtilities/Effects/VFXRaycastInteraction.cs rename to Assets/Scripts/MainGame/Effects/VFX/Assistance/VFXRaycastInteraction.cs index 1dc317a08..aa975f8a2 100644 --- a/Assets/Scripts/SLSUtilities/Effects/VFXRaycastInteraction.cs +++ b/Assets/Scripts/MainGame/Effects/VFX/Assistance/VFXRaycastInteraction.cs @@ -3,7 +3,7 @@ using Lean.Pool; using Sirenix.OdinInspector; using UnityEngine; -namespace SLSUtilities.Effects +namespace Cielonos.MainGame { public class VFXRaycastInteraction : MonoBehaviour, IPoolable { diff --git a/Assets/Scripts/SLSUtilities/Effects/VFXRaycastInteraction.cs.meta b/Assets/Scripts/MainGame/Effects/VFX/Assistance/VFXRaycastInteraction.cs.meta similarity index 100% rename from Assets/Scripts/SLSUtilities/Effects/VFXRaycastInteraction.cs.meta rename to Assets/Scripts/MainGame/Effects/VFX/Assistance/VFXRaycastInteraction.cs.meta diff --git a/Assets/Scripts/MainGame/Effects/VFX/VFXObject.cs b/Assets/Scripts/MainGame/Effects/VFX/VFXObject.cs index 37c187b71..92cdfb2af 100644 --- a/Assets/Scripts/MainGame/Effects/VFX/VFXObject.cs +++ b/Assets/Scripts/MainGame/Effects/VFX/VFXObject.cs @@ -14,6 +14,8 @@ namespace Cielonos.MainGame public CharacterBase creator; public bool affectedByCreatorTimeScale = true; + public float DeltaTime => affectedByCreatorTimeScale && creator != null ? creator.selfTimeSm.DeltaTime : Time.deltaTime; + public float TimeScale => affectedByCreatorTimeScale && creator != null ? creator.selfTimeSm.TimeScale : 1f; public List particles = new List(); @@ -71,19 +73,10 @@ namespace Cielonos.MainGame protected override void Update() { - float deltaTime = Time.deltaTime; - float timeScale = 1f; - - if (creator != null) - { - deltaTime = creator.selfTimeSm.DeltaTime; - timeScale = creator.selfTimeSm.TimeScale; - } - - UpdateTimer(deltaTime); + UpdateTimer(DeltaTime); if (affectedByCreatorTimeScale) { - particleMainModules.ForEach(main => main.simulationSpeed = timeScale); + particleMainModules.ForEach(main => main.simulationSpeed = TimeScale); } } diff --git a/Assets/Scripts/MainGame/Managers/MainGameBaseCollection.cs b/Assets/Scripts/MainGame/Managers/MainGameBaseCollection.cs index e870792c3..d70f1aa9f 100644 --- a/Assets/Scripts/MainGame/Managers/MainGameBaseCollection.cs +++ b/Assets/Scripts/MainGame/Managers/MainGameBaseCollection.cs @@ -34,6 +34,11 @@ namespace Cielonos.MainGame public Dictionary hudTextCollection = new Dictionary(); public DamageNumber DamageNumber(Attack.AttackType attackType, bool isCritical) { + if (attackType == Attack.AttackType.Blank) + { + return hudTextCollection["DN_Blank"]; + } + string prefix = "DN"; string typeStr = attackType.ToString(); string criticalStr = isCritical ? "Critical" : "Normal"; diff --git a/Assets/Scripts/MainGame/Map/Zone/ZoneData.cs b/Assets/Scripts/MainGame/Map/Zone/ZoneData.cs index aff0a63b5..acfbcedf3 100644 --- a/Assets/Scripts/MainGame/Map/Zone/ZoneData.cs +++ b/Assets/Scripts/MainGame/Map/Zone/ZoneData.cs @@ -204,7 +204,7 @@ namespace Cielonos.MainGame.Map { enemySpawns[new SpawnPointKey(item.group, item.index)] = item.enemyID; } - + EditorUtility.SetDirty(this); } } diff --git a/Assets/Scripts/SLSUtilities/Feedback/Base/CurveShakeAction.cs b/Assets/Scripts/SLSUtilities/Feedback/Base/CurveShakeAction.cs index c5442b1bc..c8148848a 100644 --- a/Assets/Scripts/SLSUtilities/Feedback/Base/CurveShakeAction.cs +++ b/Assets/Scripts/SLSUtilities/Feedback/Base/CurveShakeAction.cs @@ -16,6 +16,7 @@ namespace SLSUtilities.Feedback /// [Title("Curve Shake")] [LabelText("Shake Curve")] + [ShakeCurvePreset] public AnimationCurve shakeCurve = new AnimationCurve( new Keyframe(0f, 0f), new Keyframe(0.5f, 1f), @@ -40,24 +41,10 @@ namespace SLSUtilities.Feedback [LabelText("Relative to Initial")] public bool relativeToInitial; - /// - /// 根据归一化时间采样曲线并映射到实际值范围。 - /// 如果 relativeToInitial 为 true,结果会叠加在 initialValue 上。 - /// - /// 归一化时间 [0,1] - /// 初始值(OnStart 时记录) - /// 映射后的最终数值 - protected float EvaluateShake(float normalizedTime, float initialValue) + + protected virtual float EvaluateShake(float normalizedTime, float initialValue) { - float curveValue = shakeCurve.Evaluate(normalizedTime); - float remappedValue = Mathf.LerpUnclamped(remapMin, remapMax, curveValue); - - if (relativeToInitial) - { - return initialValue + remappedValue; - } - - return remappedValue; + return base.EvaluateShake(shakeCurve, remapMin, remapMax, relativeToInitial, normalizedTime, initialValue); } } } diff --git a/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackActionBase.cs b/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackActionBase.cs index c7b730983..d0135c721 100644 --- a/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackActionBase.cs +++ b/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackActionBase.cs @@ -33,6 +33,16 @@ namespace SLSUtilities.Feedback /// Clip 总时长(秒)。 /// public float duration; + + /// + /// 当前 Clip 的综合时间缩放系数(含 Global/Group/Local),由 FeedbackPlayer 每帧动态计算。 + /// + public float timeScale; + + /// + /// 当前 Clip 是否动态获取当前的时间缩放 + /// + public FeedbackTimeSettings timeSettings; } /// @@ -48,6 +58,11 @@ namespace SLSUtilities.Feedback /// public virtual string DisplayName => GetType().Name; + /// + /// 是否忽略时间缩放。如果为true,此Action将使用原始deltaTime,不受TimeScale影响。 + /// + public virtual bool IgnoreTimeScale => false; + /// /// 初始化,FeedbackPlayer 开始播放此 Clip 时调用。 /// @@ -81,5 +96,30 @@ namespace SLSUtilities.Feedback /// 用于 Editor 预览(Runtime 也可用)。 /// public virtual void Preview() { } + + /// + /// 根据归一化时间采样曲线并映射到实际值范围。 + /// 如果 relativeToInitial 为 true,结果会叠加在 initialValue 上。 + /// + /// 震动曲线,X 轴为归一化时间 [0,1],Y 轴为震动强度 [0,1]。 + /// 曲线值 0 对应的实际数值。 + /// 曲线值 1 对应的实际数值。 + /// 是否在初始值上叠加(而非替换)。 + /// 归一化时间 [0,1] + /// 初始值(OnStart 时记录) + /// 映射后的最终数值 + protected virtual float EvaluateShake(AnimationCurve shakeCurve, float remapMin, float remapMax, bool relativeToInitial, + float normalizedTime, float initialValue) + { + float curveValue = shakeCurve.Evaluate(normalizedTime); + float remappedValue = Mathf.LerpUnclamped(remapMin, remapMax, curveValue); + + if (relativeToInitial) + { + return initialValue + remappedValue; + } + + return remappedValue; + } } } diff --git a/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackActionColorAttribute.cs b/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackActionColorAttribute.cs new file mode 100644 index 000000000..f8183b931 --- /dev/null +++ b/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackActionColorAttribute.cs @@ -0,0 +1,19 @@ +using System; +using UnityEngine; + +namespace SLSUtilities.Feedback +{ + /// + /// 为 FeedbackActionBase 子类指定在时间轴编辑器中的显示颜色。 + /// + [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] + public sealed class FeedbackActionColorAttribute : Attribute + { + public Color Color { get; } + + public FeedbackActionColorAttribute(float r, float g, float b, float a = 0.8f) + { + Color = new Color(r, g, b, a); + } + } +} diff --git a/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackActionColorAttribute.cs.meta b/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackActionColorAttribute.cs.meta new file mode 100644 index 000000000..b81f0475d --- /dev/null +++ b/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackActionColorAttribute.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 460e3071059bce248806e5bb6f81d27e \ No newline at end of file diff --git a/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackClip.cs b/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackClip.cs index a6a7fdadb..62230b459 100644 --- a/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackClip.cs +++ b/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackClip.cs @@ -11,17 +11,21 @@ namespace SLSUtilities.Feedback [Serializable] public class FeedbackClip { + public string clipName; + /// /// 片段开始时间(秒)。 /// [MinValue(0f)] + [HorizontalGroup("Time"), LabelWidth(60)] public float startTime; /// /// 片段持续时间(秒)。 /// [MinValue(0.01f)] - public float duration = 0.1f; + [HorizontalGroup("Time"), LabelWidth(60)] + public float duration = 0.2f; /// /// 片段结束时间(秒)。 @@ -31,7 +35,7 @@ namespace SLSUtilities.Feedback /// /// 是否覆盖 FeedbackData 的时间设置。 /// - [Title("Time Override")] + [LabelWidth(150)] public bool overrideTimeSettings; /// @@ -43,7 +47,7 @@ namespace SLSUtilities.Feedback /// /// 具体反馈动作,Odin 自动显示多态类型选择器。 /// - [Title("Action"), SerializeReference] + [SerializeReference] public FeedbackActionBase action; } } diff --git a/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackData.cs b/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackData.cs index 211bd86a0..587bc8e45 100644 --- a/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackData.cs +++ b/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackData.cs @@ -1,6 +1,8 @@ +using System; using System.Collections.Generic; using System.Linq; using Sirenix.OdinInspector; +using UniRx; using UnityEngine; namespace SLSUtilities.Feedback @@ -10,7 +12,7 @@ namespace SLSUtilities.Feedback /// 包含多条轨道(Track),每条轨道包含按时间排列的片段(Clip)。 /// [CreateAssetMenu(fileName = "NewFeedbackData", menuName = "SLS/Feedback/FeedbackData")] - public class FeedbackData : SerializedScriptableObject + public partial class FeedbackData : SerializedScriptableObject { /// /// 父级集合引用,由 FeedbackDataCollection 自动维护。 @@ -27,7 +29,6 @@ namespace SLSUtilities.Feedback /// /// 全局默认的时间设置。Clip 可选择覆盖此设置。 /// - [Title("Time Settings (Default)")] public FeedbackTimeSettings defaultTimeSettings = new FeedbackTimeSettings(); /// @@ -67,4 +68,47 @@ namespace SLSUtilities.Feedback Debug.Log($"[FeedbackData] Previewing '{feedbackName}' (Duration: {TotalDuration:F2}s)"); } } + + public partial class FeedbackData + { + public FeedbackTrack Track(string name) + { + FeedbackTrack track = tracks.FirstOrDefault(t => t.trackName == name); + if (track == null) + { + Debug.LogWarning($"[FeedbackData] Track '{name}' not found in FeedbackData '{feedbackName}'."); + } + return track; + } + + public FeedbackClip Clip(string trackName, Func predicate) + { + FeedbackTrack track = Track(trackName); + if (track == null) return null; + + FeedbackClip clip = track.clips.FirstOrDefault(predicate); + if (clip == null) + { + Debug.LogWarning($"[FeedbackData] Clip matching predicate not found in Track '{trackName}' of FeedbackData '{feedbackName}'."); + } + return clip; + } + + public FeedbackClip Clip(string trackName) where T : FeedbackActionBase + { + return Clip(trackName, c => c.action.GetType() == typeof(T)); + } + + public FeedbackClip Clip(string trackName, string clipName) + { + return Clip(trackName, c => c.clipName == clipName); + } + + public T Action(string trackName) where T : FeedbackActionBase + { + FeedbackTrack track = Track(trackName); + FeedbackClip clip = track?.clips.FirstOrDefault(c => c.action.GetType() == typeof(T)); + return clip?.action as T; + } + } } diff --git a/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackTimeSettings.cs b/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackTimeSettings.cs index 570bfa9fc..611949223 100644 --- a/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackTimeSettings.cs +++ b/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackTimeSettings.cs @@ -1,5 +1,7 @@ using System; +using Sirenix.OdinInspector; using UnityEngine; +using UnityEngine.Serialization; namespace SLSUtilities.Feedback { @@ -9,26 +11,26 @@ namespace SLSUtilities.Feedback /// Clip 级设置如果 useTimeScale = true 则覆盖 Data 级设置。 /// [Serializable] - public class FeedbackTimeSettings + public partial class FeedbackTimeSettings { - /// - /// 是否使用时间缩放。默认 false 表示不受任何时间缩放影响。 - /// - public bool useTimeScale; + [EnumButtons] + public TimeScaleType timeScaleType = TimeScaleType.Global; + + [FormerlySerializedAs("useDynamicTimeScale")] + [Tooltip("是否动态获取当前的时间缩放。启用后,FeedbackPlayer 每帧计算当前综合时间缩放系数并传递给 FeedbackAction。")] + [HideIf("timeScaleType", TimeScaleType.Unscaled)] + [LabelText("Apply Dynamic")] + public bool applyDynamicTimeScale = true; + } - /// - /// 受 TimeManager.globalTimeScale 影响。 - /// - public bool affectedByGlobalTimeScale; - - /// - /// 受 TimeManager 的分组时间影响(player/enemy 等)。 - /// - public bool affectedByGroupTimeScale; - - /// - /// 受角色本地 localTimeScale 影响。 - /// - public bool affectedByLocalTimeScale; + public partial class FeedbackTimeSettings + { + public enum TimeScaleType + { + Unscaled = 0, + Global = 1, + Group = 2, + Local = 3 + } } } diff --git a/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackTrack.cs b/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackTrack.cs index 61f913ce4..b69f73313 100644 --- a/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackTrack.cs +++ b/Assets/Scripts/SLSUtilities/Feedback/Base/FeedbackTrack.cs @@ -10,12 +10,13 @@ namespace SLSUtilities.Feedback /// 多个 Track 天然并行播放,Track 内的 Clip 按时间顺序排列,不重叠。 /// [Serializable] - public class FeedbackTrack + public partial class FeedbackTrack { /// /// 轨道名称,用于调试和 Inspector 显示。 /// [LabelText("Track Name")] + [ValueDropdown("GetTrackNamesList")] public string trackName = "New Track"; /// @@ -43,4 +44,15 @@ namespace SLSUtilities.Feedback /// public float TotalDuration => clips.Count > 0 ? clips.Max(c => c.EndTime) : 0f; } + + public partial class FeedbackTrack + { + private List GetTrackNamesList() + { + return new List() + { + "Camera", "Time", "Postprocessing", "Audio" + }; + } + } } diff --git a/Assets/Scripts/SLSUtilities/Feedback/Base/IFeedbackTimeProvider.cs b/Assets/Scripts/SLSUtilities/Feedback/Base/IFeedbackTimeProvider.cs index f87262fd2..b8bc1be5d 100644 --- a/Assets/Scripts/SLSUtilities/Feedback/Base/IFeedbackTimeProvider.cs +++ b/Assets/Scripts/SLSUtilities/Feedback/Base/IFeedbackTimeProvider.cs @@ -22,8 +22,14 @@ namespace SLSUtilities.Feedback float LocalTimeScale { get; } /// - /// 根据时间设置计算实际 deltaTime。 + /// 根据时间设置计算实际 deltaTime(秒)。 /// float GetDeltaTime(FeedbackTimeSettings settings); + + /// + /// 根据时间设置计算综合时间缩放系数(无 deltaTime 乘入)。 + /// 返回 1.0 表示正常速度。 + /// + float GetTimeScale(FeedbackTimeSettings settings); } } diff --git a/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeCurvePresetAttribute.cs b/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeCurvePresetAttribute.cs new file mode 100644 index 000000000..89521c41f --- /dev/null +++ b/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeCurvePresetAttribute.cs @@ -0,0 +1,12 @@ +using System; + +namespace SLSUtilities.Feedback +{ + /// + /// 标记 AnimationCurve 字段,使其在 Inspector 中显示震动曲线预设按钮组。 + /// + [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)] + public class ShakeCurvePresetAttribute : Attribute + { + } +} diff --git a/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeCurvePresetAttribute.cs.meta b/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeCurvePresetAttribute.cs.meta new file mode 100644 index 000000000..d5afcb1fc --- /dev/null +++ b/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeCurvePresetAttribute.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8d647fdd1e522b249b302cc16ccc365d \ No newline at end of file diff --git a/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeCurvePresets.cs b/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeCurvePresets.cs new file mode 100644 index 000000000..bb1a8039b --- /dev/null +++ b/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeCurvePresets.cs @@ -0,0 +1,177 @@ +using UnityEngine; + +namespace SLSUtilities.Feedback +{ + /// + /// 震动曲线预设集合。每个方法返回一条全新的 AnimationCurve 实例。 + /// 所有曲线的 X 轴为归一化时间 [0, 1],Y 轴为强度系数。 + /// + public static class ShakeCurvePresets + { + /// + /// 预设名 → 工厂方法。 + /// + public static readonly (string name, System.Func factory)[] All = new[] + { + ("Impact", (System.Func)QuickImpact), + ("Punch", (System.Func)Punch), + ("Bump", (System.Func)SmoothBump), + ("Fade Out", (System.Func)FadeOut), + ("Oscillate", (System.Func)Oscillate), + ("Dense Osc.", (System.Func)DenseOscillate), + ("Anticipation", (System.Func)Anticipation), + ("Recoil", (System.Func)Recoil), + ("Double Hit", (System.Func)DoubleHit), + ("Flash", (System.Func)Flash), + }; + + /// + /// 快速冲击 — 峰值出现在 10~15%,之后快速衰减至零。 + /// 适合:打击确认、子弹命中、轻攻击。 + /// + public static AnimationCurve QuickImpact() + { + return new AnimationCurve( + new Keyframe(0f, 0f, 0f, 8f), + new Keyframe(0.12f, 1f, 0f, 0f), + new Keyframe(0.5f, 0.12f, -0.6f, -0.3f), + new Keyframe(1f, 0f, -0.1f, 0f) + ); + } + + /// + /// 重拳 — 第 1 帧即达峰值,线性衰减至零。 + /// 适合:重击、格挡冲击、爆炸瞬间。 + /// + public static AnimationCurve Punch() + { + return new AnimationCurve( + new Keyframe(0f, 0f, 0f, float.PositiveInfinity), + new Keyframe(0.02f, 1f, 0f, -1.02f), + new Keyframe(1f, 0f, -1.02f, 0f) + ); + } + + /// + /// 平滑铃形 — 对称的升/降曲线(EaseInOut)。 + /// 适合:脚步震动、跳跃落地、节奏性效果。 + /// + public static AnimationCurve SmoothBump() + { + return new AnimationCurve( + new Keyframe(0f, 0f, 0f, 0f), + new Keyframe(0.5f, 1f, 0f, 0f), + new Keyframe(1f, 0f, 0f, 0f) + ); + } + + /// + /// 渐弱 — 起始即为峰值,EaseOut 衰减至零。 + /// 适合:爆炸余波、效果消散、技能冷却过渡。 + /// + public static AnimationCurve FadeOut() + { + return new AnimationCurve( + new Keyframe(0f, 1f, 0f, 0f), + new Keyframe(1f, 0f, -2f, 0f) + ); + } + + /// + /// 衰减振荡 — 2~3 个波峰逐渐衰减。 + /// 适合:爆炸余震、碰撞后振荡、弹跳。 + /// + public static AnimationCurve Oscillate() + { + return new AnimationCurve( + new Keyframe(0f, 0f, 0f, 12f), + new Keyframe(0.08f, 1f, 0f, 0f), + new Keyframe(0.24f, -0.55f, 0f, 0f), + new Keyframe(0.42f, 0.3f, 0f, 0f), + new Keyframe(0.62f, -0.12f, 0f, 0f), + new Keyframe(1f, 0f, 0f, 0f) + ); + } + + /// + /// 密集衰减振荡 — 5~6 个波峰,频率更高,适合更猛烈的效果。 + /// 适合:大型爆炸持续余震、引擎振动、电击。 + /// + public static AnimationCurve DenseOscillate() + { + return new AnimationCurve( + new Keyframe(0f, 0f, 0f, 20f), + new Keyframe(0.05f, 1f, 0f, 0f), + new Keyframe(0.13f, -0.72f, 0f, 0f), + new Keyframe(0.21f, 0.52f, 0f, 0f), + new Keyframe(0.29f, -0.36f, 0f, 0f), + new Keyframe(0.38f, 0.24f, 0f, 0f), + new Keyframe(0.48f, -0.15f, 0f, 0f), + new Keyframe(0.60f, 0.08f, 0f, 0f), + new Keyframe(0.75f, -0.03f, 0f, 0f), + new Keyframe(1f, 0f, 0f, 0f) + ); + } + + /// + /// 预兆 + 冲击 — 先小幅反向蓄力,再大幅正向爆发。 + /// 适合:重型近战预备 + 冲击,与动画预备帧配合。 + /// + public static AnimationCurve Anticipation() + { + return new AnimationCurve( + new Keyframe(0f, 0f, 0f, 0f), + new Keyframe(0.18f, -0.2f, 0f, 0f), + new Keyframe(0.32f, 0f, 0f, 4f), + new Keyframe(0.5f, 1f, 0f, 0f), + new Keyframe(1f, 0f, -1.2f, 0f) + ); + } + + /// + /// 后坐/反弹 — 快速达到峰值后超调回弹,逐渐收敛。 + /// 适合:枪械后坐力、刀击挥出后的回摆。 + /// + public static AnimationCurve Recoil() + { + return new AnimationCurve( + new Keyframe(0f, 0f, 0f, 10f), + new Keyframe(0.1f, 1f, 0f, 0f), + new Keyframe(0.32f, -0.3f, 0f, 0f), + new Keyframe(0.52f, 0.12f, 0f, 0f), + new Keyframe(0.72f, -0.04f, 0f, 0f), + new Keyframe(1f, 0f, 0f, 0f) + ); + } + + /// + /// 双击峰 — 两个依次递减的波峰。 + /// 适合:连击、二段攻击、双弹命中。 + /// + public static AnimationCurve DoubleHit() + { + return new AnimationCurve( + new Keyframe(0f, 0f, 0f, 8f), + new Keyframe(0.12f, 1f, 0f, 0f), + new Keyframe(0.32f, 0.1f, 0f, 0f), + new Keyframe(0.52f, 0.7f, 0f, 0f), + new Keyframe(1f, 0f, -0.6f, 0f) + ); + } + + /// + /// 方波闪光 — 近乎即时上升/下降,中间保持峰值。 + /// 适合:描边闪光、即时视觉强调、全屏闪白。 + /// + public static AnimationCurve Flash() + { + // 使用极陡切线模拟方波:在极短时间内完成升/降 + return new AnimationCurve( + new Keyframe(0f, 0f, 0f, float.PositiveInfinity), + new Keyframe(0.02f, 1f, float.PositiveInfinity, 0f), + new Keyframe(0.98f, 1f, 0f, float.NegativeInfinity), + new Keyframe(1f, 0f, float.NegativeInfinity, 0f) + ); + } + } +} diff --git a/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeCurvePresets.cs.meta b/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeCurvePresets.cs.meta new file mode 100644 index 000000000..7e6d39a9f --- /dev/null +++ b/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeCurvePresets.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 260284d08797fb74d9922b06fd61db55 \ No newline at end of file diff --git a/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeInstanceBase.cs b/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeInstanceBase.cs new file mode 100644 index 000000000..37b28459c --- /dev/null +++ b/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeInstanceBase.cs @@ -0,0 +1,34 @@ +using UnityEngine; + +namespace SLSUtilities.Feedback +{ + /// + /// 后处理震动实例的运行时状态。 + /// 由 Shaker 维护,支持多个实例的叠加混合。 + /// + public class ShakeInstanceBase + { + public FeedbackTimeSettings timeSettings; + public IFeedbackTimeProvider timeProvider; + public float timer; + public float duration; + + public ShakeInstanceBase(FeedbackTimeSettings timeSettings, IFeedbackTimeProvider timeProvider, float duration) + { + this.timeSettings = timeSettings; + this.timeProvider = timeProvider; + this.duration = duration; + timer = 0f; + } + + public void Tick() + { + timer += timeProvider.GetDeltaTime(timeSettings); + } + + /// + /// 当前震动是否已结束。 + /// + public bool IsFinished => timer >= duration; + } +} diff --git a/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeInstanceBase.cs.meta b/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeInstanceBase.cs.meta new file mode 100644 index 000000000..129320c12 --- /dev/null +++ b/Assets/Scripts/SLSUtilities/Feedback/Base/ShakeInstanceBase.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0e5361f026a60804a9f494f514e810cb \ No newline at end of file diff --git a/Assets/Scripts/SLSUtilities/Feedback/Editor/FeedbackDataEditorWindow.cs b/Assets/Scripts/SLSUtilities/Feedback/Editor/FeedbackDataEditorWindow.cs new file mode 100644 index 000000000..516a9710c --- /dev/null +++ b/Assets/Scripts/SLSUtilities/Feedback/Editor/FeedbackDataEditorWindow.cs @@ -0,0 +1,956 @@ +#if UNITY_EDITOR +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using UnityEngine; +using UnityEditor; +using Sirenix.OdinInspector; +using Sirenix.OdinInspector.Editor; +using Sirenix.Utilities.Editor; +using UnityEditor.Callbacks; + +namespace SLSUtilities.Feedback.Editor +{ + public class FeedbackDataEditorWindow : OdinEditorWindow + { + // ─────────────── 常量 ─────────────── + + private const float RULER_HEIGHT = 22f; + private const float LANE_HEIGHT = 24f; + private const float TRACK_PADDING = 2f; + private const float TRACK_LABEL_WIDTH = 140f; + private const float EXPAND_BUTTON_SIZE = 14f; + private const float DRAG_HANDLE_WIDTH = 6f; + private const float MIN_TIMELINE_DURATION = 1.0f; + private const float TIMELINE_PADDING_RATIO = 0.15f; + private const float DEFAULT_SNAP_INTERVAL = 0.05f; + private const float MIN_CLIP_DURATION = 0.01f; + + // ─────────────── 序列化字段 ─────────────── + + [Title("Feedback Data Editor")] + [ShowInInspector, AssetsOnly, PropertyOrder(-100)] + [LabelText("Target Data")] + [OnValueChanged("OnDataChanged")] + public FeedbackData targetData; + + [ShowInInspector, PropertyOrder(-99)] + [HorizontalGroup("TimelineSettings", Width = 200)] + [LabelText("View Duration")] + [LabelWidth(90)] + [MinValue(0.1f)] + [OnValueChanged("OnViewDurationChanged")] + public float viewDuration = MIN_TIMELINE_DURATION; + + [ShowInInspector, PropertyOrder(-99)] + [HorizontalGroup("TimelineSettings", Width = 160)] + [LabelText("Snap")] + [LabelWidth(35)] + [MinValue(0.001f)] + public float snapInterval = DEFAULT_SNAP_INTERVAL; + + [ShowInInspector, PropertyOrder(-99)] + [HorizontalGroup("TimelineSettings", Width = 120)] + [LabelText("Auto Fit")] + [LabelWidth(55)] + public bool autoFitDuration = true; + + [ShowInInspector, PropertyOrder(1)] + [ShowIf("targetData")] + [InlineEditor(Expanded = true, ObjectFieldMode = InlineEditorObjectFieldModes.Hidden)] + public FeedbackData dataEditor; + + // ─────────────── 拖拽状态 ─────────────── + + private enum DragMode { None, ClipMove, ClipLeft, ClipRight } + + private DragMode _currentDragMode = DragMode.None; + private int _dragTrackIndex = -1; + private int _dragClipIndex = -1; + private float _dragStartMouseTime; + private float _dragStartClipStart; + private float _dragStartClipDuration; + private bool _isDirty; + + // ─────────────── 选中状态 ─────────────── + + private int _selectedTrackIndex = -1; + private int _selectedClipIndex = -1; + + // ─────────────── 展开状态与布局缓存 ─────────────── + + private readonly HashSet _expandedTracks = new HashSet(); + + private struct TrackLayout + { + public float yOffset; + public float totalHeight; + public int laneCount; // 当前显示的 lane 数(折叠时为 1) + public int naturalLaneCount; // 实际需要的 lane 数(用于决定是否显示展开按钮) + public int[] clipLanes; + } + + private TrackLayout[] _trackLayouts; + + // ─────────────── 颜色 ─────────────── + + private static readonly Dictionary ActionColorCache = new Dictionary(); + + private static readonly Color BackgroundColor = new Color(0.16f, 0.16f, 0.16f); + private static readonly Color TrackBackgroundColor = new Color(0.22f, 0.22f, 0.22f); + private static readonly Color TrackAltBackgroundColor = new Color(0.20f, 0.20f, 0.20f); + private static readonly Color RulerBackgroundColor = new Color(0.14f, 0.14f, 0.14f); + private static readonly Color SelectionOutlineColor = new Color(1f, 0.85f, 0.2f); + private static readonly Color MutedOverlayColor = new Color(0.5f, 0.5f, 0.5f, 0.4f); + private static readonly Color SoloIndicatorColor = new Color(1f, 0.85f, 0.2f); + private static readonly Color DefaultClipColor = new Color(0.5f, 0.6f, 0.7f, 0.8f); + private static readonly Color ExpandButtonColor = new Color(0.6f, 0.6f, 0.6f); + private static readonly Color LaneSeparatorColor = new Color(0.3f, 0.3f, 0.3f, 0.3f); + + // ─────────────── Label 宽度 ─────────────── + + private const float INSPECTOR_LABEL_WIDTH = 155f; + + /// + /// 包装每个 Editor 的绘制,使用 Odin 的 GUIHelper 栈式 Label 宽度, + /// 确保 InlineEditor 内部也能生效。 + /// + protected override void DrawEditor(int index) + { + GUIHelper.PushLabelWidth(INSPECTOR_LABEL_WIDTH); + base.DrawEditor(index); + GUIHelper.PopLabelWidth(); + } + + // ─────────────── 窗口入口 ─────────────── + + /// + /// 通过菜单打开窗口。 + /// + [MenuItem("Tools/SLS Utilities/Feedback Data Editor")] + private static void OpenWindow() + { + var window = GetWindow(); + window.titleContent = new GUIContent("Feedback Editor"); + window.Show(); + } + + /// + /// 双击 FeedbackData 资产时自动打开编辑器。 + /// + [OnOpenAsset(1)] + public static bool OnOpenAsset(int instanceID, int line) + { + FeedbackData data = EditorUtility.EntityIdToObject(instanceID) as FeedbackData; + if (data == null) return false; + + OpenWindow(); + var window = GetWindow(); + window.targetData = data; + window.OnDataChanged(); + return true; + } + + // ─────────────── 数据变更回调 ─────────────── + + private void OnDataChanged() + { + dataEditor = targetData; + if (autoFitDuration) FitViewDuration(); + _selectedTrackIndex = -1; + _selectedClipIndex = -1; + _expandedTracks.Clear(); + } + + private void OnViewDurationChanged() + { + autoFitDuration = false; + } + + /// + /// 自动适配 viewDuration 到数据实际长度。 + /// + private void FitViewDuration() + { + if (targetData == null) return; + float total = targetData.TotalDuration; + viewDuration = Mathf.Max(total * (1f + TIMELINE_PADDING_RATIO), MIN_TIMELINE_DURATION); + } + + // ═══════════════════════════════════════════ + // 轨道布局计算 + // ═══════════════════════════════════════════ + + /// + /// 重新计算所有轨道的布局(lane 分配、高度、Y 偏移)。 + /// + private void ComputeTrackLayouts() + { + if (targetData?.tracks == null || targetData.tracks.Count == 0) + { + _trackLayouts = Array.Empty(); + return; + } + + int numTracks = targetData.tracks.Count; + _trackLayouts = new TrackLayout[numTracks]; + float currentY = 0; + + for (int i = 0; i < numTracks; i++) + { + FeedbackTrack track = targetData.tracks[i]; + bool isExpanded = _expandedTracks.Contains(i); + int[] clipLanes = AssignClipLanes(track); + + // 始终计算实际所需 lane 数,用于决定是否显示展开按钮 + int naturalLaneCount = (clipLanes != null && clipLanes.Length > 0) + ? clipLanes.Max() + 1 + : 1; + + // 显示的 lane 数:折叠时固定为 1,展开时用实际值 + int displayLaneCount = isExpanded ? naturalLaneCount : 1; + + float height = displayLaneCount * LANE_HEIGHT + TRACK_PADDING * 2; + + _trackLayouts[i] = new TrackLayout + { + yOffset = currentY, + totalHeight = height, + laneCount = displayLaneCount, + naturalLaneCount = naturalLaneCount, + clipLanes = clipLanes + }; + + currentY += height; + } + } + + /// + /// 为一条轨道中的 Clips 分配 lane,使重叠的 Clip 位于不同 lane。 + /// 贪心算法:按 startTime 排序,依次放入第一个无冲突的 lane。 + /// + private int[] AssignClipLanes(FeedbackTrack track) + { + if (track?.clips == null || track.clips.Count == 0) return Array.Empty(); + + int clipCount = track.clips.Count; + int[] lanes = new int[clipCount]; + + int[] sortedIndices = Enumerable.Range(0, clipCount) + .OrderBy(idx => track.clips[idx]?.startTime ?? 0) + .ToArray(); + + List laneEndTimes = new List(); + + foreach (int idx in sortedIndices) + { + FeedbackClip clip = track.clips[idx]; + if (clip == null) { lanes[idx] = 0; continue; } + + float clipStart = clip.startTime; + int assignedLane = -1; + + for (int lane = 0; lane < laneEndTimes.Count; lane++) + { + if (clipStart >= laneEndTimes[lane]) + { + assignedLane = lane; + break; + } + } + + if (assignedLane == -1) + { + assignedLane = laneEndTimes.Count; + laneEndTimes.Add(0); + } + + lanes[idx] = assignedLane; + laneEndTimes[assignedLane] = clip.EndTime; + } + + return lanes; + } + + private float GetTotalTracksHeight() + { + if (_trackLayouts == null || _trackLayouts.Length == 0) + return LANE_HEIGHT + TRACK_PADDING * 2; + + var last = _trackLayouts[^1]; + return last.yOffset + last.totalHeight; + } + + // ═══════════════════════════════════════════ + // 时间轴 GUI 主入口 + // ═══════════════════════════════════════════ + + [OnInspectorGUI] + [PropertyOrder(-98)] + [ShowIf("targetData")] + private void DrawTimelineGUI() + { + if (targetData == null) return; + if (autoFitDuration) FitViewDuration(); + + ComputeTrackLayouts(); + + float tracksHeight = GetTotalTracksHeight(); + float totalHeight = RULER_HEIGHT + tracksHeight; + + Rect totalArea = GUILayoutUtility.GetRect(GUIContent.none, GUIStyle.none, GUILayout.Height(totalHeight)); + + Rect labelHeaderArea = new Rect(totalArea.x, totalArea.y, TRACK_LABEL_WIDTH, RULER_HEIGHT); + Rect rulerArea = new Rect( + totalArea.x + TRACK_LABEL_WIDTH, + totalArea.y, + totalArea.width - TRACK_LABEL_WIDTH, + RULER_HEIGHT + ); + Rect allTracksArea = new Rect( + totalArea.x, + totalArea.y + RULER_HEIGHT, + totalArea.width, + tracksHeight + ); + + EditorGUI.DrawRect(totalArea, BackgroundColor); + EditorGUI.DrawRect(labelHeaderArea, RulerBackgroundColor); + EditorGUI.DrawRect(rulerArea, RulerBackgroundColor); + + DrawRuler(rulerArea, viewDuration); + DrawTracks(allTracksArea, viewDuration); + DrawTotalDurationLine(rulerArea, allTracksArea, viewDuration); + + HandleMouseInput(totalArea, rulerArea, allTracksArea, viewDuration); + + if (_isDirty) + { + Repaint(); + _isDirty = false; + } + + GUILayout.Space(8); + } + + // ─────────────── 标尺绘制 ─────────────── + + private void DrawRuler(Rect rulerArea, float duration) + { + if (duration <= 0) return; + + // 自适应刻度间距 + float tickInterval = CalculateTickInterval(duration, rulerArea.width); + + Handles.color = new Color(0.5f, 0.5f, 0.5f, 0.5f); + GUIStyle tickLabelStyle = new GUIStyle(EditorStyles.miniLabel) + { + normal = { textColor = new Color(0.7f, 0.7f, 0.7f) }, + alignment = TextAnchor.UpperLeft + }; + + int numTicks = Mathf.FloorToInt(duration / tickInterval); + for (int i = 0; i <= numTicks; i++) + { + float time = i * tickInterval; + float xPos = rulerArea.x + (time / duration) * rulerArea.width; + + bool isMajor = Mathf.Approximately(time % (tickInterval * 2f), 0f) || i == 0; + float lineHeight = isMajor ? rulerArea.height : rulerArea.height * 0.5f; + + Handles.DrawLine( + new Vector3(xPos, rulerArea.yMax - lineHeight), + new Vector3(xPos, rulerArea.yMax) + ); + + if (isMajor) + { + GUI.Label(new Rect(xPos + 2, rulerArea.y, 50, rulerArea.height), $"{time:F2}s", tickLabelStyle); + } + } + + // 总时长标记 + GUIStyle totalStyle = new GUIStyle(EditorStyles.miniLabel) + { + normal = { textColor = new Color(0.9f, 0.9f, 0.5f) }, + alignment = TextAnchor.UpperRight + }; + string totalLabel = $"Total: {targetData.TotalDuration:F2}s"; + GUI.Label(new Rect(rulerArea.xMax - 100, rulerArea.y, 98, rulerArea.height), totalLabel, totalStyle); + } + + /// + /// 根据时间轴总时长和像素宽度计算合理的刻度间距。 + /// + private float CalculateTickInterval(float duration, float width) + { + float targetPixelsPerTick = 60f; + float idealInterval = duration * targetPixelsPerTick / width; + + float[] candidates = { 0.01f, 0.02f, 0.05f, 0.1f, 0.2f, 0.25f, 0.5f, 1f, 2f, 5f, 10f }; + foreach (float c in candidates) + { + if (c >= idealInterval) return c; + } + return 10f; + } + + // ─────────────── TotalDuration 指示线 ─────────────── + + private void DrawTotalDurationLine(Rect rulerArea, Rect tracksArea, float duration) + { + float total = targetData.TotalDuration; + if (total <= 0 || duration <= 0) return; + + float xPos = rulerArea.x + (total / duration) * rulerArea.width; + Handles.color = new Color(0.9f, 0.9f, 0.3f, 0.4f); + Handles.DrawLine( + new Vector3(xPos, rulerArea.y), + new Vector3(xPos, tracksArea.yMax) + ); + } + + // ─────────────── 轨道绘制 ─────────────── + + private void DrawTracks(Rect allTracksArea, float duration) + { + if (targetData.tracks == null || targetData.tracks.Count == 0) + { + GUI.Label(allTracksArea, "No tracks. Add tracks in the inspector below.", + EditorStyles.centeredGreyMiniLabel); + return; + } + + for (int trackIdx = 0; trackIdx < targetData.tracks.Count; trackIdx++) + { + if (trackIdx >= _trackLayouts.Length) break; + + FeedbackTrack track = targetData.tracks[trackIdx]; + ref TrackLayout layout = ref _trackLayouts[trackIdx]; + bool isExpanded = _expandedTracks.Contains(trackIdx); + + float trackY = allTracksArea.y + layout.yOffset; + Rect labelRect = new Rect(allTracksArea.x, trackY, TRACK_LABEL_WIDTH, layout.totalHeight); + Rect contentRect = new Rect( + allTracksArea.x + TRACK_LABEL_WIDTH, + trackY, + allTracksArea.width - TRACK_LABEL_WIDTH, + layout.totalHeight + ); + + // 轨道背景 + Color bgColor = (trackIdx % 2 == 0) ? TrackBackgroundColor : TrackAltBackgroundColor; + EditorGUI.DrawRect(contentRect, bgColor); + + // 展开时绘制 lane 分隔线 + if (isExpanded && layout.laneCount > 1) + { + Handles.color = LaneSeparatorColor; + for (int lane = 1; lane < layout.laneCount; lane++) + { + float lineY = trackY + TRACK_PADDING + lane * LANE_HEIGHT; + Handles.DrawLine( + new Vector3(contentRect.x, lineY), + new Vector3(contentRect.xMax, lineY) + ); + } + } + + // 轨道标签 + DrawTrackLabel(labelRect, track, trackIdx, isExpanded, layout.laneCount); + + // Clips + if (track.clips != null) + { + for (int clipIdx = 0; clipIdx < track.clips.Count; clipIdx++) + { + int lane = 0; + if (isExpanded && layout.clipLanes != null && clipIdx < layout.clipLanes.Length) + lane = layout.clipLanes[clipIdx]; + + DrawClip(contentRect, track.clips[clipIdx], trackIdx, clipIdx, duration, lane, isExpanded); + } + } + + // Mute 叠加层 + if (track.mute) + { + EditorGUI.DrawRect(contentRect, MutedOverlayColor); + } + } + } + + /// + /// 绘制轨道标签区域(名称 + mute/solo 指示 + 展开按钮)。 + /// + private void DrawTrackLabel(Rect labelRect, FeedbackTrack track, int trackIdx, bool isExpanded, int laneCount) + { + EditorGUI.DrawRect(labelRect, RulerBackgroundColor); + + if (track.solo) + { + EditorGUI.DrawRect(new Rect(labelRect.x, labelRect.y, 3f, labelRect.height), SoloIndicatorColor); + } + + string prefix = track.mute ? "[M] " : track.solo ? "[S] " : ""; + string displayName = string.IsNullOrEmpty(track.trackName) ? $"Track {trackIdx}" : track.trackName; + Color textColor = track.mute ? new Color(0.5f, 0.5f, 0.5f) : new Color(0.85f, 0.85f, 0.85f); + + GUIStyle labelStyle = new GUIStyle(EditorStyles.label) + { + fontSize = 11, + padding = new RectOffset(8, 0, 0, 0), + normal = { textColor = textColor } + }; + + float firstLaneH = LANE_HEIGHT + TRACK_PADDING * 2; + Rect nameLabelRect = new Rect(labelRect.x, labelRect.y, labelRect.width - EXPAND_BUTTON_SIZE - 6f, firstLaneH); + EditorGUI.LabelField(nameLabelRect, $"{prefix}{displayName}", labelStyle); + + // 使用 naturalLaneCount 判断是否需要显示展开按钮 + ref TrackLayout layout = ref _trackLayouts[trackIdx]; + if (layout.naturalLaneCount > 1 || isExpanded) + { + DrawExpandToggle(labelRect, trackIdx, isExpanded, layout.naturalLaneCount); + } + } + + /// + /// 绘制展开/折叠三角按钮。 + /// + private void DrawExpandToggle(Rect labelRect, int trackIdx, bool isExpanded, int laneCount) + { + float firstLaneH = LANE_HEIGHT + TRACK_PADDING * 2; + float btnX = labelRect.xMax - EXPAND_BUTTON_SIZE - 4f; + float btnY = labelRect.y + (firstLaneH - EXPAND_BUTTON_SIZE) * 0.5f; + Rect btnRect = new Rect(btnX, btnY, EXPAND_BUTTON_SIZE, EXPAND_BUTTON_SIZE); + + EditorGUI.DrawRect(btnRect, new Color(0.25f, 0.25f, 0.25f, 0.8f)); + + Vector3 center = btnRect.center; + float halfSize = EXPAND_BUTTON_SIZE * 0.25f; + Handles.color = isExpanded ? SoloIndicatorColor : ExpandButtonColor; + + if (isExpanded) + { + Handles.DrawAAConvexPolygon( + new Vector3(center.x - halfSize, center.y - halfSize * 0.5f, 0), + new Vector3(center.x + halfSize, center.y - halfSize * 0.5f, 0), + new Vector3(center.x, center.y + halfSize * 0.5f, 0) + ); + } + else + { + Handles.DrawAAConvexPolygon( + new Vector3(center.x - halfSize * 0.5f, center.y - halfSize, 0), + new Vector3(center.x + halfSize * 0.5f, center.y, 0), + new Vector3(center.x - halfSize * 0.5f, center.y + halfSize, 0) + ); + } + + // lane 数量角标 + GUIStyle badgeStyle = new GUIStyle(EditorStyles.miniLabel) + { + fontSize = 8, + normal = { textColor = new Color(0.7f, 0.7f, 0.7f) }, + alignment = TextAnchor.MiddleCenter + }; + GUI.Label(new Rect(btnRect.xMax - 2f, btnRect.y - 2f, 12f, 10f), laneCount.ToString(), badgeStyle); + + // 点击 + if (Event.current.type == EventType.MouseDown && Event.current.button == 0 + && btnRect.Contains(Event.current.mousePosition)) + { + if (isExpanded) + _expandedTracks.Remove(trackIdx); + else + _expandedTracks.Add(trackIdx); + + _isDirty = true; + Event.current.Use(); + } + } + + // ─────────────── Clip 绘制 ─────────────── + + private void DrawClip(Rect contentRect, FeedbackClip clip, int trackIdx, int clipIdx, float duration, int lane, bool isExpanded) + { + if (clip == null || duration <= 0) return; + + float startNorm = clip.startTime / duration; + float endNorm = clip.EndTime / duration; + + float startX = contentRect.x + startNorm * contentRect.width; + float endX = contentRect.x + endNorm * contentRect.width; + float clipWidth = Mathf.Max(endX - startX, 2f); + + float clipY, clipH; + if (isExpanded) + { + clipY = contentRect.y + TRACK_PADDING + lane * LANE_HEIGHT + 2f; + clipH = LANE_HEIGHT - 4f; + } + else + { + clipY = contentRect.y + TRACK_PADDING + 2f; + clipH = LANE_HEIGHT - 4f; + } + + Rect clipRect = new Rect(startX, clipY, clipWidth, clipH); + + // Clip 填充色 + Color clipColor = GetActionColor(clip.action); + bool isSelected = (trackIdx == _selectedTrackIndex && clipIdx == _selectedClipIndex); + + if (isSelected) + { + clipColor = Color.Lerp(clipColor, Color.white, 0.2f); + } + + EditorGUI.DrawRect(clipRect, clipColor); + + // 选中描边 + if (isSelected) + { + DrawRectOutline(clipRect, SelectionOutlineColor, 1f); + } + + // Clip 标签 + string clipLabel = clip.action != null ? clip.action.DisplayName : "(null)"; + GUIStyle clipLabelStyle = new GUIStyle(EditorStyles.miniLabel) + { + normal = { textColor = Color.white }, + clipping = TextClipping.Clip, + alignment = TextAnchor.MiddleLeft, + padding = new RectOffset(4, 2, 0, 0), + fontSize = 10 + }; + + if (clipRect.width > 20f) + { + GUI.Label(clipRect, clipLabel, clipLabelStyle); + } + + // 左右拖拽把手的视觉提示 + if (clipRect.width > DRAG_HANDLE_WIDTH * 3) + { + Color handleColor = new Color(1f, 1f, 1f, 0.15f); + Rect leftHandle = new Rect(clipRect.x, clipRect.y, DRAG_HANDLE_WIDTH, clipRect.height); + Rect rightHandle = new Rect(clipRect.xMax - DRAG_HANDLE_WIDTH, clipRect.y, DRAG_HANDLE_WIDTH, clipRect.height); + EditorGUI.DrawRect(leftHandle, handleColor); + EditorGUI.DrawRect(rightHandle, handleColor); + } + + // Tooltip + string tooltip = $"{clipLabel}\n{clip.startTime:F3}s - {clip.EndTime:F3}s (dur: {clip.duration:F3}s)"; + GUI.Label(clipRect, new GUIContent("", tooltip)); + } + + /// + /// 绘制矩形描边。 + /// + private void DrawRectOutline(Rect rect, Color color, float thickness) + { + EditorGUI.DrawRect(new Rect(rect.x, rect.y, rect.width, thickness), color); + EditorGUI.DrawRect(new Rect(rect.x, rect.yMax - thickness, rect.width, thickness), color); + EditorGUI.DrawRect(new Rect(rect.x, rect.y, thickness, rect.height), color); + EditorGUI.DrawRect(new Rect(rect.xMax - thickness, rect.y, thickness, rect.height), color); + } + + // ─────────────── Action 颜色 ─────────────── + + /// + /// 获取 Action 的时间轴显示颜色(优先从 FeedbackActionColorAttribute 读取,否则用类型哈希生成)。 + /// + private Color GetActionColor(FeedbackActionBase action) + { + if (action == null) return DefaultClipColor; + + Type type = action.GetType(); + if (ActionColorCache.TryGetValue(type, out Color cached)) return cached; + + var attr = type.GetCustomAttribute(); + Color color; + if (attr != null) + { + color = attr.Color; + } + else + { + // 根据类型名哈希生成确定性颜色 + int hash = type.FullName?.GetHashCode() ?? 0; + float h = Mathf.Abs(hash % 360) / 360f; + color = Color.HSVToRGB(h, 0.5f, 0.75f); + color.a = 0.8f; + } + + ActionColorCache[type] = color; + return color; + } + + // ═══════════════════════════════════════════ + // 鼠标输入处理 + // ═══════════════════════════════════════════ + + private void HandleMouseInput(Rect totalArea, Rect rulerArea, Rect allTracksArea, float duration) + { + Event e = Event.current; + Vector2 mousePos = e.mousePosition; + + if (!totalArea.Contains(mousePos)) + { + if (e.type == EventType.MouseUp) ResetDrag(); + return; + } + + UpdateMouseCursor(allTracksArea, mousePos, duration); + + switch (e.type) + { + case EventType.MouseDown when e.button == 0: + HandleMouseDown(allTracksArea, mousePos, duration, e); + break; + + case EventType.MouseDrag when _currentDragMode != DragMode.None: + HandleMouseDrag(allTracksArea, mousePos, duration, e); + break; + + case EventType.MouseUp when e.button == 0: + ResetDrag(); + _isDirty = true; + e.Use(); + break; + } + } + + private void HandleMouseDown(Rect allTracksArea, Vector2 mousePos, float duration, Event e) + { + if (!allTracksArea.Contains(mousePos)) return; + + Undo.RecordObject(targetData, "Modify Feedback Timeline"); + + var hit = HitTestClip(allTracksArea, mousePos, duration); + if (hit.trackIndex != -1) + { + _selectedTrackIndex = hit.trackIndex; + _selectedClipIndex = hit.clipIndex; + + Rect contentRect = GetTrackContentRect(allTracksArea, hit.trackIndex); + float mouseTime = PixelToTime(mousePos.x, contentRect, duration); + + FeedbackClip clip = targetData.tracks[hit.trackIndex].clips[hit.clipIndex]; + _dragStartMouseTime = mouseTime; + _dragStartClipStart = clip.startTime; + _dragStartClipDuration = clip.duration; + + _currentDragMode = hit.dragMode; + _dragTrackIndex = hit.trackIndex; + _dragClipIndex = hit.clipIndex; + + _isDirty = true; + e.Use(); + return; + } + + // 点击空白 → 取消选中 + _selectedTrackIndex = -1; + _selectedClipIndex = -1; + _isDirty = true; + e.Use(); + } + + private void HandleMouseDrag(Rect allTracksArea, Vector2 mousePos, float duration, Event e) + { + if (_dragTrackIndex < 0 || _dragTrackIndex >= targetData.tracks.Count) return; + var track = targetData.tracks[_dragTrackIndex]; + if (_dragClipIndex < 0 || _dragClipIndex >= track.clips.Count) return; + + Rect contentRect = GetTrackContentRect(allTracksArea, _dragTrackIndex); + float mouseTime = PixelToTime(mousePos.x, contentRect, duration); + float timeDelta = mouseTime - _dragStartMouseTime; + + FeedbackClip clip = track.clips[_dragClipIndex]; + + switch (_currentDragMode) + { + case DragMode.ClipMove: + float newStart = SnapTime(_dragStartClipStart + timeDelta); + newStart = Mathf.Max(0, newStart); + clip.startTime = newStart; + break; + + case DragMode.ClipLeft: + float newLeftStart = SnapTime(_dragStartClipStart + timeDelta); + newLeftStart = Mathf.Max(0, newLeftStart); + float maxLeft = _dragStartClipStart + _dragStartClipDuration - MIN_CLIP_DURATION; + newLeftStart = Mathf.Min(newLeftStart, maxLeft); + float endTime = _dragStartClipStart + _dragStartClipDuration; + clip.startTime = newLeftStart; + clip.duration = Mathf.Max(endTime - newLeftStart, MIN_CLIP_DURATION); + break; + + case DragMode.ClipRight: + float newDuration = SnapTime(_dragStartClipDuration + timeDelta); + clip.duration = Mathf.Max(newDuration, MIN_CLIP_DURATION); + break; + } + + EditorUtility.SetDirty(targetData); + _isDirty = true; + e.Use(); + } + + private void ResetDrag() + { + _currentDragMode = DragMode.None; + _dragTrackIndex = -1; + _dragClipIndex = -1; + } + + // ─────────────── Hit Testing ─────────────── + + private struct ClipHitResult + { + public int trackIndex; + public int clipIndex; + public DragMode dragMode; + } + + /// + /// 测试鼠标位置是否命中某个 Clip,并返回拖拽模式。 + /// + private ClipHitResult HitTestClip(Rect allTracksArea, Vector2 mousePos, float duration) + { + var result = new ClipHitResult { trackIndex = -1, clipIndex = -1, dragMode = DragMode.None }; + if (targetData.tracks == null || duration <= 0 || _trackLayouts == null) return result; + + // 通过 Y 坐标确定轨道 + int trackIndex = -1; + for (int i = 0; i < _trackLayouts.Length; i++) + { + float trackY = allTracksArea.y + _trackLayouts[i].yOffset; + float trackBottom = trackY + _trackLayouts[i].totalHeight; + if (mousePos.y >= trackY && mousePos.y < trackBottom) + { + trackIndex = i; + break; + } + } + + if (trackIndex < 0 || trackIndex >= targetData.tracks.Count) return result; + + Rect contentRect = GetTrackContentRect(allTracksArea, trackIndex); + if (!contentRect.Contains(mousePos)) return result; + + var track = targetData.tracks[trackIndex]; + if (track.clips == null) return result; + + bool isExpanded = _expandedTracks.Contains(trackIndex); + ref TrackLayout layout = ref _trackLayouts[trackIndex]; + + for (int i = track.clips.Count - 1; i >= 0; i--) + { + FeedbackClip clip = track.clips[i]; + if (clip == null) continue; + + float startX = contentRect.x + (clip.startTime / duration) * contentRect.width; + float endX = contentRect.x + (clip.EndTime / duration) * contentRect.width; + + if (mousePos.x < startX || mousePos.x > endX) continue; + + // 展开模式下检查 Y 方向 lane + if (isExpanded && layout.clipLanes != null && i < layout.clipLanes.Length) + { + int lane = layout.clipLanes[i]; + float laneY = contentRect.y + TRACK_PADDING + lane * LANE_HEIGHT; + if (mousePos.y < laneY || mousePos.y > laneY + LANE_HEIGHT) continue; + } + + result.trackIndex = trackIndex; + result.clipIndex = i; + + if (mousePos.x - startX <= DRAG_HANDLE_WIDTH) + result.dragMode = DragMode.ClipLeft; + else if (endX - mousePos.x <= DRAG_HANDLE_WIDTH) + result.dragMode = DragMode.ClipRight; + else + result.dragMode = DragMode.ClipMove; + + return result; + } + + return result; + } + + // ─────────────── 光标更新 ─────────────── + + private void UpdateMouseCursor(Rect allTracksArea, Vector2 mousePos, float duration) + { + if (!allTracksArea.Contains(mousePos)) return; + + var hit = HitTestClip(allTracksArea, mousePos, duration); + if (hit.trackIndex == -1) + { + EditorGUIUtility.AddCursorRect(allTracksArea, MouseCursor.Arrow); + return; + } + + switch (hit.dragMode) + { + case DragMode.ClipLeft: + case DragMode.ClipRight: + EditorGUIUtility.AddCursorRect(allTracksArea, MouseCursor.ResizeHorizontal); + break; + default: + EditorGUIUtility.AddCursorRect(allTracksArea, MouseCursor.MoveArrow); + break; + } + } + + // ─────────────── 工具方法 ─────────────── + + /// + /// 获取指定轨道的内容区域(不含标签列),高度由布局决定。 + /// + private Rect GetTrackContentRect(Rect allTracksArea, int trackIndex) + { + if (_trackLayouts == null || trackIndex >= _trackLayouts.Length) + { + return new Rect( + allTracksArea.x + TRACK_LABEL_WIDTH, + allTracksArea.y, + allTracksArea.width - TRACK_LABEL_WIDTH, + LANE_HEIGHT + TRACK_PADDING * 2 + ); + } + + ref TrackLayout layout = ref _trackLayouts[trackIndex]; + return new Rect( + allTracksArea.x + TRACK_LABEL_WIDTH, + allTracksArea.y + layout.yOffset, + allTracksArea.width - TRACK_LABEL_WIDTH, + layout.totalHeight + ); + } + + /// + /// 像素坐标转换为时间值。 + /// + private float PixelToTime(float pixelX, Rect trackRect, float duration) + { + if (trackRect.width <= 0) return 0; + return Mathf.Clamp((pixelX - trackRect.x) / trackRect.width * duration, 0, duration); + } + + /// + /// 将时间吸附到最近的 snapInterval 刻度。 + /// + private float SnapTime(float time) + { + if (snapInterval <= 0) return Mathf.Max(0, time); + return Mathf.Max(0, Mathf.Round(time / snapInterval) * snapInterval); + } + } +} +#endif diff --git a/Assets/Scripts/SLSUtilities/Feedback/Editor/FeedbackDataEditorWindow.cs.meta b/Assets/Scripts/SLSUtilities/Feedback/Editor/FeedbackDataEditorWindow.cs.meta new file mode 100644 index 000000000..bb95f51f1 --- /dev/null +++ b/Assets/Scripts/SLSUtilities/Feedback/Editor/FeedbackDataEditorWindow.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 91af4d70c106a2147a6b469af19db689 \ No newline at end of file diff --git a/Assets/Scripts/SLSUtilities/Feedback/Editor/ShakeCurvePresetDrawer.cs b/Assets/Scripts/SLSUtilities/Feedback/Editor/ShakeCurvePresetDrawer.cs new file mode 100644 index 000000000..b06713b38 --- /dev/null +++ b/Assets/Scripts/SLSUtilities/Feedback/Editor/ShakeCurvePresetDrawer.cs @@ -0,0 +1,67 @@ +#if UNITY_EDITOR +using Sirenix.OdinInspector.Editor; +using UnityEditor; +using UnityEngine; + +namespace SLSUtilities.Feedback.Editor +{ + /// + /// 为标记了 [ShakeCurvePreset] 的 AnimationCurve 字段绘制预设按钮组。 + /// 按钮紧凑排列在曲线编辑器下方。 + /// + public sealed class ShakeCurvePresetDrawer : OdinAttributeDrawer + { + private const float BUTTON_HEIGHT = 18f; + private const float BUTTON_SPACING = 2f; + + protected override void DrawPropertyLayout(GUIContent label) + { + // 先绘制默认的曲线字段 + CallNextDrawer(label); + + // 绘制预设按钮行 + DrawPresetButtons(); + } + + private void DrawPresetButtons() + { + var presets = ShakeCurvePresets.All; + if (presets == null || presets.Length == 0) return; + + Rect totalRect = EditorGUILayout.GetControlRect(false, BUTTON_HEIGHT); + + // 计算每个按钮的宽度 + float totalSpacing = BUTTON_SPACING * (presets.Length - 1); + float buttonWidth = (totalRect.width - totalSpacing) / presets.Length; + + GUIStyle buttonStyle = new GUIStyle(EditorStyles.miniButton) + { + fontSize = 8, + padding = new RectOffset(1, 1, 1, 1), + fixedHeight = BUTTON_HEIGHT + }; + + for (int i = 0; i < presets.Length; i++) + { + float x = totalRect.x + i * (buttonWidth + BUTTON_SPACING); + Rect buttonRect = new Rect(x, totalRect.y, buttonWidth, BUTTON_HEIGHT); + + if (GUI.Button(buttonRect, presets[i].name, buttonStyle)) + { + // 记录 Undo 以便撤销 + if (Property.Tree.UnitySerializedObject != null) + { + Undo.RecordObject( + Property.Tree.UnitySerializedObject.targetObject, + $"Apply Shake Curve Preset: {presets[i].name}" + ); + } + + ValueEntry.SmartValue = presets[i].factory(); + ValueEntry.ApplyChanges(); + } + } + } + } +} +#endif diff --git a/Assets/Scripts/SLSUtilities/Feedback/Editor/ShakeCurvePresetDrawer.cs.meta b/Assets/Scripts/SLSUtilities/Feedback/Editor/ShakeCurvePresetDrawer.cs.meta new file mode 100644 index 000000000..c1ae7f9a1 --- /dev/null +++ b/Assets/Scripts/SLSUtilities/Feedback/Editor/ShakeCurvePresetDrawer.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 84e1f89b58e2496418ff004a677f321b \ No newline at end of file diff --git a/Assets/Scripts/SLSUtilities/Feedback/Runtime/FeedbackPlayer.cs b/Assets/Scripts/SLSUtilities/Feedback/Runtime/FeedbackPlayer.cs index ac62d0c76..e48f91db5 100644 --- a/Assets/Scripts/SLSUtilities/Feedback/Runtime/FeedbackPlayer.cs +++ b/Assets/Scripts/SLSUtilities/Feedback/Runtime/FeedbackPlayer.cs @@ -126,7 +126,7 @@ namespace SLSUtilities.Feedback /// /// 每帧由外部驱动调用(FeedbackManager 或 Subcontroller)。 /// - public void Tick(float unscaledDeltaTime) + public void Tick(float deltaTime) { if (_state != FeedbackPlayerState.Playing) return; if (_data == null || _data.tracks == null) return; @@ -155,14 +155,17 @@ namespace SLSUtilities.Feedback FeedbackClip clip = track.clips[clipIdx]; if (clip?.action == null) continue; - float clipDeltaTime = ComputeClipDeltaTime(clip, unscaledDeltaTime); - ProcessClip(trackIdx, clipIdx, clip, clipDeltaTime); + float clipTimeScale = ComputeClipTimeScale(clip); + float clipDeltaTime = deltaTime * clipTimeScale; + ProcessClip(trackIdx, clipIdx, clip, clipDeltaTime, clipTimeScale); } } - _currentTime += unscaledDeltaTime; + _currentTime += deltaTime; - if (_currentTime >= totalDuration) + // 仅当时间线游标超过总时长 且 所有 Clip 已结束时才完成。 + // 这避免了因时间缩放导致 Clip 尚在播放就被提前完成的问题。 + if (_currentTime >= totalDuration && AllClipsFinished()) { _state = FeedbackPlayerState.Idle; _isCompleted = true; @@ -214,25 +217,24 @@ namespace SLSUtilities.Feedback } /// - /// 根据 Clip 的时间设置计算实际 deltaTime。 + /// 根据 Clip 的时间设置计算综合时间缩放系数。 /// - private float ComputeClipDeltaTime(FeedbackClip clip, float unscaledDeltaTime) + private float ComputeClipTimeScale(FeedbackClip clip) { - if (_timeProvider == null) return unscaledDeltaTime; + if (_timeProvider == null) return 1f; + if (clip?.action == null || clip.action.IgnoreTimeScale) return 1f; - FeedbackTimeSettings settings = clip.overrideTimeSettings - ? clip.timeSettings - : _data.defaultTimeSettings; + FeedbackTimeSettings settings = clip.overrideTimeSettings ? clip.timeSettings : _data.defaultTimeSettings; - if (settings == null || !settings.useTimeScale) return unscaledDeltaTime; + if (settings == null || settings.timeScaleType == FeedbackTimeSettings.TimeScaleType.Unscaled) return 1f; - return _timeProvider.GetDeltaTime(settings); + return _timeProvider.GetTimeScale(settings); } /// /// 处理单个 Clip 的生命周期状态转换和回调调用。 /// - private void ProcessClip(int trackIdx, int clipIdx, FeedbackClip clip, float deltaTime) + private void ProcessClip(int trackIdx, int clipIdx, FeedbackClip clip, float deltaTime, float timeScale) { ref ClipState clipState = ref _clipStates[trackIdx, clipIdx]; ref float elapsed = ref _clipElapsedTimes[trackIdx, clipIdx]; @@ -247,30 +249,40 @@ namespace SLSUtilities.Feedback clipState = ClipState.Active; elapsed = _currentTime - clip.startTime; - FeedbackContext ctx = CreateContext(deltaTime, elapsed, safeDuration); + FeedbackContext ctx = CreateContext(deltaTime, elapsed, safeDuration, timeScale, clip.timeSettings); clip.action.OnStart(ctx); float normalizedTime = Mathf.Clamp01(elapsed / safeDuration); - clip.action.OnUpdate(CreateContext(deltaTime, elapsed, safeDuration), normalizedTime); + clip.action.OnUpdate(CreateContext(deltaTime, elapsed, safeDuration, timeScale, clip.timeSettings), normalizedTime); } break; case ClipState.Active: - elapsed += deltaTime; - + // 如果启用动态时间缩放,每帧重新获取当前的时间缩放 + FeedbackTimeSettings settings = clip.overrideTimeSettings ? clip.timeSettings : _data.defaultTimeSettings; + float currentTimeScale = timeScale; + if (settings.applyDynamicTimeScale) + { + currentTimeScale = ComputeClipTimeScale(clip); + } + + // 使用调整后的deltaTime进行累加 + float adjustedDeltaTime = deltaTime * currentTimeScale; + elapsed += adjustedDeltaTime; + if (elapsed >= safeDuration) { elapsed = safeDuration; clipState = ClipState.Finished; - FeedbackContext ctx = CreateContext(deltaTime, elapsed, safeDuration); + FeedbackContext ctx = CreateContext(deltaTime, elapsed, safeDuration, currentTimeScale, clip.timeSettings); clip.action.OnUpdate(ctx, 1f); clip.action.OnEnd(ctx); } else { float normalizedTime = Mathf.Clamp01(elapsed / safeDuration); - FeedbackContext ctx = CreateContext(deltaTime, elapsed, safeDuration); + FeedbackContext ctx = CreateContext(deltaTime, elapsed, safeDuration, currentTimeScale, clip.timeSettings); clip.action.OnUpdate(ctx, normalizedTime); } break; @@ -302,7 +314,7 @@ namespace SLSUtilities.Feedback float elapsed = _clipElapsedTimes[trackIdx, clipIdx]; float safeDuration = Mathf.Max(clip.duration, MIN_DURATION); - FeedbackContext ctx = CreateContext(0f, elapsed, safeDuration); + FeedbackContext ctx = CreateContext(0f, elapsed, safeDuration, 1f, clip.timeSettings); clip.action.OnInterrupt(ctx); } @@ -311,10 +323,37 @@ namespace SLSUtilities.Feedback } } + /// + /// 检查所有应播放的 Clip 是否都已完成。 + /// 用于时间缩放场景下,避免 Clip 尚在播放就提前完成整个 Feedback。 + /// + private bool AllClipsFinished() + { + if (_clipStates == null) return true; + + List tracks = _data.tracks; + + for (int trackIdx = 0; trackIdx < tracks.Count; trackIdx++) + { + FeedbackTrack track = tracks[trackIdx]; + if (!ShouldPlayTrack(track)) continue; + if (track.clips == null) continue; + + for (int clipIdx = 0; clipIdx < track.clips.Count; clipIdx++) + { + if (_clipStates[trackIdx, clipIdx] == ClipState.Active) + return false; + } + } + + return true; + } + /// /// 创建 FeedbackContext 实例。 /// - private FeedbackContext CreateContext(float deltaTime, float elapsedTime, float duration) + private FeedbackContext CreateContext(float deltaTime, float elapsedTime, + float duration, float timeScale, FeedbackTimeSettings timeSettings) { return new FeedbackContext { @@ -322,7 +361,9 @@ namespace SLSUtilities.Feedback owner = _ownerTransform, deltaTime = deltaTime, elapsedTime = elapsedTime, - duration = duration + duration = duration, + timeScale = timeScale, + timeSettings = timeSettings }; } } diff --git a/Assets/Scripts/SLSUtilities/FunctionalAnimation/FuncAnimData.cs b/Assets/Scripts/SLSUtilities/FunctionalAnimation/FuncAnimData.cs index bd92fbd5b..bcf5bbffd 100644 --- a/Assets/Scripts/SLSUtilities/FunctionalAnimation/FuncAnimData.cs +++ b/Assets/Scripts/SLSUtilities/FunctionalAnimation/FuncAnimData.cs @@ -385,7 +385,7 @@ namespace SLSUtilities.FunctionalAnimation [HideReferenceObjectPicker] [LabelText("@NameForInspector")] public FuncAnimPayloadBase payload; - public string NameForInspector => payload != null ? payload.NameForInspector : "NULL"; + public string NameForInspector => payload != null ? payload.NameForInspector + (payload.mute ? " (Muted)" : "") : "NULL"; public FuncAnimEvent(float triggerTime, FuncAnimPayloadBase payload, bool isEnd) { diff --git a/Assets/Scripts/SLSUtilities/FunctionalAnimation/FuncAnimPayloadBase.cs b/Assets/Scripts/SLSUtilities/FunctionalAnimation/FuncAnimPayloadBase.cs index 7e64c0f2c..88af39ee3 100644 --- a/Assets/Scripts/SLSUtilities/FunctionalAnimation/FuncAnimPayloadBase.cs +++ b/Assets/Scripts/SLSUtilities/FunctionalAnimation/FuncAnimPayloadBase.cs @@ -29,6 +29,9 @@ namespace SLSUtilities.FunctionalAnimation [PropertyOrder(-1)] // 把它显示在最上面 [HideInInspector] public string eventName; + + [Tooltip("是否静默执行该事件(不触发任何反馈)")] + public bool mute = false; [NonSerialized] public FuncAnimData parentData; diff --git a/Assets/Scripts/SLSUtilities/General/MathExtensions.cs b/Assets/Scripts/SLSUtilities/General/MathExtensions.cs index 5fa60fc2a..4a4bca171 100644 --- a/Assets/Scripts/SLSUtilities/General/MathExtensions.cs +++ b/Assets/Scripts/SLSUtilities/General/MathExtensions.cs @@ -17,26 +17,65 @@ namespace SLSUtilities.General return new Vector3(vector.x, 0, vector.z); } } - - public class LerpFloat + + public abstract class LerpValue + { + public T currentValue; + public T targetValue; + public bool IsPausing { get; set; } + + public bool advancedSettings = false; + + public abstract void Update(float deltaTime); + + public abstract void Update(float customSpeed, float deltaTime); + } + + public class LerpFloat : LerpValue { - public float currentValue; - public float targetValue; public float lerpSpeed; + public float increaseSpeed; + public float decreaseSpeed; public LerpFloat(float initialValue, float lerpSpeed) { this.currentValue = initialValue; this.targetValue = initialValue; + this.advancedSettings = false; this.lerpSpeed = lerpSpeed; } - - public void Update(float deltaTime) + + public LerpFloat(float initialValue, float increaseSpeed, float decreaseSpeed) { - currentValue = Mathf.Lerp(currentValue, targetValue, lerpSpeed * deltaTime); + this.currentValue = initialValue; + this.targetValue = initialValue; + this.advancedSettings = true; + this.increaseSpeed = increaseSpeed; + this.decreaseSpeed = decreaseSpeed; + } + + public override void Update(float deltaTime) + { + if (IsPausing) return; + + if (advancedSettings) + { + if(targetValue > currentValue) + { + currentValue = Mathf.Lerp(currentValue, targetValue, increaseSpeed * deltaTime); + } + else + { + currentValue = Mathf.Lerp(currentValue, targetValue, decreaseSpeed * deltaTime); + } + } + else + { + currentValue = Mathf.Lerp(currentValue, targetValue, lerpSpeed * deltaTime); + } } - public void Update(float customSpeed, float deltaTime) + public override void Update(float customSpeed, float deltaTime) { currentValue = Mathf.Lerp(currentValue, targetValue, customSpeed * deltaTime); } diff --git a/Assets/Scripts/SLSUtilities/SerializedDictionary/SerializedDictionary.cs b/Assets/Scripts/SLSUtilities/SerializedDictionary/SerializedDictionary.cs index 54dd36b5c..aaea6071c 100644 --- a/Assets/Scripts/SLSUtilities/SerializedDictionary/SerializedDictionary.cs +++ b/Assets/Scripts/SLSUtilities/SerializedDictionary/SerializedDictionary.cs @@ -81,6 +81,12 @@ namespace SLSUtilities.General if (_lookup.Count == 0 && _entries.Count > 0) Rebuild(); return _lookup.TryGetValue(key, out value); } + + public Dictionary ToDictionary() + { + if (_lookup.Count == 0 && _entries.Count > 0) Rebuild(); + return new Dictionary(_lookup); + } // ================= 核心:排序与重建 ================= diff --git a/Assets/Settings/PC_Renderer.asset b/Assets/Settings/PC_Renderer.asset index 75e2223b5..6b52bcffb 100644 --- a/Assets/Settings/PC_Renderer.asset +++ b/Assets/Settings/PC_Renderer.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6b3d386ba5cd94485973aee1479b272e, type: 3} m_Name: Render Feature Outline Transparent m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.RenderObjects - m_Active: 1 + m_Active: 0 settings: passTag: Render Feature Outline Transparent Event: 500 @@ -265,7 +265,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6b3d386ba5cd94485973aee1479b272e, type: 3} m_Name: Render Feature Outline Opaque m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.RenderObjects - m_Active: 1 + m_Active: 0 settings: passTag: Render Feature Outline Opaque Event: 300 diff --git a/Assets/Settings/SampleSceneProfile.asset b/Assets/Settings/SampleSceneProfile.asset index d0059f483..e368decd6 100644 --- a/Assets/Settings/SampleSceneProfile.asset +++ b/Assets/Settings/SampleSceneProfile.asset @@ -34,10 +34,10 @@ MonoBehaviour: active: 1 color: m_OverrideState: 1 - m_Value: {r: 1, g: 1, b: 1, a: 0.5} + m_Value: {r: 1, g: 1, b: 1, a: 0.2} speedLinesTiling: m_OverrideState: 1 - m_Value: 250 + m_Value: 200 speedLinesRadialScale: m_OverrideState: 1 m_Value: 0 @@ -58,7 +58,7 @@ MonoBehaviour: m_Value: 0 maskPower: m_OverrideState: 1 - m_Value: 10 + m_Value: 15 --- !u!114 &-6821218046420139382 MonoBehaviour: m_ObjectHideFlags: 3 @@ -555,34 +555,6 @@ MonoBehaviour: gain: m_OverrideState: 1 m_Value: {x: 1, y: 1, z: 1, w: 0.10066362} ---- !u!114 &-822964600361447138 -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: 66f335fb1ffd8684294ad653bf1c7564, type: 3} - m_Name: ColorAdjustments - m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.ColorAdjustments - active: 1 - postExposure: - m_OverrideState: 1 - m_Value: 0 - contrast: - m_OverrideState: 1 - m_Value: 0 - colorFilter: - m_OverrideState: 1 - m_Value: {r: 1, g: 1, b: 1, a: 1} - hueShift: - m_OverrideState: 1 - m_Value: 0 - saturation: - m_OverrideState: 1 - m_Value: 0 --- !u!114 &-443667993520350647 MonoBehaviour: m_ObjectHideFlags: 3 @@ -630,10 +602,10 @@ MonoBehaviour: m_Name: SampleSceneProfile m_EditorClassIdentifier: components: + - {fileID: -5482728277889877947} - {fileID: -5530928629140770758} - {fileID: -2244689807516176092} - {fileID: -2229557203912938150} - - {fileID: -822964600361447138} - {fileID: -6821218046420139382} - {fileID: 6915406437627190677} - {fileID: -2551070055127965560} @@ -641,7 +613,6 @@ MonoBehaviour: - {fileID: -2288787757924895255} - {fileID: 7649115708420445360} - {fileID: 5800249838790077985} - - {fileID: -5482728277889877947} - {fileID: -6225265148925590582} - {fileID: -7478175531028596507} --- !u!114 &2796753014457148416 diff --git a/Cielonos_WwiseProject/Actor-Mixer Hierarchy/Default Work Unit.wwu b/Cielonos_WwiseProject/Actor-Mixer Hierarchy/Default Work Unit.wwu index e4bb44706..3a5c2c3fa 100644 --- a/Cielonos_WwiseProject/Actor-Mixer Hierarchy/Default Work Unit.wwu +++ b/Cielonos_WwiseProject/Actor-Mixer Hierarchy/Default Work Unit.wwu @@ -883,6 +883,52 @@ + + + + + 32 + + + + + 250 + + + + + -4 + + + + + + + + + + + + + + + + + + + + + SFX + AW_Spear_SKILL_buff_01.wav + + + + + + + + + diff --git a/Cielonos_WwiseProject/Originals/SFX/AW_Spear_SKILL_buff_01.wav b/Cielonos_WwiseProject/Originals/SFX/AW_Spear_SKILL_buff_01.wav new file mode 100644 index 000000000..92af0fac8 --- /dev/null +++ b/Cielonos_WwiseProject/Originals/SFX/AW_Spear_SKILL_buff_01.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:624330408d550dd97b01837ce1acd9f9f4750061c7bb74b54bf6fb98fc684534 +size 1258076 diff --git a/docs/AI_Behavior_Boss_铁骑士.md b/docs/AI_Behavior_Boss_铁骑士.md deleted file mode 100644 index cc577d9b9..000000000 --- a/docs/AI_Behavior_Boss_铁骑士.md +++ /dev/null @@ -1,178 +0,0 @@ ---- -title: Boss行为树设计:【铁骑士 - 埃癸斯】 -description: 结合“专家级博弈”与“铁骑士架构”,设计的一套基于意图广播、条件打断与攻防转换的高阶 Boss Behavior Designer 方案。 ---- - -# Boss 级敌人行为树架构设计:【铁骑士 - 埃癸斯】(Behavior Tree Architect) - -本方案基于项目中【专家级AI设计理念】(见招拆招、信息广播) 与【铁骑士宏观架构】(弹反追击、重装蓄力打断、二阶段变阵) 综合设计。核心在于**利用条件打断(Conditional Aborts)优先响应玩家的强行为输入**,以实现动态的攻防博弈。 - -## 1. 黑板变量清单 (Blackboard SharedVariables) - -为了支撑复杂的博弈逻辑与阶段变化,需创建以下变量: - -- `[SharedTransform] TargetPlayer` - 追踪的玩家目标。 -- `[SharedFloat] HP_Percentage` - 当前生命值百分比,用于二阶段判定。 -- `[SharedBool] IsPhase2` - 是否已进入二阶段 (默认 `False`)。 -- `[SharedBool] IsWeaknessState` - 是否处于“极度虚弱/破防”状态 (默认 `False`)。 -- `[SharedEnum] IncomingThreatType` - 接收到的玩家意图类型 (枚举:`None`, `HighFreqLight`, `HeavyCharge`, `SwitchTech`)。由事件总线或感知触发器动态赋值。 -- `[SharedFloat] ActionCooldown` - 常规攻击连招间的冷却期。 -- `[SharedFloat] LastActionTime` - 上次执行攻击的时间。 - ---- - -## 2. 行为树主干逻辑 (Tree Structure - Indented List) - -整棵树分为极高优先级的**状态管理**,高优先级的**见招拆招反应**,中优先级的**主动进攻**,以及低优先级的**接敌步伐**。 - -- `[Selector]` (根节点遍历) - - - `[Behavior Tree Reference]` **死亡与全局硬直 (Death & Global Stagger Subtree)** - - *原理: 最外层封装处理死亡,以及处理(如蓄力阶段被玩家重攻击成功打断后)造成的强制大硬直。* - - - `[Sequence]` **虚弱惩罚状态 (Weakness Punishment)** **(Abort Type: Lower Priority)** - - *原理: 当 AI 发动“无情追击”被玩家完美闪避后,由外部系统或动画事件将 `IsWeaknessState` 设为 True,打断正在进行的其它动作,强制进入虚弱。这段时间 AI 失去霸体。* - - `[Conditional] Check IsWeaknessState == True` - - `[Action] Play Weakness/Overheat Animation` (播放核心过载/喘息动画,持续数秒,且失去超级护甲) - - `[Action] Set IsWeaknessState = False` - - - `[Sequence]` **二阶段变阵 (Phase 2 Transition)** **(Abort Type: Lower Priority)** - - *原理: 血量过半后强制打断常规逻辑,播放转阶段动画,解锁红眼/爆气状态。* - - `[Conditional] Check HP_Percentage < 50` - - `[Conditional] Check IsPhase2 == False` - - `[Action] Play Phase Transition Roar` (霸体怒吼,可能震退玩家) - - `[Action] Set IsPhase2 = True` - - - `[Selector]` **见招拆招博弈分支 (Reaction & Counter Branch)** **(Abort Type: Lower Priority)** - - *原理: 持续监听当前的 `IncomingThreatType`。只要不为 `None`,立刻打断主动进攻和追击,进入特定的反制逻辑。* - - - `[Sequence]` **应对:玩家连续轻攻击 (高频刮痧)** - - `[Conditional] ThreatType == HighFreqLight` - - `[Action] Execute Parry Stance` (光耀大盾防反架势) - - `[Selector]` (判定防反结果) - - `[Sequence]` (玩家砍在了盾上触发弹刀) - - `[Conditional] IsParryTriggered == True` - - `[Action] Execute Relentless Pursuit` (发动迅猛的无情追击突刺。*如果此招未命中,动画事件会设置 `IsWeaknessState = True`*) - - `[Sequence]` (玩家及时停手) - - `[Wait] 1.5s` (举盾僵持) - - `[Action] Parry Recovery` (放下盾牌,露出短暂破绽) - - `[Action] Clear ThreatType` (重置为 None) - - - `[Sequence]` **应对:玩家频繁切换武器/高频位移 (Switch-Tech 滥用)** - - `[Conditional] ThreatType == SwitchTech` - - `[Action] Area Denial Attack` (举剑猛砸地面,引爆周围立场压缩玩家走位空间) - - `[Action] Clear ThreatType` (重置为 None) - - - `[Sequence]` **常规主动进攻分支 (Active Combat Branch)** **(Abort Type: Lower Priority)** - - *原理: 在冷却就绪时,根据距离和当前阶段挑选主动连段。* - - `[Conditional] Is Action Cooldown Ready` - - `[Random Selector]` - - `[Sequence]` **强力蓄力重击 (毁灭性打击)** - - `[Action] Heavy Charge Windup` (漫长的前摇准备。*若此时被玩家重攻击击中,底层的感知会被触发,跳至硬直 Subtree*) - - `[Action] Release Heavy Attack` (释出高伤一击) - - `[Sequence]` **常规连段 A (近战压迫)** - - `[Conditional] Check Distance < 3` - - `[Action] Execute Combo (盾击 -> 挥砍)` - - `[Conditional] Check IsPhase2 == True` (如果是二阶段,强制追加高阶派生!) - - `[Action] Execute Follow-up (重下劈)` - - `[Sequence]` **常规连段 B (中距离突进)** - - `[Conditional] Check Distance < 6` - - `[Action] Execute Combo (滑步突刺 -> 横扫)` - - `[Action] Update LastActionTime` - - - `[Sequence]` **压迫步伐 (Approaching Strafe)** **(Abort Type: Both)** - - *原理: 当无法攻击时,采用缓慢、沉稳的压迫性步伐朝玩家移动,而不是奔跑。由于是 Both,随时可以被战斗行为或外界信号打断。* - - `[Conditional] Check Distance > 2.5` - - `[Action] Heavy Strafe Towards Target` (持盾压迫寻路) - - - `[Action] Idle/Guard` (默认待机防守) - ---- - -## 3. 可视化图表生成 (Mermaid Visualization) - -```mermaid -graph TD - Root([Selector]) --> GlobalSub[[Death / Stagger Subtree]] - Root --> WeaknessSeq - Root --> Phase2Seq - Root --> ReactionBranch - Root --> ActiveCombat - Root --> ApproachSeq - Root --> IdleBlock[Idle Guard] - - %% 虚弱分支 - WeaknessSeq([Sequence
Abort: Lower]) --> CondWeak{Is Weakness?} - WeaknessSeq --> ActWeak[播放过载虚弱动画
失去超级护甲] - WeaknessSeq --> ResetWeak[Reset Weakness] - - %% 转阶段 - Phase2Seq([Sequence
Abort: Lower]) --> CondHP{HP < 50% & Not Phase2?} - Phase2Seq --> ActPhase2[爆气怒吼] - Phase2Seq --> SetPhase2[Set Phase2=True] - - %% 见招拆招反应 - ReactionBranch([Selector
应对玩家操作
Abort: Lower]) --> ReactLight - ReactionBranch --> ReactSwitch - - ReactLight([Sequence: 应对连击]) --> CondLight{Threat: 连续轻击} - ReactLight --> ActParry[举起大盾防反] - ActParry --> SelParry([Selector: 判定结果]) - SelParry --> HitShield([Seq: 弹刀触发]) --> ActPursuit[无情追击突刺
落空则致虚弱] - SelParry --> WaitShield([Seq: 玩家停手]) --> ActVulnerable[放下盾牌产生破绽] - - ReactSwitch([Sequence: 应对切武/位移]) --> CondSwitch{Threat: 频繁切换/高频位移} - ReactSwitch --> ActArea[释放场地引爆技
压缩走位] - - %% 主动进攻 - ActiveCombat([Sequence
主动进攻
Abort: Lower]) --> CondCD{冷却就绪?} - ActiveCombat --> RandCombo([Random Selector]) - RandCombo --> HeavyCharge[蓄力重攻击
可被玩家重攻击打断] - RandCombo --> ComboA([Seq: 连招A]) - RandCombo --> ComboB([Seq: 连招B]) - - ComboA --> CondDistA{距离<3?} --> ActComboA[盾击挥砍] --> CondPhase2A{是二阶段?} --> FollowUp[强制多段派生: 霸体下劈] - - %% 压迫步伐 - ApproachSeq([Sequence
压迫寻路
Abort: Both]) --> CondDist{距离>2.5} - ApproachSeq --> ActStrafe[沉稳举盾逼近] - - style ReactionBranch fill:#bf3f3f,stroke:#fff,color:#fff - style ActWeak fill:#3d59ab,stroke:#fff,color:#fff - style ActiveCombat fill:#cf8534,stroke:#fff,color:#fff - style ApproachSeq fill:#4a8247,stroke:#fff,color:#fff - style GlobalSub fill:#1c1c1c,stroke:#f00,color:#fff,stroke-width:2px -``` - ---- - -## 4. 自定义 Task 节点需求卡 (Custom Task Specs) - -为支撑这种高度敏感的 AI 博弈系统,我们需要程序组开发以下 Behavior Designer 交互节点。 - -### 📌 节点1:`ListenIncomingThreat` (条件类 Conditional) -- **节点名称**: `ListenIncomingThreat` -- **输入参数 (Exposed)**: - - `SharedEnum TargetThreatToCheck` (你想截获哪一种 Threat,比如 `HighFreqLight` 或 `Any`) - - `SharedEnum GlobalThreatVariable` (黑板中用于存储当前 Threat 的变量) -- **内部逻辑描述**: - - 通过 `OnUpdate()` 监控 `GlobalThreatVariable`。 - - 如果匹配 `TargetThreatToCheck`,返回 `TaskStatus.Success`。打断低优先级节点。这使得 AI 能够瞬间响应玩家的操作。 - -### 📌 节点2:`ExecuteParryAndCounter` (复合动作类 Action / Sequence) -- **节点名称**: `ExecuteParryAndCounter` -- **内部逻辑描述**: - - **前摇期**: 触发举盾动画,并在 Boss 身上启用特定的 `ParryHitbox`。 - - **监听期**: - - 如果玩家的攻击(带有 `LightAttack` 标签)撞在 `ParryHitbox` 上,立刻触发玩家大硬直弹刀,并在节点内部立刻播放“无情追击 (Relentless Pursuit)”动画。 - - 如果追击动画的终伤没打中玩家(由外部无敌帧检测/闪避检测判定),调用方法强行把黑板的 `IsWeaknessState` 设为 `True`。 - - **超时期**: 若举盾超过指定时间,未受到攻击,则播放疲惫放下盾牌的动画。 - - **返回值**: 整个逻辑播放完毕或被迫中断才返回 `TaskStatus.Success` 或 `Failure`。 - -### 📌 节点3:`HeavyChargeWindup` (可中断状态动作类 Action) -- **节点名称**: `HeavyChargeWindup` -- **内部逻辑描述**: - - 开场时赋给自身 `SuperArmor` (如果它没有常驻霸体)。 - - 开始漫长蓄力(如 2 秒)。 - - **核心机制**:监听玩家的 `HeavyAttack` 伤害事件。如果蓄力期间挨到玩家的 `HeavyAttack` 判定,主动中断自身蓄力并分发强硬直事件(触发 `Death & Global Stagger Subtree`)。 - - 若蓄力圆满完成,返回 `TaskStatus.Success` 以便下一级节点释放“毁灭性打击”。 diff --git a/docs/AI_Boss_铁骑士架构设计.md b/docs/AI_Boss_铁骑士架构设计.md deleted file mode 100644 index f76cdf041..000000000 --- a/docs/AI_Boss_铁骑士架构设计.md +++ /dev/null @@ -1,145 +0,0 @@ -# Boss 级敌人概念与 AI 架构设计案:【铁骑士 - 埃癸斯】(Iron Knight 'Aegis') - -## 1. 基础信息设定 (Basic Profile) -- **代号/命名**:【铁骑士 - 埃癸斯】(Iron Knight 'Aegis') / 或者可称为“圣盾百夫长”。 -- **外观形态**:手持重剑与大盾的人形机械构造体,装甲厚重,具有强烈的压迫感。 -- **定位**:重装型 Boss。以“攻防转换的节奏感”和“惩罚玩家的贪刀”为核心设计语言。 -- **移动能力**:中等移速(依靠沉稳的步法和短促的盾牌推进,不会频繁全地图瞬移)。 - -## 2. 核心战斗机制逻辑梳理 (Core Combat Mechanics) -为了方便后续 AI 行为树设计师(或者程序)开展工作,我们将该 Boss 的战斗逻辑拆解为以下几个博弈循环: - -### 2.1 【防反与断奏】(Block & Interrupt) -- **触发条件**:AI 侦测到玩家正在高频使用“轻攻击 (Light Attack)”且自己没有处于硬直阶段。 -- **行为表现**:埃癸斯迅速举盾,如果玩家的轻攻击砍在盾牌上,玩家的攻击会被立刻“弹刀”中断(伴随强烈的火花与音效)。 -- **后续派生(致命追击)**:在成功弹刀中断玩家后,埃癸斯有高概率接上一记迅猛的**“无情追击 (Relentless Pursuit)”**(例如:盾牌格挡后立刻接一个霸体的突刺)。 - -### 2.2 【高风险追击与虚弱惩罚】(High-Risk Pursuit & Vulnerability) -- **承接上述派生**:当埃癸斯发动“无情追击”时,这正是玩家反击的绝佳时机! -- **玩家应对**:如果玩家通过极限反应对这记突刺进行了“完美闪避 (Perfect Dodge)”或“完美格挡/弹反 (Parry)”。 -- **Boss 惩罚状态**:突刺落空的埃癸斯会因为用力过猛,核心过载,陷入一个持续数秒的**“虚弱状态 (Weakness Buff)”**(不仅停止行动,可能还会附带易伤效果)。在这个动作窗口期内,玩家可以疯狂输出。 - -### 2.3 【重装蓄力与硬核打断】(Heavy Charge & Heavy Counter) -- **触发条件**: Boss 的常规攻击手段不仅限于连招,它会在特定距离或连招收尾时,准备释放一记**“毁灭性蓄力重击”**。 -- **行为表现**:巨剑充能或盾牌发光,拥有**较长的前摇预警**。 -- **博弈拆招**:此时普通的轻攻击打在它身上形同刮痧(由于超级护甲的存在)。但是,如果玩家敏锐地抓准时机,在它出手前的蓄力阶段,使用**“重攻击 (Heavy Attack)”或更高阶的主武器技能**精准命中它,即可将这股蓄力强行打断,不仅化解危机,甚至能将其打出巨大的后仰硬直。 - -## 3. 战斗环境、阶段转化与虚弱收益界定 - -### 3.1 战斗场地 (Arena) -战斗发生于宽阔的“城市主干道”,可以视为开阔且平坦的竞技场。AI 的行为树逻辑重心需全盘倒向与玩家的正面距离博弈、压迫与牵制。 - -### 3.2 二阶段变阵 (Phase 2 Adjustment) -在生命值下降到阈值(例如 50%)时,进入由行为树变量驱动的“二阶段”。 -- **动作池扩充**:解锁更多的高阶攻击动作或连招派生(例如在原先的一记扫击后,新增一段强制衔接的重劈连段)。 -- **压制力提升**:技能与追击的内置冷却(Cooldown Variables)缩短。 - -### 3.3 核心“虚弱状态”收益界定 (The 'Weakness' Penalty) -- **常态霸体防线 (Default Hyper-Armor)**:在正常战斗循环中,Boss 享有“超级护甲”,常规的普通攻击打在它身上形同刮痧,无法打断其行为。 -- **虚弱剥权(破防硬直)**:当玩家通过完美操作使 Boss 失衡,致其陷入“虚弱状态 (Weakness Buff)”时,其常驻霸体被强制剥夺!此时,玩家使用轻力度的攻击命中,只要满足突破阈值,也能强行打出 Boss 的“受击反馈(GetHit动画)”。甚至可将其打入连续硬直,进行割草般的爆发输出。 - -## 4. 攻击招式池的分类与行为树策略分配 (Move-Set & BT Strategy) -基于目前的动作素材与全新的“能量 (Energy)”体系,我们将通过 **距离判定 (Distance)**,**冷却 (Cooldown)**,与 **能量值 (Energy)** 三维指标来分配动作触发优先级。 - -### 4.1 核心资源:能量系统 (Energy System) -- Boss 拥有一套动态回复的能量系统,高危/高收益的“杀招”不仅需要 `CheckCooldown`(冷却),还需要 `CheckEnergy`。 -- 如果 Boss 能量充足,它会优先使用极具压迫感且范围巨大的攻击;一旦能量耗尽,它只能降级使用“基础平A”或“低位走位/招架”争取回复能量的时间。这本身就为玩家提供了一层“撑过爆发期,迎来反打期”的隐性宏观回合节奏感。 - -### 4.2 远距离 (10米以上) - 压迫与拉近 -- **【高能量局】蓄力剑技 A(剑气波/长距离直线突刺)**:消耗大量能量,释放前摇长但带有强烈突进或远程压迫感的致命打击,破坏玩家风筝流战术。 -- **【低能量局】单次攻击 A(持盾滑步跳砸)**:作为兜底突进动作,仅消耗基本能量拉近距离。 - -### 4.3 中距离 (4米 - 10米) - 游斗与破绽诱导 -中距离是 ARPG 最精髓的博弈区间,是决定双方动作的重要起爆点。 -- **【防守端】蓄力盾技 A(防反姿态/能量爆发)**:低耗能甚至能回复能量。原地举盾,如果玩家手贱打上去,则吸收玩家伤害并蓄能反击。 -- **【高优/高能】蓄力剑技 B(大范围旋风斩/重劈)**:耗能大,压迫感极强。 -- **【常规/低能】单次攻击 B、C(大范围横扫/前压横斩)**:不需要太多能量,利用带有少量前压位移的扫击逼迫玩家走位。 - -### 4.4 近距离 (4米以内) - 高压强攻与节奏拆解 -- **【满配爆发】连招池(连招 A/B/C/D)**:近战最高优先级。依赖高额能量,对玩家进行不间断压制。通过 `Selector` 利用权重轮流抽取。 -- **【防身脱战】蓄力盾技 B(原地践踏/震地爆)**:当玩家连击极其猛烈或自身需要快速缓解近身压力时释放。 -- **【断节奇招】单次攻击 D、E(快速上挑/侧踢)**:极快帧率的小动作,低消耗。在玩家闪避掉连招以为安全时,突然出招打断玩家的反击节奏。 - -### 4.5 蓄力剑技 C 的特殊留用(终极底牌) -作为二阶段的专属,或者当玩家陷入异常(如被击倒)时,消耗全部能量释放的终极大招。 - -## 5. 高阶行为树底层重构设计图 (BT Architecture: Interrupt-Driven) - -彻底废弃传统的“移动一会 -> 发呆等计时器 -> 攻击”的回合制顺序树。改为使用由 **Conditional Aborts (条件打断)** 与 **冷却/能量双检 (CD & Energy Check)** 驱动的“抢占式 (Interrupt-driven)”设计。 - -### 设计原则: -1. **最高层使用 Priority Selector**:左侧永远是攻击技能池(高优先级),右侧是移动走位池(低优先级)。 -2. **条件截断 (Conditional Abort)**:攻击技能上方悬挂 `Check Cooldown`、`Check Energy` 联合 `Within Range`。一旦左侧亮绿灯(攻击 CD 转好,且有蓝,且玩家在此招式范围内),无论右侧当前在干什么(无论是在周旋还是在追逐),全部立刻打断,瞬间出刀! -3. **取消兜底倒计时**:无需 `Wait` 节点控制移动。距离远自然会触发“远距离攻击条件”来惩罚玩家,而不是走到玩家脸上才算作打完。 - -### Behavior Designer 逻辑蓝图 (Mermaid 排版) - -```mermaid -graph TD - Root[Selector] --> AttackTree[Selector\n高优先级攻击池\n<打断监听:Lower Priority>] - Root --> MoveTree[Selector\n低优先级走位池] - - %% 攻击子树展开 - AttackTree --> CloseRange[Sequence\n近战距离检测 < 4m] - AttackTree --> MidRange[Sequence\n中距离检测 4-10m] - AttackTree --> FarRange[Sequence\n远距离检测 > 10m] - - %% 近战攻击逻辑 (加入能量与CD判定) - CloseRange --> CheckNearRange{"Conditional\nDistance < 4m\nAbort Type: Lower Priority"} - CloseRange --> ActionNear["Selector\n(依CD与Energy向下分发)"] - ActionNear --> HighEnergyNear[Sequence\n【高能量连招】] - HighEnergyNear --> CheckEnNear{"CheckEnergy\n&& CheckCooldown"} - HighEnergyNear --> ConsEnNear["ConsumeEnergy"] - HighEnergyNear --> CastNearCombo["Action: Cast Combo A/B/C/D"] - ActionNear --> LowEnergyNear[Sequence\n【低能量单发】] - LowEnergyNear --> CheckLowNear{"CheckCooldown"} - LowEnergyNear --> CastNearSingle["Action: 单发侧踢/快挑"] - - %% 中距离攻击逻辑 - MidRange --> CheckMidRange{"Conditional\nDistance 4-10m\nAbort Type: Lower Priority"} - MidRange --> ActionMid["Selector\n(依CD与Energy分发)"] - ActionMid --> HighEnergyMid[Sequence\n【高能蓄力剑】] - HighEnergyMid --> CheckEnMid{"CheckEnergy\n&& CheckCooldown"} - HighEnergyMid --> ConsEnMid["ConsumeEnergy"] - HighEnergyMid --> CastMidSkill["Action: Cast 旋风斩"] - ActionMid --> GuardMid[Sequence\n【防守姿态积攒】] - GuardMid --> CheckCdMid{"CheckCooldown"} - GuardMid --> CastMidShield["Action: Cast 蓄力盾防反"] - - %% 远配攻击逻辑 - FarRange --> CheckFarRange{"Conditional\nDistance > 10m\nAbort Type: Lower Priority"} - FarRange --> ActionFar["Selector"] - ActionFar --> HighEnergyFar[Sequence\n【高能突进斩】] - HighEnergyFar --> CheckEnFar{"CheckEnergy..."} - HighEnergyFar --> ConsEnFar["ConsumeEnergy"] - HighEnergyFar --> CastFarSkill["Action: 剑气/突击"] - - %% 移动走位子树展开 - MoveTree --> EscapeMove[Sequence\n极近距离防猝死] - MoveTree --> StrafeMove[Sequence\n中距离周旋博弈] - MoveTree --> PursueMove[Sequence\n远距离强力追赶] - - EscapeMove --> CondEsc{"Distance < 3m\n(防穿模/拉扯)"} - EscapeMove --> ActEsc["Action: 持盾后撤步 (Block & Retreat)"] - - StrafeMove --> CondStr{"Distance 3-6m"} - StrafeMove --> ActStr["Action: 左右游走测距 (Strafe)"] - - PursueMove --> CondPur{"Distance > 6m"} - PursueMove --> ActPur["Action: 大步追寻 (Precise Pursue)"] - - %% 连线注释与排版调整 - classDef conditional fill:#6b3e2e,stroke:#fff,color:#fff - classDef sequence fill:#3e6b4e,stroke:#fff,color:#fff - classDef selector fill:#3e4c6b,stroke:#fff,color:#fff - classDef action fill:#2e5c6b,stroke:#fff,color:#fff - - class Root,AttackTree,MoveTree,ActionNear,ActionMid,ActionFar selector - class CloseRange,MidRange,FarRange,HighEnergyNear,LowEnergyNear,HighEnergyMid,GuardMid,HighEnergyFar,EscapeMove,StrafeMove,PursueMove sequence - class CheckNearRange,CheckMidRange,CheckFarRange,CheckEnNear,CheckLowNear,CheckEnMid,CheckCdMid,CheckEnFar,CondEsc,CondStr,CondPur conditional - class ConsEnNear,CastNearCombo,CastNearSingle,ConsEnMid,CastMidSkill,CastMidShield,ConsEnFar,CastFarSkill,ActEsc,ActStr,ActPur action -``` - -### 核心解说: -通过这样的设计,**右侧的 `MoveTree`(移动池)永远是“垫底”的默认状态**。只要 Boss 能量没满且所有攻击都在 CD 中,甚至与玩家拉平到了安全距离,他就只会执行后退防守或左右微步周旋。 -而一旦**随着时间推移,他的能量槽转好,或者某个强力大连招的 CD 完毕**(并伴随着距离判定 `Within Range` 的满足),左侧强大的 `Conditional Aborts` 就会**立即打断哪怕只跑了一半的移动动画**,令铁骑士如饿虎扑食般猛然发难!这正是硬核动作游戏能够创造极强反馈与压迫感的顶层逻辑秘密。 diff --git a/docs/AI_ExpertAI_高阶博弈设计思路.md b/docs/AI_ExpertAI_高阶博弈设计思路.md deleted file mode 100644 index 17e9092cd..000000000 --- a/docs/AI_ExpertAI_高阶博弈设计思路.md +++ /dev/null @@ -1,56 +0,0 @@ -# 高阶敌人 AI 设计:专家级博弈与“连招拆招”系统 (Elite AI: Action-AI Sandbox) - -## 1. 设计目标与核心理念 -- **目标**:为 Cielonos 打造一种拒绝纯数值压积的高阶 AI 体验。当玩家面对精英/Boss级别敌人时,敌人的动作反馈取决于玩家当前的操作与走位。 -- **理念**: - - **信息透明博弈**:不是毫无征兆的瞬移或无敌判定,而是基于“预测区域”与“前摇动作”的反应。 - - **高风险高收益**:敌人的“变招”带有破绽,一旦玩家通过完美闪避、弹反或抓后摇化解危机,将获得绝佳的输出窗口和大量增益。 - - **难而不恶心**:必须给玩家留出足够的反应窗口,且每一次失败都应该是玩家的策略失误。 - -## 2. 核心技术底座:战斗信息广播系统 (Combat Broadcast System) -为了让 AI 能够“见招拆招”,我们需要在程序框架层面补充一套跨实体的“信息传递网络”。除了玩家自身的视线追踪(Sight)和听觉(Hearing)外,还需要一种基于攻击动作和状态的系统。 - -### 2.1 【玩家操作意图广播基础】 -目前项目中使用了 Behavior Designer 的 `HasReceivedContextEvent` 作为 AI 接收事件的节点接口。在释放特定招式(如部分特定的攻击行为)时,通过 `behaviorSc.DispatchContextEvent` 发送事件信息。 -作为高阶方案的延展,未来需要进行以下拓展: -1. **高维危险感知区域 (Threat Area)**:对于大型蓄力或高危攻击,未来将引入一层专门的“危险预测碰撞体(Special Alert Trigger/Area)”组件。在攻击的“前摇阶段”,该区域生成并立即覆盖战场。 -2. **事件总线 (Event Bus)**:目前的 `ContextEvent` 是对单体 AI 的直接派发。由于之后会有复数个高级 AI 共存,需要一个全局的 **战斗意图事件总线 (Combat Intent Event Bus)**,当危险区域命中 AI 时,或者玩家做出特定流派的大动作时,通过该总线广播给感知范围内的 AI。 - -### 2.2 【AI 获取环境信号】 -对于精英级敌人的行为树设计,它们将依靠上述信息源执行**条件中断(Conditional Aborts)**: -- 当触发了对应 `ContextEvent` 或触发了“高危险区域感知”时,将该信息的关键数据写入行为树黑板变量(如 `IncomingThreatType`)。 -- 触发高优先级拦截,打断诸如“巡逻”、“常规平A”等一般行为,强制进入对应的高阶应对逻辑。 - -## 3. AI “见招拆招”行为池设计 - -基于上述信息广播底座,我们可以为专家级 AI 设计以下应对行为(Action Nodes): - -### 3.1 应对 玩家“范围蓄力/高伤害技能前摇” -- **判定条件**:接收到 `attackType = Charge/Heavy` 且当前与玩家的距离位于 `threatArea` 内部。 -- **AI 决策 1:完美后撤/侧闪 (Evade)**如果 AI 的当前硬直极小,判定时间充足,立即执行闪避动画,向安全区域移动。 -- **AI 决策 2:抢攻打断 (Interruptive Strike)**如果 AI 判断时间不及,但玩家这招没有“超级护甲霸体”,AI 会立即瞬发一记快速的“轻攻击”以求打断玩家蓄力。 - -### 3.2 应对 玩家“无脑连续轻击/平A连段” -- **判定条件**:AI 记录玩家在短时间内连续多次发起 `attackType = Light` 并且自身处于防守或受迫状态(如被连续刮痧)。 -- **AI 决策 1:霸体弹反 (Perfect Guard/Parry Stance)**AI 突然开启闪烁着特殊光芒的防御架势动画(例如举起大盾或兵刃发光)。 - - **玩家博弈**:如果玩家收不住手,一刀砍上去,则玩家被强行“弹刀”弹飞(大硬直)。如果玩家及时收手(Switch-Tech 或利用闪避取消),则 AI 的防御架势在持续一段时间后会露出极大的后摇破绽,玩家可趁机反击。 -- **AI 决策 2:后撤斩 (Retreating Slash)**硬抗一击(或者超级护甲),向后位移同时挥出一剑,逼迫玩家交出闪避。 - -### 3.3 应对 玩家“频繁切换武器 (Switch-Tech 滥用)” -- **判定条件**:接收到高频的 `SwitchWeapon` 广播信号。 -- **AI 决策:空间封锁 (Zone Control)**AI 认为玩家在不断高速位移或打瞬间爆发,此时 AI 不再与之近身缠斗,而是向周围释放大范围的持续追踪射线/地刺、或召唤延迟引爆的立场,压缩玩家在切换武器时的走位空间。 - -## 4. 自定义 Behavior Designer 节点功能描述规划 (Task Nodes) -既然你具备强大的 C# 与 BD 集成开发能力,这里提供我们需要在后续逐步编写的**自定义行为树节点功能描述**,你可参考实现: - -- **[Conditional] `HasHighThreatIncoming`**: - - **功能要求**:监听/检测自己是否处于玩家生成的“高危险感知感知区域”中,或是否收到了表明有巨大威胁的全局 `ContextEvent`。 - - **参数导出**:允许将威胁的类型(是范围爆炸、还是突进劈砍)写入黑板里的 `Enum` 变量中,以便驱动下方的不同分枝。 - -- **[Action] `EvadeOrBlock` (应对危险动作选择器)**: - - **功能要求**:读取上级节点写入的威胁类型与自身当前可执行状态,决定播放“后侧步(闪避)”、“防御(吸收或弹反)”或者“强行攻击打断”的对应动画片段。该节点需与 `Automata` 内封装的动画打断逻辑深度绑定。 - -## 5. 阶段待办与开发顺序确认 (Milestones) -- [ ] **技术基建 (Event & Area)**:未来规划“高危险区域(Special Alert Trigger)”的实现方式,并视情况构建全局 Event Bus 以替代/封装针对单体的 `DispatchContextEvent`。 -- [ ] **行为树框架搭建 (BD Foundation)**:在特定的专家级怪物的行为树中,拉出一支 `High Priority (Both/Self)` 的分支,以 `HasReceivedContextEvent` 或上述的自定义拦截节点作为触发器。 -- [ ] **动作打断与反馈补充**:制作专门用于展现 AI “见招拆招”特点的反制动作,并在 `FuncAnimDataCollection` 中完成帧事件配置。 diff --git a/docs/Cielonos_3C任务清单.md b/docs/Cielonos_3C任务清单.md new file mode 100644 index 000000000..b50cd8202 --- /dev/null +++ b/docs/Cielonos_3C任务清单.md @@ -0,0 +1,557 @@ +# Cielonos 项目3C任务清单 + +## 项目3C现状评估 + +### ✅ 已完成部分 + +#### Character(角色) + +- ✅ 基础移动系统(行走、奔跑、冲刺) +- ✅ 跳跃系统 +- ✅ 后撤步闪避 +- ✅ 攻击系统(轻攻击、重攻击) +- ✅ 格挡系统(普通格挡、完美格挡) +- ✅ 角色动画分层(FullBody、UpperBody) +- ✅ 根运动(Root Motion)支持 +- ✅ 冲刺/后撤步闪避无敌帧 + +#### Camera(摄像机) + +- ✅ Cinemachine虚拟相机系统 +- ✅ Free Look相机(自由视角) +- ✅ Lock Target相机(锁定目标) +- ✅ State-Driven相机切换 +- ✅ 摄像机旋转子模块 +- ✅ 遮挡渐隐子模块(Occlusion Fade) +- ✅ 锁定目标系统 +- ✅ 摄像机震动系统(Rotation Shake、Position Shake、FOV Shake) +- ✅ 战斗校准(Camera Recenter) + +#### Control(操控) + +- ✅ 键盘鼠标输入系统 +- ✅ 视角旋转输入 +- ✅ 移动输入 +- ✅ 输入预缓冲系统 +- ✅ 输入映射配置 + +*** + +## 一、Character(角色)待完善任务 + +### 1.1 移动系统优化 + +#### P0 - 必须完成 + +- [ ] **完善冲刺系统细节** + - [x] 冲刺时的角色朝向控制(朝向移动方向 vs 朝向相机方向) + - [x] 冲刺速度曲线(启动快 → 维持 → 减速停止) + - [x] 冲刺时是否允许视角旋转? + - [x] 冲刺动画根运动配置 +- [ ] **完善闪避系统细节** + - [ ] 闪避无敌帧的可视化表现(是否有特效?) + - [ ] 闪避时相机行为(锁定目标时闪避,相机如何处理?) + - [x] 闪避距离与动画的匹配 + - [x] 空中闪避的特殊处理(空中冲刺?) + +#### P1 - 重要 + +- [ ] **完善跳跃细节** + - [ ] 跳跃高度配置是否合理? + - [ ] 跳跃时是否可以攻击/格挡? + - [ ] 二段跳是否需要?(建议暂不加) + - [ ] 跳跃落地动画和过渡 +- [ ] **完善转身动画** + - [ ] 快速转身动画(180度转身) + - [ ] 移动方向变化时的转身过渡 + +### 1.2 战斗系统优化 + +#### P0 - 必须完成 + +- [ ] **完善攻击动作** + - [ ] 轻攻击连段(建议3-5下) + - [ ] 重攻击动作(是否有蓄力?) + - [ ] 攻击方向控制(4方向?8方向?自由方向?) + - [ ] 攻击时的移动(是否可以边攻击边移动?) +- [ ] **完善格挡系统** + - [ ] 格挡成功时的视觉反馈(是否有特效?) + - [ ] 格挡成功时的音效 + - [ ] 格挡消耗(能量?耐力?) + - [ ] 格挡时的角色动画 + - [ ] 格挡打断(何时会被打断?) +- [ ] **完善完美格挡/闪避** + - [ ] 完美时机窗口配置(当前是多少毫秒?) + - [ ] 完美格挡/闪避成功后的特殊反馈(是否有特写?慢动作?) + - [ ] 完美格挡/闪避成功后的反击机会(是否自动触发?) + +#### P1 - 重要 + +- [ ] **完善武器动画** + - [ ] 武器切换动画 + - [ ] 武器收鞘动画 + - [ ] 武器特殊姿态(如蓄力姿态) +- [ ] **完善受击反馈** + - [ ] 受击动画(轻击、重击、击飞) + - [ ] 受击时的角色控制(是否会被打断动作?) + +### 1.3 需要确认的事项 + +#### ⚠️ 需要手动确认 + +- [ ] **攻击范围配置**:当前武器的攻击范围是多少?是否需要调整? +- [ ] **移动速度平衡**:当前速度是否合适?冲刺速度是否太快? +- [ ] **格挡消耗**:格挡应该消耗能量还是耐力?消耗量是多少? +- [ ] **完美时机窗口**:完美格挡/闪避的时机窗口应该是多少毫秒? +- [ ] **攻击打断规则**:什么情况可以打断攻击?攻击可以被什么打断? +- [ ] **受击规则**:攻击中是否可以被攻击?被打断后多久可以行动? + +*** + +## 二、Camera(摄像机)待完善任务 + +### 2.1 基础摄像机系统 + +#### P0 - 必须完成 + +- [ ] **完善Free Look相机** + - [ ] 旋转速度配置(鼠标灵敏度) + - [ ] 角度限制配置(当前pitch范围) + - [ ] 平滑度配置(是否足够平滑?) + - [ ] 死区配置(消除微小移动的抖动) +- [ ] **完善Lock Target相机** + - [ ] 锁定切换速度(切换目标时相机过渡是否平滑?) + - [ ] 锁定丢失条件(距离过远?目标死亡?) + - [ ] 锁定时的视角偏移(是否有偏移?偏移多少?) + - [ ] 锁定时是否禁用自由旋转? + +#### P1 - 重要 + +- [ ] **完善相机切换逻辑** + - [ ] 何时使用Free Look?何时使用Lock Target? + - [ ] 切换时的过渡动画 + - [ ] 锁定目标的选择逻辑(最近?面向?血量最少?) +- [ ] **完善相机参数预设** + - [ ] 近战战斗时的相机距离(建议近一些) + - [ ] 远程战斗时的相机距离(建议远一些) + - [ ] 探索时的相机距离(标准距离) + - [ ] 不同武器是否需要不同的相机参数? + +### 2.2 摄像机震动系统 + +#### P0 - 必须完成 + +- [ ] **完善攻击震动** + - [ ] 轻攻击震动配置(轻微) + - [ ] 重攻击震动配置(中等) + - [ ] 特殊攻击震动配置(强烈) +- [ ] **完善格挡震动** + - [ ] 普通格挡震动 + - [ ] 完美格挡震动(是否有特殊震动?) +- [ ] **完善受击震动** + - [ ] 轻击震动 + - [ ] 重击震动 + - [ ] 击飞震动 + +#### P1 - 重要 + +- [ ] **完善环境震动** + - [ ] 爆炸震动 + - [ ] 特殊技能震动 + - [ ] 场景互动震动(如踩到机关) +- [ ] **完善震动预设库** + - [ ] 创建常用震动预设(LightHit, MediumHit, HeavyHit等) + - [ ] 为不同武器配置不同的震动参数 + - [ ] 为不同敌人配置不同的震动参数 + +### 2.3 FOV系统 + +#### P0 - 必须完成 + +- [ ] **完善速度感FOV** + - [ ] 奔跑时FOV变化(+5° \~ +10°) + - [ ] 冲刺时FOV变化(+10° \~ +15°) + - [ ] FOV过渡速度(应该快速还是平滑?) + +#### P1 - 重要 + +- [ ] **完善战斗FOV** + - [ ] 攻击时是否需要FOV变化? + - [ ] 完美格挡/闪避时是否需要FOV变化? + +### 2.4 遮挡处理系统 + +#### P0 - 必须完成 + +- [ ] **完善Occlusion Fade** + - [ ] 遮挡物透明度的目标值(当前0.5是否合适?) + - [ ] 淡入淡出速度 + - [ ] 遮挡物Layer配置 + - [ ] 检测射线的数量和位置 + +#### P1 - 重要 + +- [ ] **完善相机躲避(Dodge)** + - [ ] 是否需要相机躲避功能? + - [ ] 躲避速度配置 + - [ ] 躲避范围配置 +- [ ] **完善推近(Push In)** + - [ ] 是否需要推近功能? + - [ ] 推近触发条件 + - [ ] 推近距离 + +### 2.5 战斗校准系统 + +#### P0 - 必须完成 + +- [ ] **完善Camera Recenter** + - [ ] 攻击后自动校准到面向敌人 + - [ ] 校准触发时机(攻击结束后多久?) + - [ ] 校准速度 + - [ ] 校准是否可以被输入打断 + +### 2.6 需要确认的事项 + +#### ⚠️ 需要手动确认 + +- [ ] **相机距离**:当前默认相机距离(8单位)是否合适?需要根据场景测试 +- [ ] **旋转灵敏度**:当前鼠标旋转灵敏度是否合适? +- [ ] **震动强度**:当前震动强度是否适中?太弱没有打击感?太强会造成晕眩? +- [ ] **FOV范围**:当前FOV范围(30°-40°)是否合适? +- [ ] **遮挡物Layer**:哪些Layer的物体会遮挡视野?是否配置正确? +- [ ] **Lock Target角度阈值**:锁定目标的最小角度是多少? + +*** + +## 三、Control(操控)待完善任务 + +### 3.1 输入系统 + +#### P0 - 必须完成 + +- [ ] **完善输入映射** + - [ ] 当前按键配置是否合理? + - [ ] 是否有按键冲突? + - [ ] 是否需要支持自定义按键? + +#### P1 - 重要 + +- [ ] **完善手柄支持**(暂缓,后续再实现) + - [ ] 预留手柄输入映射 + - [ ] 手柄旋转灵敏度配置 + +### 3.2 输入缓冲系统 + +#### P0 - 必须完成 + +- [ ] **完善攻击缓冲** + - [ ] 缓冲时间配置(当前是多少?) + - [ ] 缓冲优先级配置 +- [ ] **完善闪避缓冲** + - [ ] 缓冲时间配置 + - [ ] 缓冲优先级配置 + +#### P1 - 重要 + +- [ ] **完善跳跃缓冲** + - [ ] 缓冲时间配置 + +### 3.3 预输入系统 + +#### P0 - 必须完成 + +- [ ] **完善预输入验证** + - [ ] 预输入窗口配置 + - [ ] 是否需要方向匹配? + +### 3.4 输入辅助系统 + +#### P1 - 重要 + +- [ ] **方向吸附**(可选) + - [ ] 是否需要8方向吸附? + - [ ] 吸附角度配置 +- [ ] **目标吸附**(可选) + - [ ] 是否需要面向敌人时自动调整角度? + - [ ] 吸附角度阈值 + +### 3.5 需要确认的事项 + +#### ⚠️ 需要手动确认 + +- [ ] **攻击缓冲时间**:当前攻击缓冲时间(0.15s)是否合适? +- [ ] **闪避缓冲时间**:当前闪避缓冲时间(0.2s)是否合适? +- [ ] **预输入窗口**:当前预输入窗口(0.1s)是否合适? +- [ ] **按键配置**:当前按键配置是否顺手?是否需要调整? + +*** + +## 四、3C协调任务 + +### 4.1 移动与相机协调 + +#### P0 - 必须完成 + +- [ ] **奔跑时相机行为** + - [ ] 奔跑时是否需要FOV变化? + - [ ] 奔跑时相机跟随速度是否合适? +- [ ] **冲刺时相机行为** + - [ ] 冲刺时是否有特殊相机效果? + - [ ] 冲刺时相机是否跟随角色旋转? + +#### P1 - 重要 + +- [ ] **跳跃时相机行为** + - [ ] 跳跃时相机是否需要轻微下压? + - [ ] 落地时是否有相机震动? + +### 4.2 战斗与相机协调 + +#### P0 - 必须完成 + +- [ ] **攻击时相机行为** + - [ ] 攻击时是否需要震动? + - [ ] 攻击时相机是否跟随武器方向? + - [ ] 重攻击时是否有特殊相机效果? +- [ ] **格挡时相机行为** + - [ ] 格挡时相机是否锁定在敌人身上? + - [ ] 完美格挡时是否有特殊相机效果? +- [ ] **受击时相机行为** + - [ ] 受击时的震动效果 + - [ ] 重击时是否有屏幕效果(变红等) + +#### P1 - 重要 + +- [ ] **完美格挡/闪避时相机** + - [ ] 是否有慢动作效果? + - [ ] 是否有特写镜头? + - [ ] 震动效果是否特殊? + +### 4.3 锁定系统协调 + +#### P0 - 必须完成 + +- [ ] **锁定时移动** + - [ ] 锁定时移动方向是相对于相机还是敌人? + - [ ] 锁定时闪避方向如何定义? +- [ ] **锁定时转身** + - [ ] 锁定时角色是否自动面向敌人? + - [ ] 锁定时转身速度是否合适? + +### 4.4 需要确认的事项 + +#### ⚠️ 需要手动确认 + +- [ ] **锁定时移动方向**:锁定时WASD是相对于相机还是相对于敌人? +- [ ] **锁定时转身**:锁定时角色是否应该自动转向敌人?还是只转相机? +- [ ] **战斗校准时机**:攻击后多久应该自动校准到面向敌人? +- [ ] **完美时机触发**:完美格挡/闪避成功后,是否应该触发特殊的相机效果? + +*** + +## 五、调试和工具 + +### 5.1 运行时调试 + +#### P1 - 重要 + +- [ ] **添加3C调试面板** + - [ ] 显示当前相机状态 + - [ ] 显示当前输入状态 + - [ ] 显示角色运动参数 + - [ ] 可开关的实时显示 +- [ ] **添加性能统计** + - [ ] 相机更新耗时 + - [ ] 输入处理耗时 + +### 5.2 编辑器工具 + +#### P2 - 优化改进 + +- [ ] **摄像机预设编辑器** + - [ ] 可视化调整相机参数 + - [ ] 实时预览效果 + - [ ] 导出/导入预设 +- [ ] **震动预设编辑器** + - [ ] 可视化配置震动参数 + - [ ] 实时测试震动效果 +- [ ] **输入配置编辑器** + - [ ] 可视化配置按键映射 + - [ ] 测试按键冲突 + +*** + +## 六、任务优先级总结 + +### P0 - 必须完成(阻塞性问题) + +``` +优先级 任务名称 关联系统 +───────────────────────────────────────────────────────── +P0 完善攻击震动配置 Camera +P0 完善格挡震动配置 Camera +P0 完善受击震动配置 Camera +P0 完善完美格挡/闪避相机效果 Camera + Character +P0 完善相机旋转平滑度 Camera +P0 确认锁定时移动方向 Control +P0 完善Camera Recenter Camera +P0 完善Occlusion Fade Camera +P0 完善攻击缓冲 Control +P0 完善闪避无敌帧配置 Character +``` + +### P1 - 重要(核心功能) + +``` +优先级 任务名称 关联系统 +───────────────────────────────────────────────────────── +P1 完善FOV变化系统 Camera +P1 完善奔跑/冲刺相机效果 Camera +P1 完善跳跃相机行为 Camera +P1 完善锁定目标切换 Camera +P1 完善输入预缓冲 Control +P1 完善攻击连段 Character +P1 完善转身动画 Character +P1 创建震动预设库 Camera +P1 添加3C调试面板 Tools +``` + +### P2 - 优化改进(提升体验) + +``` +优先级 任务名称 关联系统 +───────────────────────────────────────────────────────── +P2 完善环境震动 Camera +P2 完善输入辅助 Control +P2 完善相机预设系统 Camera +P2 完善编辑器工具 Tools +P2 完善手柄支持(预留) Control +``` + +*** + +## 七、测试检查清单 + +### 7.1 基础功能测试 + +``` +□ 行走流畅,无抖动 +□ 奔跑流畅,无抖动 +□ 冲刺方向正确 +□ 跳跃高度合适,落地无异常 +□ 闪避无敌帧正常 +□ 攻击可以正常触发 +□ 格挡可以正常触发 +□ 完美格挡可以正常触发 +``` + +### 7.2 摄像机测试 + +``` +□ 自由视角旋转流畅 +□ 视角旋转无抖动 +□ 锁定目标正常 +□ 锁定切换正常 +□ 遮挡时透明化正常 +□ 攻击震动效果合适 +□ 格挡震动效果合适 +□ 受击震动效果合适 +□ FOV变化平滑 +``` + +### 7.3 输入测试 + +``` +□ 键盘鼠标输入正常 +□ 输入缓冲正常工作 +□ 预输入正常工作 +□ 无按键冲突 +□ 输入响应及时 +``` + +### 7.4 协调测试 + +``` +□ 战斗中相机表现正常 +□ 移动时相机跟随正常 +□ 锁定时移动方向正确 +□ 完美格挡时相机效果正常 +□ 闪避时相机效果正常 +□ 跳跃时相机表现正常 +``` + +*** + +## 八、待确认事项汇总 + +### ⚠️ 需要手动确认并勾选 + +#### 角色相关 + +- [ ] **攻击范围**:当前武器攻击范围是否合适? +- [ ] **移动速度**:当前速度是否需要调整? +- [ ] **格挡消耗**:格挡消耗什么资源?消耗量? +- [ ] **完美时机窗口**:完美格挡/闪避窗口(毫秒)? +- [ ] **攻击打断规则**:什么可以打断攻击? + +#### 摄像机相关 + +- [ ] **相机距离**:当前8单位是否合适? +- [ ] **旋转灵敏度**:鼠标灵敏度是否合适? +- [ ] **震动强度**:当前震动强度是否适中? +- [ ] **FOV范围**:当前FOV范围是否合适? +- [ ] **遮挡Layer**:遮挡Layer是否配置正确? +- [ ] **Lock Target角度**:锁定目标最小角度? + +#### 操控相关 + +- [ ] **攻击缓冲时间**:当前0.15s是否合适? +- [ ] **闪避缓冲时间**:当前0.2s是否合适? +- [ ] **预输入窗口**:当前0.1s是否合适? +- [ ] **按键配置**:当前按键是否顺手? + +#### 协调相关 + +- [ ] **锁定移动方向**:锁定时WASD相对于相机还是敌人? +- [ ] **锁定转身**:锁定时角色是否自动面向敌人? +- [ ] **战斗校准时机**:攻击后多久校准? +- [ ] **完美时机触发**:完美格挡/闪避是否触发特殊相机效果? + +*** + +## 九、建议开发顺序 + +### 第一阶段:基础完善(1-2天) + +1. **完善攻击震动配置** - 立即可提升打击感 +2. **完善格挡震动配置** - 完善防御反馈 +3. **完善相机旋转平滑度** - 基础体验 +4. **完善Occlusion Fade** - 防止穿墙 +5. **确认并配置按键** - 确保输入正常 + +### 第二阶段:核心体验(2-3天) + +1. **完善完美格挡/闪避相机效果** - 核心卖点 +2. **完善FOV变化系统** - 速度感 +3. **完善Camera Recenter** - 战斗节奏 +4. **完善攻击缓冲** - 手感提升 +5. **完善锁定系统** - 核心功能 + +### 第三阶段:细节打磨(2-3天) + +1. **完善奔跑/冲刺相机效果** - 细节体验 +2. **创建震动预设库** - 系统化 +3. **完善输入预缓冲** - 手感提升 +4. **完善跳跃相机行为** - 细节完善 +5. **添加调试面板** - 便于调试 + +### 第四阶段:工具和优化(1-2天) + +1. **完善编辑器工具** - 提升效率 +2. **性能优化** - 确保流畅 +3. **全面测试** - 确保质量 + +*** + +*文档生成日期: 2026-04-17*\ +*生成者: Game Designer Agent* diff --git a/docs/Cielonos_项目总结文档.md b/docs/Cielonos_项目总结文档.md new file mode 100644 index 000000000..4cb7eec82 --- /dev/null +++ b/docs/Cielonos_项目总结文档.md @@ -0,0 +1,674 @@ +# Cielonos 项目总结文档 + +## 项目概述 + +**项目名称**: Cielonos +**项目类型**: 二次元风格、3D、第三人称、Roguelike动作游戏 +**Unity版本**: Unity 6+ (使用URP渲染管线) +**目标平台**: PC/Console (主平台), Mobile (次平台) +**开发语言**: C# + +--- + +## 核心架构 + +### 1. 系统架构模式 +项目采用**Submodule/Subcontroller架构模式**,将复杂系统拆分为可组合的子模块: + +``` +CharacterBase +├── Submodules (数据/逻辑层) +│ ├── SelfTimeSubmodule (时间控制) +│ ├── AttributeSubmodule (属性管理) +│ ├── EventSubmodule (事件系统) +│ ├── BuffSubmodule (Buff系统) +│ └── StatusSubmodule (状态系统) +└── Subcontrollers (表现/交互层) + ├── MovementSubcontroller (移动控制) + ├── AnimationSubcontroller (动画控制) + ├── RenderSubcontroller (渲染控制) + ├── CollisionSubcontroller (碰撞控制) + └── 其他... +``` + +### 2. 命名空间组织 +``` +Cielonos.MainGame/ +├── Characters/ # 角色系统 +│ ├── Player/ # 玩家控制 +│ ├── Automata/ # AI敌人 +│ └── Base/ # 角色基础类 +├── Buffs/ # Buff系统 +├── Map/ # 地图系统 +├── Managers/ # 游戏管理器 +└── UI/ # UI系统 +``` + +--- + +## 核心系统详解 + +### 1. 角色系统 (CharacterBase) + +#### 1.1 角色阵营 (Fraction) +```csharp +public enum Fraction +{ + Player = 0, // 玩家 + AlliedMinion = 1, // 友军 + Enemy = 10, // 敌人 + Neutral = 20 // 中立 +} +``` + +#### 1.2 角色子系统 (Submodules) +- **AttributeSubmodule**: 属性系统,支持动态属性修改和加成计算 +- **BuffSubmodule**: Buff/DeBuff管理系统 +- **StatusSubmodule**: 状态系统(眩晕、束缚、无敌等) +- **EventSubmodule**: 事件系统(受伤、攻击、死亡等) + +#### 1.3 角色控制器 (Subcontrollers) +- **MovementSubcontroller**: 移动控制(支持地面/空中/游泳等) +- **AnimationSubcontroller**: 动画控制(Animator管理) +- **RenderSubcontroller**: 渲染控制(材质、特效) +- **CollisionSubcontroller**: 碰撞控制 +- **BodyPartsSubcontroller**: 身体部位管理 +- **AudioSubcontroller**: 音频控制 +- **ReactionSubcontroller**: 反应系统(格挡、闪避) +- **FeedbackSubcontroller**: 反馈系统 + +### 2. 属性系统 (AttributeSystem) + +#### 2.1 属性组 (AttributeGroup) +```csharp +public partial class AttributeGroup +{ + public Dictionary original; // 原始属性 + public Dictionary current; // 当前属性(受Buff影响) +} +``` + +#### 2.2 属性修饰系统 +支持多种修饰方式: +- **Flat值**: 直接加减数值 +- **百分比加成**: 累加型百分比 +- **百分比倍率**: 乘算型百分比 + +#### 2.3 伤害计算 +```csharp +public float GetDamageValue(AttackValue attackValue) +{ + // 基础伤害 × 攻击者属性加成 × 受伤者属性加成 + // × 最终伤害倍率 +} +``` + +### 3. 战斗系统 (BattleSystem) + +#### 3.1 攻击类型 (AttackType) +```csharp +public enum AttackType +{ + Energy = 1, // 能量伤害 + Kinetics = 2, // 动能伤害 + Explosion = 3, // 爆炸伤害 + Magic = 4, // 魔法伤害 + Pure = 5, // 纯粹伤害 + Blank = 6 // 无类型伤害 +} +``` + +#### 3.2 突破等级 (BreakthroughType) +```csharp +public enum BreakthroughType +{ + None = 0, // 无突破 + Weak = 10, // 弱突破 + Medium = 20, // 中突破 + Heavy = 30, // 强突破 + Disruption = 40, // 打断突破 + Forced = 50, // 强制突破 + Unstoppable = 100 // 不可阻挡 +} +``` + +#### 3.3 攻击区域系统 (AttackArea) +**攻击区域是战斗系统核心组件**,支持: +- **攻击判定**: 基于碰撞体的命中检测 +- **力效果**: 击退、击飞、吸引等 +- **命中反馈**: 打击特效、音效、伤害数字 +- **移动轨迹**: 直线、追踪、弧线等 + +**攻击区域子模块**: +- TransformSubmodule: 位置/旋转/缩放控制 +- AttackSubmodule: 攻击逻辑 +- TimeSubmodule: 时间控制 +- HitSubmodule: 命中判定 +- MoveSubmoduleBase: 移动轨迹 +- RaycastSubmodule: 射线检测 +- ForceSubmodule: 力学效果 +- ReactionSubmodule: 反应触发 + +### 4. Buff系统 (BuffSystem) + +#### 4.1 Buff分类 +```csharp +public enum BuffType +{ + Positive, // 正面Buff + Negative, // 负面Debuff + Neutral // 中性Buff +} +``` + +#### 4.2 驱散等级 (BuffDispelLevel) +```csharp +public enum BuffDispelLevel +{ + Basic = 0, // 弱驱散 + Strong = 10, // 强驱散 + DeathOnly = 20, // 仅死亡驱散 + Undispellable = 100 // 不可驱散 +} +``` + +#### 4.3 内置Buff类型 +- **Freeze**: 冰冻(停止移动和攻击) +- **Burn**: 灼烧(持续伤害) +- **Decay**: 衰败(属性下降) +- **ElectronicDisturbance**: 电子干扰 +- **ElectronicParalysis**: 电子麻痹 +- **Weak**: 虚弱(攻击力下降) +- **GeneralIncapacitation**: 失能 + +### 5. 状态系统 (StatusSystem) + +#### 5.1 负面状态 +```csharp +StatusType.Incapacitation = 0, // 失能(完全丧失行动) +StatusType.Inhibition = 1, // 抑制(禁用技能) +StatusType.Disarm = 2, // 缴械(禁用攻击) +StatusType.Restraint = 3, // 束缚(禁用移动) +StatusType.Disability = 4, // 残废(禁用反应) +StatusType.Stun = 100, // 眩晕 +``` + +#### 5.2 正面状态 +```csharp +StatusType.Invincible = 1000, // 无敌 +StatusType.Invisible = 1001, // 隐身 +``` + +### 6. 物品系统 (ItemSystem) + +#### 6.1 物品基类 (ItemBase) +**核心属性**: +- FuncAnimDataCollection: 功能动画数据 +- AttackData: 攻击数据 +- ComboData: 连击数据 +- FunctionData: 技能数据 +- AmmoData: 弹药数据 +- BlockData: 格挡数据 +- OverloadData: 超载数据 + +**物品子模块**: +- AttributeSubmodule: 被动属性 +- ComboSubmodule: 连击系统 +- FunctionSubmodule: 功能系统 +- AmmoSubmodule: 弹药管理 +- OverloadSubmodule: 超载管理 + +#### 6.2 主武器系统 (MainWeaponBase) +当前已实现武器: +- **Polychrome**: 多彩武器(可变形态) +- **FutureWand**: 未来法杖 + +#### 6.3 武器数据 +```csharp +public class AttackUnit +{ + public string name; + public AnimationClip animationClip; + public AttackData attackData; + public ComboData comboData; + public Dictionary funcAnims; +} +``` + +### 7. AI系统 (Automata) + +#### 7.1 AI架构 +基于**Opsive Behavior Designer**实现行为树: +- **行为树 (BehaviorTree)**: AI决策逻辑 +- **AI子树 (AI Subtrees)**: 可复用的行为模块 +- **自定义Task**: 自定义行为节点 + +#### 7.2 AI动作系统 +```csharp +// 移动动作 +AdvanceRetreat: 前进/后退 +PrecisePursue: 精确追踪 +Standoff: 保持距离 +Strafe: 侧向移动 + +// 攻击动作 +ApplyBuff: 施加Buff +PlayFuncAnim: 播放功能动画 + +// 条件判断 +CheckAttribute: 检查属性 +CheckBuff: 检查Buff状态 +CheckStatus: 检查角色状态 +IsEnoughEnergy: 检查能量 +``` + +#### 7.3 内置敌人类型 +- **HumanoidAndroid**: 人形机器人 +- **LegionCenturion**: 军团百夫长(精英敌人) +- **NexusCrab**: 蟹型机器人 + +### 8. 动画系统 (AnimationSystem) + +#### 8.1 功能动画 (Functional Animation) +**核心概念**: 动画不仅是表现,还承载游戏逻辑 +```csharp +public class FuncAnimData +{ + public AnimInfo animInfo; // 动画基础信息 + public List intervals; // 时间区间定义 + public Dictionary> events; // 事件触发点 +} +``` + +#### 8.2 动画打断系统 +```csharp +public enum DisruptionType +{ + None, // 完全不可打断 + NormalExternal, // 普通外部打断 + NormalAction, // 普通动作打断 + StrongAction, // 强动作打断 + SpecialAction, // 特殊动作打断 + Uninterruptible // 完全不可打断 +} +``` + +#### 8.3 动画分层 +- **FullBody**: 全身动画层 +- **UpperBody**: 上半身动画层(可与移动叠加) + +### 9. 功能动画Payload系统 + +功能动画Payload是触发游戏逻辑的核心机制: + +```csharp +// 可用Payload类型 +SpawnVFX: 生成特效 +PlaySoundFX: 播放音效 +SetStatus: 设置状态 +SetGravity: 设置重力 +SetBreakthroughResistance: 设置抗打断 +ChangeCollisionLayers: 改变碰撞层 +InvokeAnimScFunction: 调用动画控制器函数 +SwitchFuncAnim: 切换功能动画 +``` + +--- + +## UI系统 + +### 1. 玩家Canvas (PlayerCanvas) +包含以下UI区域: +- **PlayerInfoUIArea**: 玩家信息区 + - HealthBar: 生命值条 + - EnergyBar: 能量条 +- **MainWeaponUIArea**: 主武器UI + - FunctionIcon: 技能图标 + - MainWeaponSwitchLine: 武器切换指示 +- **BossInfoUnit**: Boss信息单元 +- **EnemyInfoUnit**: 敌人信息单元 + +### 2. HUD系统 +- **DamageNumber**: 伤害数字(DamageNumbersPro) + - 支持不同攻击类型(Energy/Kinetics/Explosion/Magic) + - 支持暴击/普通显示 + - 支持护盾格挡显示 + +--- + +## 地图系统 (MapSystem) + +### 1. Zone管理 +```csharp +public class ZoneData +{ + public List playerSpawns; // 玩家出生点 + public Dictionary enemySpawns; // 敌人配置 +} +``` + +### 2. 地图管理器 (MapManager) +- **Zone切换**: 异步加载/卸载场景 +- **ScreenFader**: 场景过渡淡入淡出 +- **SpawnPoint**: 出生点管理 + +### 3. 现有场景 +- **Loading.unity**: 加载场景 +- **Menu.unity**: 菜单场景 +- **MainGame.unity**: 主游戏场景 +- **Default/DefaultStreet.unity**: 默认地图 + - ZoneData0, ZoneData1, ZoneData2: 区域数据 + +--- + +## 渲染系统 + +### 1. 渲染管线 +- **URP (Universal Render Pipeline)**: 通用渲染管线 +- **支持平台**: PC (高画质)、Mobile (优化画质) + +### 2. 卡通渲染 +使用**POTA-Toon**实现二次元风格渲染: +- 多光源支持 +- 复杂透明网格渲染(OIT技术) +- 角色局部后处理 + +### 3. 后处理效果 +自定义后处理着色器: +- **AnimeACES**: ACES色调映射 +- **AnimeBloom**: 卡通Bloom +- **AdvancedVignette**: 高级暗角 +- **AdvancedChromaticAberration**: 色差 +- **SpeedLines**: 速度线效果 +- **Sharpen**: 锐化 +- **RGBSplitGlitch**: RGB分离故障效果 +- **RadialBlur**: 径向模糊 +- **StrobeFlash**: 闪光效果 + +### 4. 自定义着色器 +- **DitherLit**: Dither透明着色器 +- **MeshShader**: 网格特效着色器 + - Burn: 燃烧效果 + - Freeze: 冰冻效果 + - Outline: 描边效果 + - Weak: 虚弱效果 + +--- + +## 特效系统 (VFX) + +### 1. VFX资源 +- **HUDTexts**: 伤害数字预设 +- **MeshFXs**: 网格特效 + - Freeze.prefab: 冰冻特效 + - Shocking.prefab: 电击特效 +- **Models**: 模型资源(Slash3.fbx) +- **Textures**: 特效纹理 + - Glow/: 发光纹理 + - Line/: 线条纹理 + - Mask/: 遮罩纹理 + - Noise/: 噪声纹理 + - Particles/: 粒子纹理 + - Ring/: 环形纹理 + - Smoke/: 烟雾纹理 + - Trail/: 轨迹纹理 + - Turbulence/: 湍流纹理 + +### 2. 特效数据 (VFXData) +```csharp +public class VFXData +{ + public Dictionary vfxCollection; +} +``` + +### 3. 武器特效 +敌人攻击特效预设: +- **Hit.prefab**: 命中特效 +- **NormalBlock.prefab**: 普通格挡特效 +- **PerfectBlock.prefab**: 完美格挡特效 +- **NormalSlash.prefab**: 普通斩击 +- **NormalMovingSlash.prefab**: 移动斩击 +- **PowerfulSlash.prefab**: 强力斩击 + +--- + +## 音频系统 + +### 1. 音频中间件 +- **Wwise**: 专业游戏音频引擎 +- **背景音乐管理**: BackgroundMusicManager +- **音效管理**: AudioManager + +### 2. 音频容器 (AudioContainer) +```csharp +public class AudioContainer +{ + public Dictionary soundEventDictionary; +} +``` + +### 3. 音频资源 +- **WwiseGenerated**: Wwise生成的音频代码 +- **AudioPoint.prefab**: 场景音频点 + +--- + +## 工具和插件 + +### 1. Unity官方/社区插件 +| 插件名称 | 用途 | +|---------|------| +| **Sirenix Odin Inspector** | 高级编辑器扩展 | +| **DOTween/Pro** | 动画和过渡 | +| **UniRx** | 响应式编程 | +| **Easy Save 3** | 数据持久化 | +| **I2 Localization** | 国际化支持 | +| **RootMotion FinalIK** | 逆向运动学 | +| **MagicaCloth2** | 布料模拟 | +| **KINEMATION** | 骨骼动画 | +| **DamageNumbersPro** | 伤害数字系统 | +| **Modern UI Pack** | UI组件库 | +| **MMFeedbacks (Feel)** | 反馈系统 | +| **IngameDebugConsole** | 调试控制台 | +| **Lean Pool/Common** | 对象池 | +| **Opsive Behavior Designer** | AI行为树 | +| **Hovl Studio VFX** | 特效资源包 | +| **Arcanor VFX** | 特效资源包 | + +### 2. 自定义工具 +- **Wingman**: 镜头系统 +- **AutoLOD**: LOD自动生成 +- **AtlasSplit**: 图集分割工具 + +--- + +## 输入系统 + +### 1. Input System +使用Unity新InputSystem: +```csharp +// Input/PlayerInputActions.cs +``` + +### 2. 玩家输入控制器 +```csharp +public class PlayerInputSubcontroller +{ + // 处理键盘/手柄输入 + // 输入缓冲系统 + // 输入优先级 +} +``` + +### 3. 预输入系统 (Preinput) +支持**预输入缓冲**,提高响应手感 + +--- + +## 资源配置 + +### 1. 基础集合 (BaseCollections) +```csharp +MainGameBaseCollection: 主游戏资源配置 +MapBaseCollection: 地图配置 +EditorBaseCollection: 编辑器配置 +``` + +### 2. 物品资源 +- **MainWeapons**: 主武器预设 + - FutureWand.prefab + - Polychrome.prefab + +--- + +## 场景管理 + +### 1. 加载流程 +``` +Menu → Loading → MainGame + ↓ + 异步加载场景 + ↓ + 最小加载时间保证 + ↓ + 场景激活 +``` + +### 2. 过渡效果 +- **ScreenFader**: 屏幕淡入淡出 +- **DOTween**: 过渡动画 + +--- + +## 核心设计模式 + +### 1. 单例模式 +```csharp +public class Singleton where T : MonoBehaviour +{ + public static T Instance { get; private set; } +} +``` + +### 2. 子系统模式 +``` +Owner (持有者) +├── Submodule (子模块 - 逻辑/数据) +└── Subcontroller (子控制器 - 表现/交互) +``` + +### 3. 事件驱动 +```csharp +public class EventSubmodule +{ + // 使用UniRx实现响应式事件 + public Subject onDealAttack; +} +``` + +### 4. 对象池 +使用LeanPool进行对象池管理 + +--- + +## 开发状态 + +### ✅ 已完成系统 +1. 基础角色系统 +2. 属性和Buff系统 +3. 战斗/攻击系统 +4. 动画系统 +5. AI行为树框架 +6. 物品系统框架 +7. UI系统框架 +8. 场景管理 +9. 地图系统框架 +10. 基础敌人AI +11. 输入系统 +12. 伤害数字系统 + +### 🚧 待完善系统 +1. 完整武器系统(更多武器类型) +2. 敌人AI行为树(完善所有敌人行为) +3. 关卡生成系统(Roguelike核心) +4. 技能树系统 +5. 成就系统 +6. 存档系统 +7. 多人系统(如果需要) +8. 教程系统 +9. 配置文件系统 + +--- + +## 项目目录结构 + +``` +d:\Projects\Cielonos\ +├── Assets/ +│ ├── Scripts/ # 所有游戏脚本 +│ │ ├── Core/ # 核心系统 +│ │ ├── MainGame/ # 主游戏逻辑 +│ │ ├── Menu/ # 菜单系统 +│ │ └── SLSUtilities/ # 工具库 +│ ├── Prefabs/ # 预制体 +│ │ ├── Core/ # 核心预制体 +│ │ └── MainGame/ # 游戏预制体 +│ ├── Scenes/ # 场景 +│ ├── Resources/ # 资源文件 +│ ├── Settings/ # URP设置 +│ ├── Shaders/ # 自定义着色器 +│ ├── Plugins/ # 第三方插件 +│ └── OtherPlugins/ # 其他插件 +├── docs/ # 文档目录 +└── .agents/ # Agent技能配置 +``` + +--- + +## 关键文件索引 + +### 核心类 +- CharacterBase: `Assets/Scripts/MainGame/Characters/Base/CharacterBase.cs` +- Player: `Assets/Scripts/MainGame/Characters/Player/Player.cs` +- Automata: `Assets/Scripts/MainGame/Characters/Automata/Automata.cs` +- BattleManager: `Assets/Scripts/MainGame/Managers/BattleManager/BattleManager.cs` +- MainGameManager: `Assets/Scripts/MainGame/Managers/MainGameManager.cs` +- MapManager: `Assets/Scripts/MainGame/Map/MapManager.cs` +- BuffBase: `Assets/Scripts/MainGame/Base/BuffSystem/BuffBase.cs` +- AttackAreaBase: `Assets/Scripts/MainGame/AttackArea/AttackAreaBase.cs` +- ItemBase: `Assets/Scripts/MainGame/Characters/Player/Items/Base/ItemBase.cs` + +### 场景文件 +- MainGame.unity: 主游戏场景 +- Default/DefaultStreet.unity: 默认地图 +- Loading.unity: 加载场景 +- Menu.unity: 菜单场景 + +--- + +## 技术栈总结 + +| 类别 | 技术/工具 | +|------|----------| +| 引擎 | Unity 6+ (URP) | +| 渲染 | POTA-Toon卡通渲染 | +| AI | Opsive Behavior Designer | +| 动画 | Mecanim + 自定义功能动画 | +| 音频 | Wwise | +| UI | Modern UI Pack + 自定义 | +| 后处理 | 自定义URP后处理 | +| 物理 | Unity Physics | +| 输入 | InputSystem | +| 特效 | Shuriken + 自定义VFX | +| 动画IK | RootMotion FinalIK | +| 布料 | MagicaCloth2 | +| 响应式 | UniRx | +| 序列化 | Sirenix Odin Inspector | +| 对象池 | LeanPool | +| 缓动 | DOTween | + +--- + +*文档生成日期: 2026-04-17* +*生成者: Game Designer Agent* diff --git a/docs/GameDesign_项目现状与规划_01.md b/docs/GameDesign_项目现状与规划_01.md deleted file mode 100644 index 89db6f03c..000000000 --- a/docs/GameDesign_项目现状与规划_01.md +++ /dev/null @@ -1,35 +0,0 @@ -# 游戏设计文档:项目现状梳理与阶段规划 - -## 1. 核心设计目标 -- **当前阶段定位**:高完成度的 3D 第三人物动作(ARPG)战斗 Demo,展示了优秀的底层技术架构与强烈的即时战斗反馈体验。 -- **下一阶段目标**:将 Demo 进化为一款内容充足、可玩性高且具备商业潜力的“二次元风格 3D Roguelike ARPG”完整游戏。 - -## 2. 现状梳理(核心机制详解) -基于对目前代码库的宏观检查,项目在底层程序架构上已经具有极高的健壮性,主要体现在: -- **高内聚低耦合的角色控制系统**:使用了 `CharacterBase` 为核心,通过 `Subcontroller`(子控制器,如输入、操作、视图、移动)和 `Submodule`(子模块,如属性、事件记录)的架构剥离了各个逻辑。 -- **完善的战斗状态机与动画反馈**:内置了自定义的函数化动画系统(`FuncAnimDataCollection`),能够精准读取帧事件及攻击阶段。支持冲刺(Dash)、闪避(Dodge)、突进、以及多段攻击(包含轻击、重击、特殊技能连段),结合 `BreakthroughType`(架势/击破)实现受击硬直判定。 -- **AI 与怪物生态底座**:使用了专业的行为树插件(Opsive Behavior Designer),支持寻路(NavMeshAgent)与预判玩家位置,具备一定的机制扩展空间。 -- **多维度装备系统雏形**:允许玩家装配“主武器(MainWeapon)”及多件“辅助装备(SupportEquipment)”,为后续 Roguelike 搭配(Build)构建了数据底层。 - -## 3. 面临的设计挑战与方向(从 Demo 到 Game) -*目前战斗爽快感已有保障,后续重点应放在“循环”(Loop)和“内容”(Content)上。* -- **局内构筑与深度系统(Build & Equipment Pool):** - - 分为四种装备维度:**主武器 (Main Weapon)**、**支援装备 (Support Equipment)**、**被动装备 (Passive Equipment)**、**消耗品 (Consumable)**。 - - **切刀流派核心(Switch-Tech)**:玩家持有多把主武器,在特定的战斗时机(如攻击帧判定截断点)切换武器,可触发强力的“换入/换出”特殊效果。 - - **Buff 化学连携**:依靠系统支持的全局 Tag/Buff 机制(例如主武器挂“电击”,辅助浮游炮触发“引爆”),给予玩家充足的创造空间。 -- **高阶敌人动态 AI(Action-AI Sandbox):** - - 不做纯数值堆叠。精锐敌人的 AI 会进行“连招拆招”(如察觉玩家在无脑平A时,立刻开启防反架势或打断释放)。 - - 若玩家判断准确并进行完美应对,同样会获得巨大的伤害收益(高风险高回报的博弈,不让“难”直接变成“恶心”)。 - - **策略多样性**:像 PolyChrome 这样的主武器可以通过积攒 `ElectronicParalysis` 使得敌人瘫痪,这就是基于特定 Build 形成的“打超级护甲”对策。此类特定状态控制应有选择性地存在,而非限制所有玩法的标准教条。 -- **局外循环基建(Hub & Meta-Progression):** - - 核心明确:**单主角机制**。大厅内的其他 NPC 主要负责特定功用的辅助与剧情衍生。由于精力有限,本环节暂缓至“包含剧情时”再行设计。 - - 全力聚焦**局域战斗推演(Room Flow)**。 -- **双轨制局外经济循环(Meta-Progression):** - - **局内打出资源**:“稀有材料”仅作单局商店消耗;而“经费”和“蓝图”则会被带出结算。 - - **常规养成**:通过日常推进或完成任务积累“经费”,用于支付各种常规项目的开销(如基础属性升级强化模块)。 - - **核心解锁**:需要击败特定的精英/Boss 掉落“蓝图”,这是一种稀缺货币,用来进行新的装备或强力节点的不可逆解锁。 - -## 4. 阶段性设计与开发任务拆解 (Milestones) -1. [ ] 确立一套核心的 Roguelike 局内驱动循环(例如:房间机制、随机 Buff 词条设计)。 -2. [ ] 依据当前的战斗特点,锚定怪物的“受击反馈”与“攻防博弈”设计阈值(例如:是否存在弹反、架势条等进阶博弈机制)。 -3. [ ] 设计基础的 UI 体验与局外系统结构,填补由 Demo 转化为游戏的产品包装空缺。 diff --git a/docs/动作游戏3C设计理论.md b/docs/动作游戏3C设计理论.md new file mode 100644 index 000000000..c260ad218 --- /dev/null +++ b/docs/动作游戏3C设计理论.md @@ -0,0 +1,782 @@ +# 动作游戏3C设计理论 + +## 什么是3C? + +3C是动作游戏开发中最核心的概念,指的是: +- **Character(角色)**: 游戏角色的外观、动画和动作 +- **Camera(摄像机)**: 玩家观察和体验游戏世界的视角 +- **Control(操控)**: 玩家输入与角色响应之间的交互 + +这三点直接影响玩家的**手感**、**沉浸感**和**游戏体验**。 + +--- + +## 一、Character(角色)设计原则 + +### 1.1 角色基础属性 + +#### 1.1.1 移动参数 +```csharp +public class CharacterMovementConfig +{ + // 速度参数 + public float walkSpeed = 3.0f; // 行走速度 + public float runSpeed = 7.0f; // 奔跑速度 + public float sprintSpeed = 10.0f; // 冲刺速度 + + // 加减速 + public float acceleration = 10.0f; // 加速率 + public float deceleration = 15.0f; // 减速率 + public float turnSpeed = 10.0f; // 转身速度 + + // 跳跃参数 + public float jumpForce = 8.0f; // 跳跃力度 + public float gravity = 20.0f; // 重力 + public float airControl = 0.3f; // 空中控制力 +} +``` + +#### 1.1.2 动作时间参数 +```csharp +public class CharacterTimingConfig +{ + // 闪避 + public float dodgeDuration = 0.3f; // 闪避持续时间 + public float dodgeInvincibleTime = 0.2f; // 无敌时间 + public float dodgeDistance = 5.0f; // 闪避距离 + + // 格挡 + public float blockDuration = 0.5f; // 格挡持续时间 + public float perfectBlockWindow = 0.1f; // 完美格挡窗口 + public float blockAngle = 90.0f; // 格挡角度 + + // 攻击 + public float lightAttackDuration = 0.2f; // 轻攻击时间 + public float heavyAttackDuration = 0.4f; // 重攻击时间 + public float attackRecoveryTime = 0.3f; // 攻击后摇 +} +``` + +### 1.2 动作动画原则 + +#### 1.2.1 动画分层 +``` +底层(Base Layer): 基础移动(站立、行走、奔跑) + ↓ +中层(Mid Layer): 上半身动作(攻击、格挡、交互) + ↓ +顶层(Top Layer): 特殊动作(受击、特殊技能) +``` + +#### 1.2.2 动画混合原则 +1. **优先级明确**: 攻击 > 防御 > 移动 +2. **过渡平滑**: 使用混合树避免动作跳变 +3. **层级隔离**: 不同层级动画互不干扰 +4. **符合物理**: 动画应该符合人体运动规律 + +--- + +## 二、Camera(摄像机)设计原则 + +### 2.1 第三人称视角参数 + +#### 2.1.1 基础参数 +```csharp +public class ThirdPersonCameraConfig +{ + // 位置参数 + public float distance = 8.0f; // 距离 + public float height = 3.0f; // 高度 + public float horizontalOffset = 0.5f; // 水平偏移 + public float verticalOffset = 1.5f; // 垂直偏移 + + // 角度参数 + public float minPitch = -30.0f; // 最小仰角 + public float maxPitch = 60.0f; // 最大俯角 + public float rotationSpeed = 3.0f; // 旋转速度 + + // FOV + public float normalFOV = 50.0f; // 正常视野 + public float sprintFOV = 60.0f; // 冲刺视野 + public float aimFOV = 35.0f; // 瞄准视野 +} +``` + +#### 2.1.2 视角距离分段 +``` +极近距离(Close Range): 3-5 单位 +├── 适用场景: 潜行、近战 +└── 优点: 强调紧张感 + +标准距离(Normal Range): 6-8 单位 +├── 适用场景: 普通战斗、探索 +└── 优点: 平衡视野和代入感 + +远距离(Far Range): 10-15 单位 +├── 适用场景: 观察环境、远程战斗 +└── 优点: 最大视野 + +战术距离(Tactical Range): 15-25 单位 +├── 适用场景: 战术规划、大战场 +└── 优点: 战略视角 +``` + +### 2.2 摄像机跟随系统 + +#### 2.2.1 位置跟随 +```csharp +public class CameraFollowSettings +{ + // 位置平滑 + public bool usePositionSmoothing = true; + public float positionSmoothSpeed = 5.0f; // 位置平滑速度 + public float positionDeadzone = 0.1f; // 位置死区 + + // 碰撞 + public bool enableCollision = true; + public float collisionRadius = 0.3f; // 碰撞半径 + public LayerMask collisionLayers; // 碰撞层 + + // 躲避 + public bool enableDodge = true; + public float dodgeSpeed = 10.0f; // 躲避速度 + public float returnSpeed = 3.0f; // 返回速度 +} +``` + +#### 2.2.2 旋转跟随 +```csharp +public class CameraRotationSettings +{ + // 旋转平滑 + public bool useRotationSmoothing = true; + public float rotationSmoothSpeed = 8.0f; // 旋转平滑速度 + + // 角度限制 + public bool limitVerticalAngle = true; + public float minPitch = -30.0f; // 最小俯仰角 + public float maxPitch = 60.0f; // 最大俯仰角 + + // 自动校准 + public bool enableAutoRecenter = true; + public float recenterDelay = 1.5f; // 校准延迟 + public float recenterSpeed = 5.0f; // 校准速度 +} +``` + +### 2.3 摄像机震动系统 + +#### 2.3.1 震动类型 +``` +┌─────────────────────────────────────────────────────┐ +│ 震动类型矩阵 │ +├──────────────┬──────────────┬──────────────────────┤ +│ 类型 │ 频率 │ 用途 │ +├──────────────┼──────────────┼──────────────────────┤ +│ 手持震动 │ 高频(10-30Hz)│ 武器后坐力、脚步 │ +│ 冲击震动 │ 中频(5-15Hz) │ 爆炸、撞击 │ +│ 慢速震动 │ 低频(1-5Hz) │ 大规模爆炸、地震 │ +│ 震动偏移 │ 极低频(<1Hz) │ 角色移动视角晃动 │ +└──────────────┴──────────────┴──────────────────────┘ +``` + +#### 2.3.2 震动参数配置 +```csharp +public class CameraShakeConfig +{ + // 基础震动 + public float shakeDuration = 0.2f; // 震动持续时间 + public float shakeIntensity = 1.0f; // 震动强度 + + // 旋转震动 + public Vector3 rotationShake = new Vector3(1f, 1f, 0.5f); + + // 位移震动 + public Vector3 positionShake = new Vector3(0.5f, 0.3f, 0.2f); + + // 衰减曲线 + public AnimationCurve shakeCurve; +} + +// 震动预设 +public class CameraShakePresets +{ + public static CameraShakeConfig LightHit => new CameraShakeConfig + { + shakeDuration = 0.1f, + shakeIntensity = 0.3f, + rotationShake = new Vector3(2f, 1f, 0.5f) + }; + + public static CameraShakeConfig HeavyHit => new CameraShakeConfig + { + shakeDuration = 0.3f, + shakeIntensity = 1.0f, + rotationShake = new Vector3(5f, 3f, 2f) + }; + + public static CameraShakeConfig Explosion => new CameraShakeConfig + { + shakeDuration = 0.5f, + shakeIntensity = 2.0f, + rotationShake = new Vector3(8f, 5f, 3f) + }; +} +``` + +### 2.4 特殊视角模式 + +#### 2.4.1 锁定目标视角 +``` +锁定目标相机 (Lock-On Camera) +├── 特点: 主角朝向敌人,相机跟随敌人 +├── 优点: 便于观察敌人动作 +├── 适用: 近战动作游戏、Boss战 +└── 实现: + ├── 相机看向目标 + ├── 主角自动转向目标 + └── 保留闪避时的相机跟随 +``` + +#### 2.4.2 自由视角 +``` +自由视角相机 (Free Look Camera) +├── 特点: 相机独立于主角方向 +├── 优点: 灵活观察周围环境 +├── 适用: 探索、潜行、观察 +└── 实现: + ├── 相机与主角方向分离 + ├── 支持360度旋转 + └── 主角朝向跟随移动方向 +``` + +#### 2.4.3 电影视角 +``` +电影相机 (Cinematic Camera) +├── 特点: 预设相机路径,自动播放 +├── 优点: 增强演出效果 +├── 适用: 过场动画、Boss登场、技能特写 +└── 实现: + ├── 路径关键帧 + ├── 焦点跟随 + └── 景深变化 +``` + +### 2.5 摄像机FOV系统 + +#### 2.5.1 FOV动态调整 +```csharp +public class FOVSettings +{ + // 基础FOV + public float baseFOV = 50.0f; + + // 速度感FOV + public float sprintFOV = 60.0f; + public float sprintFOVSpeed = 8.0f; + + // 瞄准FOV + public float aimFOV = 35.0f; + public float aimFOVSpeed = 10.0f; + + // 特殊技能FOV + public float ultimateFOV = 70.0f; + public float ultimateFOVSpeed = 5.0f; +} +``` + +#### 2.5.2 FOV调整时机 +``` +时机 FOV变化 速度 +─────────────────────────────────────────── +正常移动 50° - +奔跑加速 50° → 60° 快速(0.3s) +全力冲刺 60° → 70° 中速(0.5s) +瞄准 50° → 35° 快速(0.2s) +释放大招 50° → 70° 慢速(0.8s) +受到重伤 轻微震动 即时 +``` + +### 2.6 遮挡处理系统 + +#### 2.6.1 遮挡类型 +``` +1. 透明化处理 (Fade) + └── 遮挡物渐变透明,保持视野 + +2. 相机躲避 (Dodge) + └── 相机自动移动到安全位置 + +3. 快速推近 (Push In) + └── 相机快速推向角色,减少遮挡 + +4. 目标穿透 (Through) + └── 相机看向目标时穿透遮挡物 +``` + +#### 2.6.2 透明化参数 +```csharp +public class OcclusionFadeConfig +{ + // 触发条件 + public float fadeStartDistance = 1.0f; // 开始距离 + public float fadeEndDistance = 3.0f; // 结束距离 + + // 透明效果 + public float fadeTargetAlpha = 0.3f; // 目标透明度 + public float fadeSpeed = 8.0f; // 淡出速度 + public float recoveryDelay = 0.2f; // 恢复延迟 + public float recoverySpeed = 3.0f; // 恢复速度 + + // 检测射线 + public int rayCount = 5; // 射线数量 + public float rayRadius = 0.2f; // 球形检测半径 +} +``` + +--- + +## 三、Control(操控)设计原则 + +### 3.1 输入设计 + +#### 3.1.1 输入映射 +```csharp +public class InputMapping +{ + // 移动 + public InputAction moveAction; // WASD/摇杆移动 + + // 视角 + public InputAction lookAction; // 鼠标/右摇杆视角 + + // 动作 + public InputAction jumpAction; // 跳跃 (Space) + public InputAction sprintAction; // 冲刺 (Shift) + public InputAction dodgeAction; // 闪避 (Ctrl/V) + + // 战斗 + public InputAction attackAction; // 攻击 (LMB/Trigger) + public InputAction heavyAttackAction; // 重攻击 (RMB/R2) + public InputAction blockAction; // 格挡 (Hold RMB/R2) + + // 武器 + public InputAction weaponSwitchAction; // 武器切换 (Q/E) + public InputAction skillAction1; // 技能1 (1) + public InputAction skillAction2; // 技能2 (2) + + // 系统 + public InputAction pauseAction; // 暂停 (Esc) + public InputAction lockOnAction; // 锁定 (Tab) +} +``` + +#### 3.1.2 输入响应时间 +``` +输入 → 响应 时间表 +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +移动 0-16ms 即时响应 +视角旋转 0-16ms 即时响应 +跳跃 16-33ms 1帧延迟 +闪避 33-50ms 2-3帧延迟 +攻击 33-66ms 2-4帧延迟 +格挡 33-50ms 2-3帧延迟 +技能 50-100ms 3-6帧延迟 +``` + +### 3.2 输入缓冲系统 + +#### 3.2.1 缓冲机制 +```csharp +public class InputBufferConfig +{ + // 缓冲时间 + public float attackBufferTime = 0.15f; // 攻击缓冲时间 + public float dodgeBufferTime = 0.2f; // 闪避缓冲时间 + public float jumpBufferTime = 0.1f; // 跳跃缓冲时间 + + // 优先级 + public bool enablePriority = true; + public InputPriority priorityOrder = InputPriority.Dodge > InputPriority.Jump > InputPriority.Attack; +} + +public enum InputPriority +{ + Dodge, // 最高优先级 + Jump, + Attack, + Block, + Move // 最低优先级 +} +``` + +#### 3.2.2 缓冲执行逻辑 +``` +玩家输入 → 存入缓冲区 → 按优先级执行 + ↓ +当前动作可被打断? + ↓ 是 +检测缓冲输入 → 匹配成功 → 执行缓冲动作 + ↓ 否 +继续当前动作 → 动作结束 → 清空缓冲区 +``` + +### 3.3 预输入系统 + +#### 3.3.1 预输入原理 +```csharp +public class PreinputConfig +{ + // 预输入窗口 + public float preinputWindow = 0.1f; // 动作结束前多久可以输入 + + // 预输入验证 + public bool requireDirectionMatch = true; // 是否要求方向匹配 + public float directionThreshold = 0.8f; // 方向相似度阈值 +} +``` + +#### 3.3.2 预输入示例 +``` +场景: 玩家刚结束一个攻击动作 + +时机1: 攻击结束前 0.1s 按下闪避 +结果: 立即执行闪避,无缝衔接 + +时机2: 攻击结束前 0.2s 按下闪避 +结果: 忽略(超出预输入窗口) + +时机3: 攻击结束后 0.1s 按下闪避 +结果: 正常执行闪避(普通输入) +``` + +### 3.4 输入辅助系统 + +#### 3.4.1 方向修正 +```csharp +public class InputAssistConfig +{ + // 自动锁定 + public bool enableAutoLock = false; + public float autoLockAngle = 30.0f; // 自动锁定角度 + public float autoLockRange = 5.0f; // 自动锁定距离 + + // 方向吸附 + public bool enableDirectionSnapping = true; + public float snapAngle = 45.0f; // 吸附角度 + public float snapDeadzone = 0.5f; // 吸附死区 + + // 目标吸附 + public bool enableTargetSnapping = true; + public float targetSnapAngle = 60.0f; // 目标吸附角度 +} +``` + +#### 3.4.2 友好度设置 +``` +辅助等级 自动锁定 方向吸附 目标吸附 瞄准辅助 +──────────────────────────────────────────────────────── +新手 ✓ ✓ ✓ ✓ +普通 ✓ ✓ ✗ ✓ +老手 ✗ ✗ ✗ ✗ +硬核 ✗ ✗ ✗ ✗ +``` + +--- + +## 四、3C协调设计 + +### 4.1 移动与相机协调 + +#### 4.1.1 移动时相机行为 +``` +移动类型 相机行为 +───────────────────────────────────────── +静止站立 缓慢恢复居中 +缓慢行走 平滑跟随 +正常奔跑 快速跟随 + FOV增加 +冲刺 快速跟随 + 大FOV + 震动 +闪避/后撤 特殊跟随路径 +跳跃 垂直跟随 + 轻微下压 +``` + +#### 4.1.2 相机过渡时机 +```csharp +public class CameraTransitionSettings +{ + // 移动类型切换 + public float walkToRunThreshold = 5.0f; // 行走→奔跑阈值 + public float runToSprintThreshold = 8.0f; // 奔跑→冲刺阈值 + + // FOV过渡 + public float fovTransitionSpeed = 5.0f; // FOV变化速度 + + // 距离过渡 + public float distanceTransitionSpeed = 3.0f; // 距离变化速度 + + // 角色旋转过渡 + public float characterRotationDelay = 0.1f; // 角色旋转延迟 +} +``` + +### 4.2 战斗与相机协调 + +#### 4.2.1 攻击时相机行为 +``` +攻击类型 相机行为 +─────────────────────────────────────── +轻攻击 轻微震动 + 快速恢复 +重攻击 中度震动 + 视角跟随武器 +技能释放 大震动 + 可能有特写 +完美格挡/闪避 轻微震动 + 焦点锁定 +受击 强烈震动 + 屏幕变红 +``` + +#### 4.2.2 锁定系统行为 +```csharp +public class LockOnSettings +{ + // 锁定范围 + public float maxLockOnDistance = 50.0f; // 最大锁定距离 + public float lockOnAngle = 180.0f; // 锁定角度 + + // 切换 + public bool enableTargetSwitch = true; + public float switchCooldown = 0.3f; // 切换冷却 + public InputAction switchTargetAction; // 切换目标输入 + + // 脱离 + public float autoUnlockDistance = 60.0f; // 自动解锁距离 + public float unlockIfBehindTime = 2.0f; // 目标在背后多久解锁 +} +``` + +### 4.3 特殊状态协调 + +#### 4.3.1 剧情/过场状态 +```csharp +public class CinematicSettings +{ + // 进入/退出 + public float fadeInDuration = 0.5f; // 淡入时长 + public float fadeOutDuration = 0.5f; // 淡出时长 + + // 相机控制 + public bool disablePlayerCamera = true; // 禁用玩家控制相机 + public bool lockPlayerMovement = true; // 锁定玩家移动 + + // UI + public bool hideHUD = true; // 隐藏HUD + public bool showDialogue = false; // 显示对话 +} +``` + +#### 4.3.2 死亡/复活状态 +```csharp +public class DeathCameraSettings +{ + // 死亡相机 + public float deathCameraHeight = 2.0f; // 相机高度 + public float deathCameraDistance = 5.0f; // 相机距离 + public float deathCameraDuration = 2.0f; // 死亡相机持续时间 + + // 复活相机 + public float respawnCameraSpeed = 3.0f; // 复活相机速度 + public TransitionCurve respawnCurve; // 复活过渡曲线 +} +``` + +--- + +## 五、调试工具 + +### 5.1 运行时调试显示 +```csharp +public class CameraDebugInfo : MonoBehaviour +{ + public bool showDebugInfo = true; + + void OnGUI() + { + if (!showDebugInfo) return; + + GUILayout.BeginArea(new Rect(10, 10, 400, 300)); + GUILayout.Label($"Camera Distance: {currentDistance}"); + GUILayout.Label($"Camera Pitch: {currentPitch}"); + GUILayout.Label($"Camera Yaw: {currentYaw}"); + GUILayout.Label($"Current FOV: {currentFOV}"); + GUILayout.Label($"Camera State: {cameraState}"); + GUILayout.Label($"Is Locking: {isLocking}"); + GUILayout.EndArea(); + } +} +``` + +### 5.2 编辑器调试工具 +```csharp +#if UNITY_EDITOR +[CustomEditor(typeof(ThirdPersonCameraController))] +public class CameraControllerEditor : Editor +{ + void OnSceneGUI() + { + var controller = target as ThirdPersonCameraController; + + // 绘制相机锥体 + Handles.color = Color.cyan; + Vector3 camPos = controller.transform.position; + Vector3 forward = controller.transform.forward * controller.distance; + + Handles.DrawLine(camPos, camPos + forward); + Handles.DrawWireDisc(camPos + forward, Vector3.up, controller.fovAtDistance); + } +} +#endif +``` + +### 5.3 录制回放工具 +```csharp +public class CameraRecorder : MonoBehaviour +{ + public List recordedFrames = new List(); + private bool isRecording; + + [Serializable] + public struct CameraFrame + { + public float time; + public Vector3 position; + public Quaternion rotation; + public float fov; + } + + public void StartRecording() + { + recordedFrames.Clear(); + isRecording = true; + } + + public void StopRecording() + { + isRecording = false; + } + + void LateUpdate() + { + if (isRecording) + { + recordedFrames.Add(new CameraFrame + { + time = Time.time, + position = transform.position, + rotation = transform.rotation, + fov = GetComponent().fieldOfView + }); + } + } +} +``` + +--- + +## 六、优化建议 + +### 6.1 性能优化 + +#### 6.1.1 摄像机性能 +``` +优化项 建议 +─────────────────────────────────── +相机更新频率 跟随角色更新(LateUpdate) +震动系统 使用对象池,避免GC +碰撞检测 使用LayerMask减少检测 +FOV计算 缓存计算结果 +距离计算 使用sqrMagnitude代替magnitude +``` + +#### 6.1.2 输入性能 +``` +优化项 建议 +─────────────────────────────────── +输入检测 使用事件而非轮询 +输入缓冲 使用固定大小数组 +预输入验证 简化验证逻辑 +辅助计算 必要时才计算 +``` + +### 6.2 内存优化 +``` +优化项 建议 +─────────────────────────────────── +震动预设 使用Struct而非Class +动画曲线 共享常用曲线 +相机状态 使用Enum而非字符串 +调试信息 运行时可关闭 +``` + +--- + +## 七、参考案例 + +### 7.1 优秀3C设计游戏 +1. **Dark Souls系列** - 精准的锁定系统 +2. **Devil May Cry系列** - 华丽的视角演出 +3. **God of War** - 优秀的过肩视角 +4. **The Witcher 3** - 自然的相机跟随 +5. **Ghost of Tsushima** - 电影化的相机语言 + +### 7.2 关键学习点 +``` +游戏 学习点 +───────────────────────────────────────── +Dark Souls 锁定系统、精准反馈 +Devil May Cry 视角演出、特写镜头 +God of War 过肩视角、战斗相机 +Witcher 3 探索相机、自然跟随 +Ghost of Tsushima 电影语言、视觉叙事 +Bayonetta 闪避特写、Witch Time +``` + +--- + +## 八、总结 + +### 8.1 3C设计核心原则 + +1. **一致性**: 所有系统应该协调一致 +2. **响应性**: 玩家输入应该得到即时反馈 +3. **可读性**: 玩家应该能清楚看到游戏状态 +4. **沉浸感**: 相机应该增强而非干扰体验 +5. **辅助性**: 应该提供合理的辅助选项 + +### 8.2 开发检查清单 + +``` +□ 基础移动流畅 +□ 视角旋转平滑 +□ 战斗反馈明确 +□ 锁定系统稳定 +□ 遮挡处理自然 +□ FOV变化合理 +□ 震动效果适度 +□ 调试工具完善 +□ 性能表现良好 +□ 辅助选项完整 +``` + +### 8.3 常见问题 + +``` +问题 解决方案 +───────────────────────────────────────── +相机抖动 增加平滑度,降低跟随速度 +视角穿墙 增加碰撞检测,调整躲避速度 +锁定不稳定 增加目标切换冷却,调整角度阈值 +输入延迟 检查事件调用顺序,优化计算 +FOV变化突兀 使用缓动曲线,增加过渡时间 +``` + +--- + +*文档生成日期: 2026-04-17* +*生成者: Game Designer Agent* diff --git a/docs/小型游戏完善计划.md b/docs/小型游戏完善计划.md new file mode 100644 index 000000000..6cbe29461 --- /dev/null +++ b/docs/小型游戏完善计划.md @@ -0,0 +1,416 @@ +# Cielonos 小型游戏完善计划 + +## 一、目标定位 + +### 游戏定位 +将当前Demo完善为一个**流程精悍、体验完整**的Roguelike动作游戏,包含: +- **核心循环**: 战斗 → 获得奖励 → 升级强化 → 挑战更强的敌人 +- **目标**: 完成3-5个精心设计的关卡,体验完整的游戏流程 +- **时长**: 单次通关约30-45分钟 + +### 核心体验 +1. **爽快的战斗**: 强调动作感和打击反馈 +2. **策略性Build**: 有限的武器/技能选择,但搭配有深度 +3. **成长感**: 每次游玩都有明显的进步 +4. **挑战性**: 难度曲线合理,有成就感 + +--- + +## 二、游戏流程设计 + +### 2.1 章节结构(简化版) + +``` +┌─────────────────────────────────────────┐ +│ 主菜单 │ +│ 开始游戏 / 设置 / 退出 │ +└────────────────┬────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────┐ +│ 区域选择界面 │ +│ [关卡1] [关卡2] [关卡3] [Boss] │ +│ ✓ 完成 ○ 锁定 ○ 锁定 │ +└────────────────┬────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────┐ +│ 战斗场景 │ +│ │ +│ 玩家 ←─────────────────→ 敌人 │ +│ │ +│ [UI: 生命 | 能量 | 武器技能] │ +└────────────────┬────────────────────────┘ + │ + ┌────────┴────────┐ + ▼ ▼ +┌───────────────┐ ┌───────────────┐ +│ 胜利 │ │ 失败 │ +│ 奖励选择 │ │ 重新开始 │ +└───────────────┘ └───────────────┘ +``` + +### 2.2 关卡设计 + +#### 关卡1: 新手教学(可选跳过) +- **目标**: 熟悉基本操作 +- **敌人**: 1-2种基础敌人 +- **奖励**: 无需选择 + +#### 关卡2: 基础战斗 +- **目标**: 学习闪避和格挡 +- **敌人**: 3-4种敌人混合 +- **奖励**: 选择1个被动技能 + +#### 关卡3: 精英挑战 +- **目标**: 考验连招和反应 +- **敌人**: 精英敌人 + 小怪 +- **奖励**: 选择1个武器强化 或 1个被动技能 + +#### Boss关: 机械心脏 +- **目标**: 综合考验所有技巧 +- **敌人**: 1个精心设计的Boss +- **胜利奖励**: 通关结算 + +--- + +## 三、核心系统实现计划 + +### 3.1 第一阶段:完善战斗系统(优先级P0) + +#### 3.1.1 完善玩家操作 +**需要实现**: +- [ ] 基础移动(走、跑、跳跃) +- [ ] 基础攻击(轻攻击、重攻击) +- [ ] 闪避系统(无敌帧) +- [ ] 格挡系统(完美格挡) +- [ ] 武器切换 +- [ ] 输入缓冲优化 + +**当前状态**: 部分实现,需要完善 + +#### 3.1.2 完善打击反馈 +**需要实现**: +- [ ] 击中停顿(Hitstop) +- [ ] 屏幕震动(ScreenShake) +- [ ] 动作延迟(Hitlag) +- [ ] 伤害数字显示优化 +- [ ] 特效触发时机 +- [ ] 音效配合 + +#### 3.1.3 完善格挡系统 +**需要实现**: +- [ ] 普通格挡(减伤) +- [ ] 完美格挡(完美时机,无伤+反击机会) +- [ ] 格挡动画和特效 +- [ ] 格挡消耗(能量) +- [ ] 格挡打断机制 + +### 3.2 第二阶段:完善武器系统(优先级P0) + +#### 3.2.1 完善Polychrome武器 +**需要实现**: +- [ ] 完成所有连招分支 +- [ ] 架势切换机制 +- [ ] 特殊攻击(Air Attack) +- [ ] 武器VFX完整实现 +- [ ] 音效配合 + +#### 3.2.2 开发第二把武器 +**建议**: 设计一把差异化的武器 +- **武器类型**: 双刃 / 法杖 / 拳套 +- **战斗风格**: 速攻型 / 蓄力型 / 召唤型 + +#### 3.2.3 武器成长系统 +**需要实现**: +- [ ] 武器等级提升 +- [ ] 武器技能解锁 +- [ ] 武器强化选项 + +### 3.3 第三阶段:完善敌人AI(优先级P0) + +#### 3.3.1 完善LegionCenturion(百夫长) +**需要实现**: +- [ ] 完整的攻击模式 +- [ ] AI行为树完善 + - [ ] 巡逻状态 + - [ ] 追击状态 + - [ ] 攻击状态 + - [ ] 撤退状态 + - [ ] 特殊攻击触发 +- [ ] 死亡动画和效果 + +#### 3.3.2 开发新敌人 +**需要开发**: +- [ ] **Scout(侦察兵)**: 快速、远程攻击 +- [ ] **Heavy(重装兵)**: 缓慢但强力 +- [ ] **Boss: Nexus Core(核心枢纽)**: 多阶段Boss + +#### 3.3.3 敌人生成系统 +**需要实现**: +- [ ] 波次生成配置 +- [ ] 敌人类型组合 +- [ ] 生成位置控制 +- [ ] 难度缩放 + +### 3.4 第四阶段:完善奖励系统(优先级P1) + +#### 3.4.1 被动技能系统 +**需要实现**: +- [ ] 技能数据库 +- [ ] 技能效果实现 +- [ ] 技能图标和描述 +- [ ] 技能选择UI + +**示例技能**: +``` +1. 生命汲取: 攻击时恢复生命 +2. 铁壁: 格挡减伤+20% +3. 疾风: 移动速度+15% +4. 暴击强化: 暴击伤害+25% +5. 能量涌动: 能量恢复+20% +``` + +#### 3.4.2 奖励选择UI +**需要实现**: +- [ ] 奖励卡牌显示 +- [ ] 鼠标悬停显示详情 +- [ ] 确认选择 +- [ ] 动画过渡 + +### 3.5 第五阶段:完善UI系统(优先级P1) + +#### 3.5.1 HUD界面 +**需要完善**: +- [ ] 生命值条(带动画) +- [ ] 能量条(带动画) +- [ ] 武器技能图标 +- [ ] 状态效果图标 +- [ ] 小型地图(可选) + +#### 3.5.2 暂停菜单 +**需要实现**: +- [ ] 暂停/继续 +- [ ] 重新开始 +- [ ] 返回主菜单 +- [ ] 音效/画质设置 + +#### 3.5.3 主菜单 +**需要实现**: +- [ ] 开始游戏按钮 +- [ ] 设置按钮 +- [ ] 退出按钮 +- [ ] Logo和背景 + +#### 3.5.4 结算界面 +**需要实现**: +- [ ] 通关时间显示 +- [ ] 击杀统计 +- [ ] 获得奖励预览 +- [ ] 再次挑战按钮 + +### 3.6 第六阶段:完善场景和关卡(优先级P1) + +#### 3.6.1 场景设计 +**需要实现**: +- [ ] 场景1: 废弃工厂(教学) +- [ ] 场景2: 城市废墟(基础战斗) +- [ ] 场景3: 研究所(精英挑战) +- [ ] 场景4: Boss战场 + +#### 3.6.2 场景过渡 +**需要实现**: +- [ ] 场景淡入淡出 +- [ ] 玩家传送 +- [ ] 敌人清理 + +#### 3.6.3 环境交互 +**可选实现**: +- [ ] 可破坏物体 +- [ ] 危险区域 +- [ ] 掩体系统 + +--- + +## 四、内容制作清单 + +### 4.1 敌人配置清单 + +| 敌人名称 | 类型 | 难度 | 特殊能力 | 所需资源 | +|---------|------|------|----------|---------| +| Scout | 远程 | 易 | 射击、翻滚 | 动画/模型 | +| LegionCenturion | 近战 | 中 | 格挡、冲锋 | 已有 | +| Heavy | 重装 | 中 | 践踏、投掷 | 动画/模型 | +| Drone | 小型 | 易 | 自爆 | 简化模型 | +| Nexus Core | Boss | 难 | 多阶段 | 新制作 | + +### 4.2 武器配置清单 + +| 武器名称 | 风格 | 攻击方式 | 连招数量 | 状态 | +|---------|------|----------|----------|------| +| Polychrome | 剑士 | 斩击 | 8+ | 部分完成 | +| 双刃 | 速攻 | 连续斩击 | 6 | 待开发 | +| FutureWand | 法术 | 射击 | 4 | 待完善 | + +### 4.3 技能配置清单 + +| 技能名称 | 类型 | 效果 | 稀有度 | +|---------|------|------|--------| +| 生命汲取 | 被动 | 攻击回复5%伤害的生命 | 普通 | +| 铁壁 | 被动 | 格挡减伤+20% | 普通 | +| 疾风腿 | 被动 | 移动速度+15% | 普通 | +| 暴击精通 | 被动 | 暴击伤害+25% | 稀有 | +| 能量涌动 | 被动 | 能量恢复+20% | 普通 | +| 荆棘护甲 | 被动 | 反弹10%伤害 | 稀有 | + +### 4.4 特效清单 + +| 特效类型 | 数量 | 优先级 | +|---------|------|--------| +| 攻击命中 | 4-6 | P0 | +| 格挡 | 2-3 | P0 | +| 闪避 | 2 | P1 | +| Buff/Debuff | 6-8 | P1 | +| 死亡 | 3 | P1 | +| 环境 | 3-5 | P2 | + +--- + +## 五、技术实现优先级 + +### 阶段一:核心体验(1-2周) +1. 完善玩家操作手感 +2. 完善打击反馈 +3. 完善Polychrome武器 +4. 完善1-2个敌人AI + +### 阶段二:完整内容(2-3周) +1. 开发第二把武器 +2. 开发3-5种敌人 +3. 开发Boss战 +4. 开发被动技能系统 + +### 阶段三:游戏体验(1-2周) +1. 开发UI系统 +2. 开发关卡流程 +3. 开发奖励选择 +4. 完善场景 + +### 阶段四:打磨优化(1周) +1. 平衡性调整 +2. Bug修复 +3. 性能优化 +4. 测试反馈 + +--- + +## 六、关键里程碑 + +### M1: 可玩Demo(2周) +**目标**: 完成基础战斗循环 +- ✅ 玩家可以完整操作 +- ✅ 至少1把武器可用 +- ✅ 至少2种敌人 +- ✅ 基本的打击反馈 +- ✅ 简单的UI + +### M2: 核心完成(4周) +**目标**: 完成核心游戏循环 +- ✅ 3个关卡 +- ✅ 4-5种敌人 +- ✅ 2把武器 +- ✅ 被动技能系统 +- ✅ 基本的UI和菜单 + +### M3: Alpha版本(6周) +**目标**: 功能完整的游戏 +- ✅ 完整的游戏流程 +- ✅ Boss战 +- ✅ 奖励系统 +- ✅ 存档系统 +- ✅ 基本音效和音乐 + +### M4: 正式发布(8周) +**目标**: 打磨完成 +- ✅ 所有内容完善 +- ✅ 平衡性调整 +- ✅ 性能优化 +- ✅ Bug修复 +- ✅ 测试完成 + +--- + +## 七、开发建议 + +### 7.1 聚焦核心 +- 先完成**核心战斗体验**,其他都可以后续添加 +- 每次迭代聚焦一个系统,不要同时做太多 + +### 7.2 玩家反馈 +- 尽早让其他人测试 +- 根据反馈调整手感 +- 收集具体的问题和改进建议 + +### 7.3 技术债务 +- 在时间允许的情况下,重构而非凑合 +- 好的架构可以加速后续开发 +- 记录需要改进的地方 + +### 7.4 内容优先级 +1. **必须**: 核心战斗流畅、敌人有挑战性、有成就感 +2. **重要**: UI清晰、有成长系统、Boss战精彩 +3. **可选**: 复杂机制、随机事件、多结局 + +### 7.5 质量控制 +- 每个功能完成后测试 +- 保持代码整洁 +- 及时修复Bug +- 注意性能表现 + +--- + +## 八、风险与应对 + +### 风险1: 范围蔓延 +**问题**: 不断添加新内容,无法完成 +**应对**: +- 严格控制范围 +- 使用优先级矩阵 +- 每个里程碑结束后重新评估 + +### 风险2: 技术难题 +**问题**: 某些系统实现困难 +**应对**: +- 预留时间缓冲 +- 提前研究关键技术 +- 必要时简化方案 + +### 风险3: 玩家反馈不佳 +**问题**: 核心体验不够有趣 +**应对**: +- 尽早测试 +- 关注核心循环 +- 快速迭代 + +--- + +## 九、总结 + +将Demo完善为小型游戏的关键在于: + +1. **明确范围**: 聚焦核心战斗体验,不贪多 +2. **分阶段**: 按优先级逐步实现 +3. **快速迭代**: 根据反馈及时调整 +4. **质量优先**: 核心体验要打磨到位 + +建议的开发顺序: +``` +核心战斗 → 武器系统 → 敌人AI → 技能系统 → UI/菜单 → 关卡流程 → Boss战 → 打磨优化 +``` + +保持每次迭代都有**可玩的产出**,而不是长时间闭门造车后再展示。 + +--- + +*文档生成日期: 2026-04-17* +*生成者: Game Designer Agent* diff --git a/docs/架构改进建议.md b/docs/架构改进建议.md new file mode 100644 index 000000000..d1cb07059 --- /dev/null +++ b/docs/架构改进建议.md @@ -0,0 +1,670 @@ +# Cielonos 项目架构改进建议 + +## 一、整体架构评估 + +### 当前架构优势 +1. **模块化设计**: Submodule/Subcontroller架构将逻辑和表现分离,提供了良好的可扩展性 +2. **组件化思想**: 大量使用字典存储子模块,便于动态增删功能 +3. **事件驱动**: 使用UniRx实现响应式事件系统,解耦了系统间的依赖 +4. **系统完整性**: 战斗、Buff、状态、动画等核心系统已经具备完整的基础架构 + +### 当前架构不足 +1. **职责边界模糊**: 部分类承担了过多职责 +2. **代码组织混乱**: 部分脚本放置位置不合理 +3. **抽象程度不足**: 部分核心逻辑缺少接口抽象 +4. **文档注释缺失**: 代码缺少必要的注释和说明 +5. **配置化程度低**: 硬编码问题较多 + +--- + +## 二、具体改进建议 + +### 1. 核心架构层 + +#### 1.1 建立核心接口层 +**问题**: 当前系统之间直接依赖具体实现,缺乏抽象层 + +**建议**: +``` +Core/Interfaces/ +├── ICharacter.cs # 角色接口 +├── IAttackable.cs # 可攻击对象接口 +├── IBuffable.cs # 可附魔Buff对象接口 +├── IItem.cs # 物品接口 +├── IWeapon.cs # 武器接口 +├── IDamageable.cs # 可受伤害对象接口 +└── ITeamMember.cs # 阵营成员接口 +``` + +**示例代码**: +```csharp +public interface ICharacter +{ + Fraction Team { get; } + bool IsDead { get; } + float Health { get; } + float MaxHealth { get; } + + void TakeDamage(DamageInfo damageInfo); + void ApplyBuff(IBuff buff); + void Heal(float amount); +} + +public interface IDamageSource +{ + DamageInfo CreateDamage(); + AttackType DamageType { get; } + float DamageValue { get; } +} +``` + +#### 1.2 引入服务定位器模式 +**问题**: Manager类直接持有引用,系统间耦合度高 + +**建议**: +```csharp +public static class GameServices +{ + private static readonly Dictionary services = new Dictionary(); + + public static void Register(T service) where T : class + { + services[typeof(T)] = service; + } + + public static T Get() where T : class + { + if (services.TryGetValue(typeof(T), out var service)) + { + return service as T; + } + + Debug.LogError($"Service {typeof(T)} not found!"); + return null; + } + + public static void Clear() + { + services.Clear(); + } +} + +// 使用示例 +public class BattleManager : MonoBehaviour +{ + public void Initialize() + { + GameServices.Register(this); + GameServices.Register(new CharacterService()); + GameServices.Register(new BuffService()); + } +} + +// 在其他类中使用 +var battleService = GameServices.Get(); +``` + +#### 1.3 建立消息总线系统 +**问题**: 当前事件系统分散在各个类中,难以追踪和调试 + +**建议**: +```csharp +public enum GameEvent +{ + // 角色事件 + CharacterDied, + CharacterSpawned, + CharacterRevived, + + // 战斗事件 + DamageDealt, + DamageTaken, + AttackBlocked, + AttackDodged, + CriticalHit, + + // 物品事件 + ItemAcquired, + ItemUsed, + ItemDiscarded, + WeaponSwitched, + + // Buff事件 + BuffApplied, + BuffRemoved, + BuffExpired, + + // 游戏状态事件 + WaveStarted, + WaveCleared, + BossAppeared, + BossDefeated, + + // 系统事件 + GamePaused, + GameResumed, + CheckpointReached +} + +public class GameEventBus +{ + private static readonly Dictionary> + eventHandlers = new Dictionary>(); + + public static void Subscribe(GameEvent eventType, Action handler) + { + if (!eventHandlers.ContainsKey(eventType)) + { + eventHandlers[eventType] = handler; + } + else + { + eventHandlers[eventType] += handler; + } + } + + public static void Unsubscribe(GameEvent eventType, Action handler) + { + if (eventHandlers.ContainsKey(eventType)) + { + eventHandlers[eventType] -= handler; + } + } + + public static void Publish(GameEvent eventType, GameEventArgs args = null) + { + if (eventHandlers.TryGetValue(eventType, out var handler)) + { + handler?.Invoke(args); + } + } +} + +public class GameEventArgs +{ + public object Sender { get; set; } + public Dictionary Data { get; set; } = new Dictionary(); +} +``` + +### 2. 角色系统改进 + +#### 2.1 拆分CharacterBase +**问题**: CharacterBase类过于庞大,承担了太多职责 + +**建议**: 将其拆分为多个专门类 +```csharp +// 核心角色数据 +public class CharacterData : ScriptableObject +{ + public string characterId; + public string characterName; + public Fraction defaultFaction; + public AttributeData baseAttributes; + public VFXData vfxData; + public AudioContainer audioData; + public List availableBuffs; +} + +// 角色配置器 +public class CharacterBuilder +{ + private CharacterData data; + private List components = new List(); + + public CharacterBuilder SetData(CharacterData data) { ... } + public CharacterBuilder AddComponent() where T : ICharacterComponent { ... } + public ICharacter Build() { ... } +} + +// 组件接口 +public interface ICharacterComponent +{ + void Initialize(ICharacter character); + void Update(float deltaTime); + void Cleanup(); +} +``` + +#### 2.2 改进属性系统 +**问题**: 当前属性使用字符串字典,缺少类型安全和IDE支持 + +**建议**: +```csharp +// 属性ID枚举 +public enum AttributeId +{ + // 基础属性 + MaxHealth, + CurrentHealth, + MaxEnergy, + CurrentEnergy, + MovementSpeed, + AttackSpeed, + + // 战斗属性 + PhysicalAttack, + PhysicalDefense, + EnergyAttack, + EnergyDefense, + CriticalRate, + CriticalDamage, + + // 抗性 + FireResistance, + IceResistance, + LightningResistance, + + // 特殊属性 + LifeSteal, + CooldownReduction, +} + +// 属性修饰器 +public interface IAttributeModifier +{ + int Priority { get; } + AttributeId TargetAttribute { get; } + float Modify(float originalValue); +} + +// 属性计算器 +public class AttributeCalculator +{ + private List modifiers = new List(); + + public float Calculate(AttributeId attributeId, float baseValue) + { + var applicableModifiers = modifiers + .Where(m => m.TargetAttribute == attributeId) + .OrderBy(m => m.Priority); + + float result = baseValue; + foreach (var modifier in applicableModifiers) + { + result = modifier.Modify(result); + } + return result; + } +} +``` + +### 3. 战斗系统改进 + +#### 3.1 建立战斗配置系统 +**问题**: 战斗参数硬编码,难以平衡调整 + +**建议**: +```csharp +[CreateAssetMenu(fileName = "BattleConfig", menuName = "Cielonos/Config/BattleConfig")] +public class BattleConfig : ScriptableObject +{ + [Header("Damage Calculation")] + public float baseCriticalMultiplier = 1.5f; + public float maxCriticalMultiplier = 3.0f; + public float levelDamageBonus = 0.1f; + + [Header("Breakthrough Thresholds")] + public float weakBreakthroughThreshold = 0.5f; + public float mediumBreakthroughThreshold = 0.75f; + public float heavyBreakthroughThreshold = 1.0f; + + [Header("Hit Detection")] + public float hitstopDuration = 0.05f; + public float screenShakeIntensity = 0.1f; + + [Header("Damage Numbers")] + public float damageNumberScale = 1.0f; + public float criticalScale = 1.5f; + public float damageNumberLifetime = 1.0f; +} + +public class BattleConfigProvider +{ + public static BattleConfig Config => + Resources.Load("Config/BattleConfig"); +} +``` + +#### 3.2 改进攻击判定系统 +**问题**: AttackArea承担了过多职责 + +**建议**: +```csharp +// 攻击配置 +[CreateAssetMenu(fileName = "AttackConfig", menuName = "Cielonos/Attack/AttackConfig")] +public class AttackConfig : ScriptableObject +{ + public LayerMask targetLayers; + public float hitboxActiveDuration; + public Vector3 hitboxSize; + public Vector3 hitboxOffset; + public bool useRaycast; + public float raycastDistance; +} + +// 命中结果 +public struct HitResult +{ + public ICharacter Target; + public Vector3 HitPoint; + public Vector3 HitNormal; + public bool IsCritical; + public float FinalDamage; + public DamageType DamageType; +} + +// 命中事件 +public class HitEventArgs : GameEventArgs +{ + public HitResult HitResult { get; set; } + public ICharacter Attacker { get; set; } +} +``` + +### 4. 物品系统改进 + +#### 4.1 建立物品数据库 +**问题**: 物品管理分散在各处 + +**建议**: +```csharp +[CreateAssetMenu(fileName = "ItemDatabase", menuName = "Cielonos/Items/Database")] +public class ItemDatabase : ScriptableObject +{ + [SerializeField] private List weapons = new List(); + [SerializeField] private List armors = new List(); + [SerializeField] private List consumables = new List>(); + + public WeaponData GetWeapon(string id) => weapons.FirstOrDefault(w => w.Id == id); + public T GetItem(string id) where T : ItemData + { + var field = typeof(ItemDatabase).GetField(typeof(T).Name.ToLower() + "s", + BindingFlags.NonPublic | BindingFlags.Instance); + var list = field?.GetValue(this) as IEnumerable; + return list?.FirstOrDefault(i => i.Id == id) as T; + } +} + +// 物品生成器 +public static class ItemFactory +{ + public static IItem Create(ItemData data, int level = 1) + { + return data switch + { + WeaponData weaponData => CreateWeapon(weaponData, level), + ArmorData armorData => CreateArmor(armorData, level), + ConsumableData consumableData => CreateConsumable(consumableData), + _ => throw new ArgumentException($"Unknown item type: {data.GetType()}") + }; + } + + private static Weapon CreateWeapon(WeaponData data, int level) + { + var weapon = new Weapon(); + weapon.Initialize(data, level); + return weapon; + } +} +``` + +### 5. AI系统改进 + +#### 5.1 建立AI配置系统 +**问题**: AI行为硬编码,缺乏配置化 + +**建议**: +```csharp +[CreateAssetMenu(fileName = "AIConfig", menuName = "Cielonos/AI/AIConfig")] +public class AIConfig : ScriptableObject +{ + [Header("Detection")] + public float detectionRange = 10f; + public float attackRange = 2f; + public float loseInterestRange = 20f; + + [Header("Movement")] + public float preferredDistance = 5f; + public float strafeSpeed = 2f; + + [Header("Decision Making")] + public float decisionInterval = 0.5f; + public float healthThresholdForRetreat = 0.3f; + public float energyThresholdForSpecial = 0.7f; + + [Header("Behavior Weights")] + public float attackWeight = 1.0f; + public float defendWeight = 0.5f; + public float retreatWeight = 0.3f; + public float supportWeight = 0.4f; +} + +[Serializable] +public class BehaviorState +{ + public string stateName; + public BehaviorTree tree; + public List transitions = new List(); + public float enterDelay; +} + +[Serializable] +public class Transition +{ + public string targetState; + public List conditions = new List(); +} + +[Serializable] +public abstract class Condition +{ + public abstract bool Evaluate(IAIController controller); +} +``` + +### 6. 数据持久化改进 + +#### 6.1 建立游戏存档系统 +**问题**: 缺乏统一的存档管理 + +**建议**: +```csharp +[System.Serializable] +public class GameSaveData +{ + public string saveId; + public DateTime saveTime; + public int playerLevel; + public Vector3 playerPosition; + public List inventory; + public List unlockedAbilities; + public int currentZoneIndex; + public int currentScore; + public List achievements; +} + +public interface ISaveSystem +{ + void Save(GameSaveData data); + GameSaveData Load(string saveId); + List GetAllSaves(); + void DeleteSave(string saveId); +} + +public class EasySaveAdapter : ISaveSystem +{ + public void Save(GameSaveData data) + { + ES3.Save("save_" + data.saveId, data); + } + + public GameSaveData Load(string saveId) + { + return ES3.Load("save_" + saveId); + } + + public List GetAllSaves() + { + // 实现保存文件列表获取 + } + + public void DeleteSave(string saveId) + { + ES3.DeleteKey("save_" + saveId); + } +} +``` + +### 7. UI系统改进 + +#### 7.1 建立UI框架 +**问题**: UI组件耦合度高,难以复用 + +**建议**: +```csharp +public abstract class UIScreen : MonoBehaviour +{ + protected bool isVisible; + + public virtual void Show() + { + gameObject.SetActive(true); + OnShow(); + isVisible = true; + } + + public virtual void Hide() + { + OnHide(); + gameObject.SetActive(false); + isVisible = false; + } + + protected abstract void OnShow(); + protected abstract void OnHide(); +} + +public class UIManager +{ + private Stack screenStack = new Stack(); + + public void ShowScreen() where T : UIScreen + { + var screen = GetScreen(); + if (screen != null) + { + screen.Show(); + screenStack.Push(screen); + } + } + + public void CloseCurrentScreen() + { + if (screenStack.Count > 0) + { + var screen = screenStack.Pop(); + screen.Hide(); + } + } +} +``` + +### 8. 代码规范与工具 + +#### 8.1 增加代码注释 +**建议**: 在关键类和方法添加XML文档注释 +```csharp +/// +/// 伤害信息结构体,包含所有与伤害计算相关的参数 +/// +public struct DamageInfo +{ + /// + /// 伤害来源 + /// + public IDamageSource Source; + + /// + /// 伤害值基数 + /// + public float BaseDamage; + + /// + /// 伤害类型 + /// + public DamageType Type; +} +``` + +#### 8.2 建立自定义编辑器工具 +**建议**: 为复杂系统创建编辑器窗口 +```csharp +#if UNITY_EDITOR +public class CharacterEditorWindow : EditorWindow +{ + [MenuItem("Cielonos/Character Editor")] + public static void OpenWindow() + { + GetWindow("Character Editor"); + } + + private void OnGUI() + { + // 创建角色编辑器UI + } +} + +public class BuffEditorWindow : EditorWindow +{ + [MenuItem("Cielonos/Buff Editor")] + public static void OpenWindow() + { + GetWindow("Buff Editor"); + } +} +#endif +``` + +--- + +## 三、改进优先级 + +### P0 - 必须改进(阻塞性问题) +1. 建立核心接口层 +2. 改进属性系统类型安全 +3. 建立消息总线 + +### P1 - 重要改进(核心功能) +1. 拆分CharacterBase +2. 建立战斗配置系统 +3. 建立物品数据库 +4. 建立AI配置系统 + +### P2 - 优化改进(提升开发效率) +1. 建立存档系统 +2. 建立UI框架 +3. 增加代码注释 +4. 创建编辑器工具 + +### P3 - 长期改进(架构优化) +1. 服务定位器模式 +2. 组件化重构 +3. 配置化完善 + +--- + +## 四、总结 + +当前项目在架构上已经奠定了良好的基础,核心系统基本完备。要构建完善的Roguelike ARPG框架,重点需要: + +1. **抽象接口层**: 建立清晰的接口边界,提高系统可测试性和可替换性 +2. **配置驱动**: 将硬编码转为配置化,提高设计迭代效率 +3. **数据管理**: 建立统一的数据管理系统,包括物品、敌人、AI等 +4. **代码规范**: 增加注释和文档,提高代码可维护性 +5. **工具支持**: 开发自定义编辑器工具,提高开发效率 + +--- + +*文档生成日期: 2026-04-17* +*生成者: Game Designer Agent* diff --git a/docs/绝区零鸣潮闪避系统对比分析.md b/docs/绝区零鸣潮闪避系统对比分析.md new file mode 100644 index 000000000..b9968fe0c --- /dev/null +++ b/docs/绝区零鸣潮闪避系统对比分析.md @@ -0,0 +1,420 @@ +# 《绝区零》与《鸣潮》闪避系统视觉特效对比分析 + +## 一、核心机制对比 + +### 1.1 《绝区零》极限闪避系统 + +#### 触发条件 +- 敌人攻击出现**黄光或红光**前摇提示(闪光攻击) +- 在攻击即将命中的瞬间按下闪避键 +- 按方向键+闪避键可向移动方向冲刺 + +#### 核心机制 +1. **极限闪避(极限视域)** + - 触发后进入**短暂的慢动作模式**(子弹时间) + - 整个战场进入时间减缓 + - 持续时间短暂但提供宝贵反应时间 + +2. **闪避反击** + - 极限闪避成功后,可立即按下普攻键 + - 发动带有"重击"效果的反击 + - 造成伤害和失衡值 + +3. **无敌帧** + - 闪避期间完全无敌 + - 极限闪避同样具有无敌效果 + +#### 视觉特效特征 +- **蓝色光影效果**:触发极限闪避时的核心视觉反馈 +- **时间减缓**:整个战场进入慢动作 +- **角色特殊光效**:蓝色光效包围角色 +- **屏幕效果**:极限视域带来的视觉变化 + +#### 设计理念 +> "闪避+子弹时间"的设计巧妙地通过画面运镜速度让玩家在视觉上获得即时爽感 +> — 《绝区零》开发访谈 + +--- + +### 1.2 《鸣潮》完美闪避系统 + +#### 触发条件 +- 敌人攻击时,在**攻击判定范围边缘**进行闪避 +- 敌人出现**黄色光圈提示**时可触发 +- 普通闪避约20帧,完美闪避约60帧(不同角色时长不同) + +#### 核心机制 +1. **完美闪避** + - 触发**子弹时间**效果 + - 敌人攻击判定范围比视觉范围大,可"蹭闪" + - 闪避无敌帧较长,不易被击中 + +2. **逆势回击** + - 完美闪避后点击攻击键触发 + - 伤害倍率较高 + - 实战中建议多运用 + +3. **弹刀机制(类似完美格挡)** + - 敌人出现黄色光圈时精准命中攻击 + - 完美格挡攻击 + - 打断敌人招式、大幅削减韧性 + +#### 视觉特效特征 +- **子弹时间效果**:完美闪避触发时时间减缓 +- **反击特效**:逆势回击时的视觉冲击 +- **流畅连招**:完美闪避后接反击的丝滑感 + +#### 设计理念 +> "完美闪避+逆势回击"机制,在敌人攻击瞬间闪避触发子弹时间,然后接一套反击,那个音效和画面反馈爽到头皮发麻 +> — 玩家评价 + +--- + +## 二、视觉特效详细对比 + +### 2.1 时间效果 + +| 特性 | 《绝区零》 | 《鸣潮》 | +|------|-----------|---------| +| **时间减缓程度** | 明显的子弹时间 | 明显的子弹时间 | +| **持续时间** | 短暂但足够反应 | 约60帧(完美闪避) | +| **恢复方式** | 快速平滑恢复 | 快速平滑恢复 | +| **全局/局部** | 全局时间减缓 | 全局时间减缓 | +| **玩家感知** | 立即可察觉 | 立即可察觉 | + +### 2.2 屏幕视觉效果 + +#### 《绝区零》 +| 效果类型 | 描述 | 目的 | +|---------|------|------| +| **蓝色光影** | 极限闪避触发时角色周围出现蓝色光效 | 强调成功触发,视觉确认 | +| **画面模糊(推测)** | 子弹时间时可能有轻微模糊 | 增强速度感 | +| **色调变化** | 可能偏向冷色调 | 冷静、专注的氛围营造 | +| **极限视域** | 整个战场进入慢动作 | 争取反应时间 | + +#### 《鸣潮》 +| 效果类型 | 描述 | 目的 | +|---------|------|------| +| **子弹时间** | 完美闪避触发时间减缓 | 战术优势 | +| **反击特效** | 逆势回击时的视觉冲击 | 成就感 | +| **流畅连招** | 完美闪避后接反击无延迟 | 操作爽感 | +| **屏幕闪烁** | 可能在关键时刻有闪烁 | 强调效果 | + +### 2.3 相机效果 + +#### 《绝区零》 +- **轻微相机调整**:子弹时间时相机可能有微小变化 +- **焦点保持**:保持对战斗区域的聚焦 +- **流畅过渡**:时间恢复时平滑过渡 + +#### 《鸣潮》 +- **相机稳定**:保持战斗视野稳定 +- **焦点跟随**:紧跟角色和敌人 +- **快速响应**:完美闪避后立即响应 + +--- + +## 三、核心设计原则总结 + +### 3.1 时间控制原则 + +1. **子弹时间必须明显但不过长** + - 太短:玩家无法感知 + - 太长:影响战斗节奏,打断游戏流畅性 + - 建议:0.2-0.5秒的明显减缓 + +2. **时间恢复必须平滑** + - 使用缓动曲线(EaseOut) + - 避免时间跳跃 + - 保持战斗流畅性 + +3. **时间效果应有上下文** + - 只有完美闪避触发 + - 普通闪避不触发 + - 避免时间效果滥用 + +### 3.2 视觉效果原则 + +1. **即时反馈** + - 效果必须在触发瞬间可见 + - 视觉确认比文字提示更有效 + +2. **与时间效果同步** + - 视觉效果应与时间减缓协调 + - 增强时间扭曲的感知 + +3. **适度夸张但不过度** + - 增强成就感但不造成视觉疲劳 + - 保持游戏可读性 + +4. **颜色编码** + - 成功效果使用统一色调 + - 如蓝色(绝区零)代表极限状态 + +### 3.3 反馈强度分级 + +#### 普通闪避(Dash/Dodge) +| 效果 | 强度 | 说明 | +|------|------|------| +| FOV变化 | 低 | 轻微扩大视野 | +| 震动 | 低-中 | 轻微旋转震动 | +| 模糊 | 低 | 轻微运动模糊 | +| 时间效果 | 无 | 不触发时间减缓 | + +#### 完美闪避(Perfect Dodge) +| 效果 | 强度 | 说明 | +|------|------|------| +| FOV变化 | 中-高 | 明显扩大视野 | +| 震动 | 中-高 | 中等强度震动 | +| 模糊 | 高 | 明显的径向模糊 | +| 时间效果 | **高** | **明显的子弹时间** | +| 色调 | 冷色调 | 蓝色系强调 | + +--- + +## 四、Cielonos 闪避反馈系统优化建议 + +### 4.1 基于《绝区零》和《鸣潮》的优化方案 + +#### 方案一:简化但有效(推荐) + +**设计理念**:借鉴《绝区零》的"蓝色光影+子弹时间"和《鸣潮》的"流畅反击",但简化特效数量,专注于核心反馈。 + +##### 普通闪避(Dash/Dodge) +``` +效果组合: +1. FOV变化:+5° → 0°(0.2秒) +2. 旋转震动:轻微(X:1°, Y:0.5°)(0.15秒) +3. 径向模糊:轻微(0.2强度)(0.15秒) + +时间效果:无 +色调效果:无 +``` + +##### 完美闪避(Perfect Dodge) +``` +效果组合: +1. 全局时间缩放:0.3x → 1.0x(0.3秒) +2. FOV变化:+10° → 0°(0.35秒) +3. 旋转震动:中等(X:3°, Y:2°)(0.3秒) +4. 径向模糊:明显(0.6强度)(0.25秒) +5. 暗角强化:强度0.4 → 0.2(0.35秒) +6. 色差效果:轻微(0.2强度)(0.2秒) + +色调效果:偏蓝(可选) +特效:无屏幕闪光(避免过度) +``` + +**优势**: +- 效果明显但不过度 +- 保持游戏可读性 +- 性能友好 +- 符合二次元风格 + +#### 方案二:增强沉浸感 + +**设计理念**:更接近《绝区零》的视觉效果,增加更多屏幕特效。 + +##### 普通闪避(Dash/Dodge) +``` +效果组合: +1. FOV变化:+6° → 0°(0.25秒) +2. 旋转震动:中等(X:1.5°, Y:1°, Z:2°)(0.2秒) +3. 径向模糊:中(0.3强度)(0.2秒) +4. 色调偏移:轻微偏青(0.15秒) + +时间效果:无 +``` + +##### 完美闪避(Perfect Dodge) +``` +效果组合: +1. 全局时间缩放:0.25x → 1.0x(0.35秒) +2. FOV变化:+12° → 0°(0.4秒) +3. 旋转震动:强(X:4°, Y:3°, Z:5°)(0.35秒) +4. 径向模糊:强(0.7强度)(0.3秒) +5. 暗角强化:强度0.5 → 0.15(0.4秒) +6. 色差效果:中(0.3强度)(0.25秒) +7. 屏幕闪光:轻微白闪(0.08秒) +8. Bloom强化:轻微(0.2秒) + +色调效果:偏蓝(持续0.25秒) +特效:可能有角色周围的蓝色光效(如果性能允许) +``` + +**优势**: +- 视觉效果更丰富 +- 成就感更强 +- 更接近《绝区零》的体验 + +**劣势**: +- 可能影响游戏可读性 +- 性能开销较大 +- 需要更多测试调整 + +### 4.2 关键实现建议 + +#### 时间缩放 +```csharp +// 推荐参数 +Time.timeScale = 0.25f → 1.0f +持续时间:0.3秒 +曲线:EaseOutQuad(快速恢复) + +// 避免 +- 缩放过低(<0.2):过于夸张 +- 缩放过长(>0.5秒):打断节奏 +- 时间抖动:不平滑 +``` + +#### FOV变化 +```csharp +// 推荐参数 +FOV增量:+8° ~ +12° +恢复时间:0.3-0.4秒 +曲线:EaseOut(快速恢复) + +// 关键 +- FOV变化应与时间恢复同步 +- 不要让FOV变化单独存在 +``` + +#### 屏幕效果优先级 +``` +1. 径向模糊(必须)- 速度感核心 +2. 暗角强化(必须)- 焦点集中 +3. 色差效果(推荐)- 视觉冲击 +4. 屏幕闪光(可选)- 可能过度 +5. 色调偏移(可选)- 氛围营造 +``` + +### 4.3 性能考量 + +#### 避免过度效果 +- 同时激活的效果不超过5个 +- 避免复杂的着色器效果 +- 使用性能友好的模糊算法 + +#### 优化建议 +```csharp +// 示例:条件激活 +if (qualityLevel >= Medium) +{ + EnableRadialBlur(); + EnableVignette(); +} + +if (qualityLevel >= High) +{ + EnableChromaticAberration(); + EnableFOVChange(); +} +``` + +--- + +## 五、最终推荐方案 + +### 5.1 核心设计原则 + +1. **普通闪避**:速度感 + 轻微反馈 +2. **完美闪避**:子弹时间 + 强化视觉 + 成就感 + +### 5.2 推荐配置 + +#### 普通闪避(Dash/Dodge) +| 效果 | 参数 | 优先级 | +|------|------|--------| +| FOV变化 | +6°(0.2秒) | P1 | +| 旋转震动 | 轻微(0.15秒) | P1 | +| 径向模糊 | 0.25强度(0.15秒) | P1 | +| 时间缩放 | 无 | - | +| 色调变化 | 无 | - | + +#### 完美闪避(Perfect Dodge) +| 效果 | 参数 | 优先级 | +|------|------|--------| +| 时间缩放 | 0.3x → 1.0x(0.3秒) | **P0** | +| FOV变化 | +10°(0.35秒) | P1 | +| 旋转震动 | 中等(0.3秒) | P1 | +| 径向模糊 | 0.6强度(0.25秒) | P1 | +| 暗角强化 | 强度0.4(0.35秒) | P1 | +| 色差效果 | 0.25强度(0.2秒) | P2 | +| 色调变化 | 偏蓝(0.2秒) | P2 | +| 屏幕闪光 | 无 | P3 | + +### 5.3 与《绝区零》《鸣潮》的对比 + +| 特性 | 我们的方案 | 《绝区零》 | 《鸣潮》 | +|------|----------|----------|---------| +| 完美闪避时间效果 | 0.3x | ✅ 子弹时间 | ✅ 子弹时间 | +| 完美闪避视觉 | 强化但克制 | ✅ 蓝色光影 | ✅ 流畅反击 | +| 普通闪避反馈 | 轻微速度感 | ❓ 不明显 | ❓ 不明显 | +| 屏幕效果数量 | 5-6个 | 适中 | 适中 | +| 整体风格 | 二次元+克制 | 动作+华丽 | 科幻+流畅 | + +--- + +## 六、后续调整建议 + +### 6.1 测试阶段 + +1. **基础测试**:确保所有效果正常工作 +2. **性能测试**:60FPS下是否流畅 +3. **玩家测试**:收集反馈 +4. **调整迭代**:根据反馈调整参数 + +### 6.2 平衡调整 + +``` +如果反馈太强: +- 减少效果持续时间 +- 降低效果强度 +- 减少同时激活的效果数量 + +如果反馈太弱: +- 增加效果强度 +- 延长持续时间 +- 增加效果数量 + +如果影响可读性: +- 减少模糊效果 +- 减少色调变化 +- 缩短时间缩放时间 +``` + +### 6.3 长期优化 + +1. **添加配置选项** + - 反馈强度滑块 + - 效果开关(有无障碍选项) + +2. **动态调整** + - 根据连闪次数增强效果 + - 根据敌人攻击强度调整 + +3. **音效配合** + - 与视觉反馈同步 + - 增强打击感 + +--- + +## 七、参考资料 + +### 《绝区零》 +- 官方网站:https://zzz.mihoyo.com/ +- 战斗系统核心:"闪避+子弹时间"设计 +- 视觉特色:蓝色光影效果 +- 玩家口碑:"简约不简单"的轻量化战斗体验 + +### 《鸣潮》 +- 官方网站:https://mc.kurogames.com/ +- 战斗系统核心:"完美闪避+逆势回击" +- 视觉特色:流畅连招、科幻风格 +- 玩家口碑:打击感强,操作爽感 + +--- + +*文档生成日期: 2026-04-17* +*分析参考:绝区零官方资料、鸣潮官方资料、各大游戏媒体评测、玩家社区反馈* +*生成者: Game Designer Agent* diff --git a/docs/闪避反馈系统实现进度.md b/docs/闪避反馈系统实现进度.md new file mode 100644 index 000000000..5a5e7d4cc --- /dev/null +++ b/docs/闪避反馈系统实现进度.md @@ -0,0 +1,401 @@ +# Cielonos 闪避反馈系统实现进度 + +## ✅ 已完成的工作 + +### 1. 代码架构修改 + +#### 1.1 DodgeSource.Default() 方法重构 +- **文件**:`Assets/Scripts/MainGame/Characters/Base/Subcontrollers/Reaction/DodgeSubmodule.cs` +- **修改**:移除了MMF_Feedback相关的代码(MMF_RadialBlur、MMF_AdvancedVignette) +- **状态**:✅ 完成 + +#### 1.2 PlayerAnimationSubcontroller 闪避反馈重构 +- **文件**:`Assets/Scripts/MainGame/Characters/Player/Animation/PlayerAnimScDashDodge.cs` +- **修改**: + - 移除了所有MMF_Feedback引用 + - Dash反馈使用新的`player.feedbackSc.PlayFeedback("Dash")` + - Dodge反馈使用新的`player.feedbackSc.PlayFeedback("Dodge")` +- **状态**:✅ 完成 + +#### 1.3 EventSubmodule 新增事件 +- **文件**:`Assets/Scripts/MainGame/Characters/Base/Submodules/EventSubmodule.cs` +- **新增事件**: + - `onDodgeSuccess` - 完美闪避成功时触发 + - `onNormalDodgeSuccess` - 普通闪避成功时触发 +- **状态**:✅ 完成 + +#### 1.4 Player 事件监听注册 +- **文件**:`Assets/Scripts/MainGame/Characters/Player/Player.cs` +- **新增内容**: + - 在`InitializeSubmodules()`中注册PerfectDodge和NormalDodge事件监听 + - 新增`Feedback_PerfectDodge()`方法:播放完美闪避反馈 + - 新增`Feedback_NormalDodge()`方法:处理普通闪避反馈 +- **状态**:✅ 完成 + +#### 1.5 ReactionSubmodule 事件触发 +- **文件**:`Assets/Scripts/MainGame/AttackArea/Submodules/ReactionSubmodule.cs` +- **修改**: + - 完美闪避成功后触发`dodger.eventSm.onDodgeSuccess.Invoke(firstDodgeSource)` + - 普通闪避成功后触发`dodger.eventSm.onNormalDodgeSuccess.Invoke(firstDodgeSource)` +- **状态**:✅ 完成 + +--- + +## 📋 FeedbackData 配置状态 + +### 已创建的FeedbackData文件 + +位置:`Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/` + +| 文件名 | 用途 | 配置状态 | +|--------|------|---------| +| Player_Feedback_Dash.asset | 冲刺反馈 | ⚠️ 待配置 | +| Player_Feedback_Dodge.asset | 后撤步反馈 | ⚠️ 待配置 | +| Player_Feedback_NormalDodge.asset | 普通闪避反馈 | ⚠️ 待配置 | +| Player_Feedback_PerfectDodge.asset | 完美闪避反馈 | ⚠️ 待配置 | + +**注意**:这些文件已创建但tracks为空,需要在Unity编辑器中配置。 + +--- + +## 🎯 FeedbackData 配置指南 + +### 2.1 Dash(冲刺)FeedbackData 配置 + +**目标**:强调速度感、移动感 + +**Track 1: "Camera" - 相机效果** +``` +Clip 1: CameraFieldOfViewAction + - FOV增量: +6° + - 持续时间: 0.2秒 + - 曲线: FadeOut +``` + +**Track 2: "Camera" - 旋转震动** +``` +Clip 1: CameraRotationShakeAction + - Rotation: (1°, 0.5°, 2°) + - 持续时间: 0.15秒 + - 曲线: QuickImpact +``` + +**Track 3: "PostProcess" - 径向模糊** +``` +Clip 1: RadialBlurAction + - Intensity: 0.25 + - 持续时间: 0.15秒 + - 曲线: FadeOut +``` + +### 2.2 Dodge(后撤步)FeedbackData 配置 + +**目标**:强调突然性、灵活性 + +**Track 1: "Camera" - 相机效果** +``` +Clip 1: CameraFieldOfViewAction + - FOV增量: +5° + - 持续时间: 0.2秒 + - 曲线: FadeOut +``` + +**Track 2: "Camera" - 旋转震动** +``` +Clip 1: CameraRotationShakeAction + - Rotation: (0.5°, 0.3°, 1.5°) + - 持续时间: 0.12秒 + - 曲线: QuickImpact +``` + +**Track 3: "PostProcess" - 径向模糊** +``` +Clip 1: RadialBlurAction + - Intensity: 0.2 + - 持续时间: 0.12秒 + - 曲线: FadeOut +``` + +### 2.3 NormalDodge(普通闪避)FeedbackData 配置 + +**说明**:NormalDodge用于普通闪避(非冲刺的短距离闪避) + +**Track 1: "Camera" - 相机效果** +``` +Clip 1: CameraFieldOfViewAction + - FOV增量: +4° + - 持续时间: 0.15秒 + - 曲线: FadeOut +``` + +**Track 2: "Camera" - 旋转震动** +``` +Clip 1: CameraRotationShakeAction + - Rotation: (0.3°, 0.2°, 1°) + - 持续时间: 0.1秒 + - 曲线: QuickImpact +``` + +**Track 3: "PostProcess" - 径向模糊** +``` +Clip 1: RadialBlurAction + - Intensity: 0.15 + - 持续时间: 0.1秒 + - 曲线: FadeOut +``` + +### 2.4 PerfectDodge(完美闪避)FeedbackData 配置 + +**目标**:时间扭曲 + 视觉强化 + 成就感 + +**Track 1: "Time" - 时间缩放** +``` +Clip 1: TimeScaleModifierAction + - Mode: Dynamic + - Curve: Custom + - RemapZero: 0.3 + - RemapOne: 1.0 + - 持续时间: 0.3秒 + - ⚠️ 重要:此Track不应受全局时间缩放影响 +``` + +**Track 2: "Camera" - FOV变化** +``` +Clip 1: CameraFieldOfViewAction + - FOV增量: +10° + - 持续时间: 0.35秒 + - 曲线: FadeOut +``` + +**Track 3: "Camera" - 旋转震动** +``` +Clip 1: CameraRotationShakeAction + - Rotation: (3°, 2°, 5°) + - 持续时间: 0.3秒 + - 曲线: QuickImpact +``` + +**Track 4: "PostProcess" - 暗角** +``` +Clip 1: VignetteAction + - Intensity: 0.4 + - 持续时间: 0.35秒 + - 曲线: FadeOut +``` + +**Track 5: "PostProcess" - 径向模糊** +``` +Clip 1: RadialBlurAction + - Intensity: 0.6 + - 持续时间: 0.25秒 + - 曲线: FadeOut +``` + +**Track 6: "PostProcess" - 色差** +``` +Clip 1: ChromaticAberrationAction + - Intensity: 0.25 + - 持续时间: 0.2秒 + - 曲线: FadeOut +``` + +--- + +## 🔧 接下来的步骤 + +### 步骤1:在Unity编辑器中配置FeedbackData + +1. 打开Unity编辑器 +2. 导航到 `Assets/Prefabs/MainGame/Characters/Player/Data/Feedbacks/` +3. 逐个配置上述FeedbackData文件 + +### 步骤2:在Player Prefab中关联FeedbackData + +1. 选择Player Prefab +2. 找到FeedbackDataCollection组件 +3. 确保以下键值对存在: + - `"Dash"` → Player_Feedback_Dash.asset + - `"Dodge"` → Player_Feedback_Dodge.asset + - `"NormalDodge"` → Player_Feedback_NormalDodge.asset + - `"PerfectDodge"` → Player_Feedback_PerfectDodge.asset + +### 步骤3:测试 + +1. 进入游戏 +2. 测试冲刺反馈 +3. 测试后撤步反馈 +4. 测试普通闪避反馈 +5. 测试完美闪避反馈(需要被敌人攻击时在完美时机闪避) + +### 步骤4:根据体验调整参数 + +根据实际手感调整: +- FOV变化量 +- 震动强度 +- 模糊程度 +- 时间缩放值 + +--- + +## 📊 代码流程图 + +``` +玩家触发闪避 + ↓ +PlayerAnimationSubcontroller.SetupDash/SetupDodge() + ↓ +PlayerAnimationSubcontroller.DashStart/DodgeStart() + ↓ +player.feedbackSc.PlayFeedback("Dash"/"Dodge") // 播放普通闪避反馈 + ↓ +ApplyDodge() → 添加闪避源 + ↓ +敌人攻击命中 + ↓ +ReactionSubmodule.CheckDodge() + ↓ +判断是否完美闪避 + ↓ +DodgeSource.PerfectDodge() / NormalDodge() + ↓ +触发事件: dodger.eventSm.onDodgeSuccess/onNormalDodgeSuccess + ↓ +Player.Feedback_PerfectDodge() / Feedback_NormalDodge() + ↓ +player.feedbackSc.PlayFeedback("PerfectDodge") // 播放完美闪避反馈 +``` + +--- + +## ⚠️ 注意事项 + +1. **时间缩放**:PerfectDodge的TimeScaleModifierAction必须不受全局时间缩放影响 +2. **性能**:同时激活的效果不要超过5个 +3. **调试**:可以在Player.Feedback_PerfectDodge()中添加Debug.Log用于调试 + +--- + +## 🔧 问题修复:TimeScaleModifierAction立即生效 + +### 问题描述 +当PerfectDodge播放时,TimeScaleModifierAction修改的globalTimeScale在同一帧内不会立即被其他Feedback读取到。 + +### 原因 +- TimeScaleModifierAction.OnStart()调用TimeScaleShakeEvent.Trigger() +- 只是注册了TimeScaleShakeInstance +- TimeScaleShaker.Update()在下一帧才执行 +- 其他Feedback的ComputeClipDeltaTime()已经读取了旧的globalTimeScale值 + +### 解决方案 +在TimeScaleModifierAction.OnStart()中,立即应用一次时间缩放(调用ImmediateApplyTimeScale()) + +### 修改内容 +- 文件:TimeScaleModifierAction.cs +- 添加:ImmediateApplyTimeScale()方法 +- 在OnStart()末尾调用:ImmediateApplyTimeScale() + +### 代码 +```csharp +public override void OnStart(FeedbackContext context) +{ + // 原有逻辑... + TimeScaleShakeEvent.Trigger(...); + + // 新增:立即应用时间缩放 + ImmediateApplyTimeScale(); +} + +private void ImmediateApplyTimeScale() +{ + if (TimeManager.Instance == null) return; + + float t = 0f; // 归一化时间0 + + if (globalChannel.active) + TimeManager.Instance.globalTimeScale.Value = globalChannel.Evaluate(t); + + if (playerChannel.active) + TimeManager.Instance.playerTimeScale.Value = playerChannel.Evaluate(t); + + if (enemyChannel.active) + TimeManager.Instance.enemyTimeScale.Value = enemyChannel.Evaluate(t); + + if (alliedChannel.active) + TimeManager.Instance.alliedMinionTimeScale.Value = alliedChannel.Evaluate(t); + + if (nonPlayerChannel.active) + TimeManager.Instance.nonPlayerTimeScale.Value = nonPlayerChannel.Evaluate(t); +} +``` + +### 效果 +现在当PerfectDodge播放时: +1. TimeScaleModifierAction立即修改globalTimeScale = 0.1 +2. 同一帧内,其他Feedback能立即读取到0.1 +3. 所有效果在同一帧内协调生效 + +--- + +## 🔧 关键修复:ProcessClip的pending分支elapsed计算 + +### 问题描述 +当CameraFOV等Feedback在PerfectDodge播放期间持续处于pending状态时(等待estimatedEndTime满足),它们的elapsed时间会累积。 + +当终于进入active状态时,使用了`elapsed = _currentTime - startTime`计算,导致elapsed很大(可能是10秒),然后在active分支中`elapsed >= safeDuration`立即为true,Clip立即结束。 + +### 时间线示例 +``` +PerfectDodge播放第1帧: _currentTime = 0.016, CameraFOV.pending (estimatedEndTime=10.032) +PerfectDodge播放第100帧: _currentTime = 1.6, CameraFOV.pending (estimatedEndTime=11.616) +PerfectDodge播放结束时: CameraFOV终于满足estimatedEndTime >= _currentTime + elapsed = _currentTime - 0 = 1.6 (或更大) + elapsed >= safeDuration(0.2) 立即为true + CameraFOV.OnEnd()立即被触发! +``` + +### 解决方案 +在pending->active分支中,将`elapsed = _currentTime - startTime`改为`elapsed = 0f`。 + +### 修改内容 +- 文件:FeedbackPlayer.cs +- 位置:ProcessClip方法的pending分支 +- 修改:将`elapsed = _currentTime - clip.startTime`改为`elapsed = 0f` + +### 代码 +```csharp +case ClipState.Pending: + if (_currentTime >= clip.startTime) + { + clipState = ClipState.Active; + // 关键修复:当Clip进入active状态时,elapsed应该从0开始 + elapsed = 0f; + // ... + } + break; +``` + +### 效果 +- Clip进入active状态时,elapsed从0开始 +- 不会被之前累积的_currentTime影响 +- Clip的持续时间正确 + +--- + +## 📝 待办事项清单 + +- [ ] 在Unity编辑器中配置Player_Feedback_Dash.asset +- [ ] 在Unity编辑器中配置Player_Feedback_Dodge.asset +- [ ] 在Unity编辑器中配置Player_Feedback_NormalDodge.asset +- [ ] 在Unity编辑器中配置Player_Feedback_PerfectDodge.asset +- [ ] 在Player Prefab中关联所有FeedbackData +- [ ] 测试Dash反馈 +- [ ] 测试Dodge反馈 +- [ ] 测试NormalDodge反馈 +- [ ] 测试PerfectDodge反馈 +- [ ] 根据手感调整参数 + +--- + +*文档生成日期: 2026-04-17* +*生成者: Game Designer Agent* +*状态: 代码已完成,待编辑器配置* diff --git a/docs/闪避反馈系统设计.md b/docs/闪避反馈系统设计.md new file mode 100644 index 000000000..2196790d1 --- /dev/null +++ b/docs/闪避反馈系统设计.md @@ -0,0 +1,701 @@ +# Cielonos 闪避系统摄像机反馈设计方案 + +## 一、现有系统分析 + +### 1.1 反馈系统架构 + +``` +FeedbackManager + ↓ +FeedbackPlayer(运行时播放器) + ↓ +FeedbackData(ScriptableObject - 包含多个Track) + ↓ +FeedbackTrack(轨道 - 并行播放) + ↓ +FeedbackClip(片段 - 包含FeedbackAction) + ↓ +FeedbackActionBase(具体的反馈动作) + ├── CameraRotationShakeAction ✓ + ├── CameraFieldOfViewAction ✓ + ├── CameraPositionShakeAction ✓ + ├── RadialBlurAction ✓ + ├── VignetteAction ✓ + ├── TimeScaleModifierAction ✓ + ├── ChromaticAberrationAction ✓ + └── ... 其他后处理效果 +``` + +### 1.2 闪避系统架构 + +``` +DodgeSubmodule + ├── DodgeSource[](闪避源列表) + │ ├── dodgeTime(闪避持续时间) + │ ├── perfectTime(完美闪避窗口,0.2秒) + │ ├── isPerfectDodging(是否处于完美闪避中) + │ └── 回调方法 + └── 方法 + ├── ApplyDodge() + ├── RemoveDodge() + ├── PerfectDodge() → 触发"PerfectDodge"反馈 + └── NormalDodge() → 触发"NormalDodge"反馈 + +PlayerAnimationSubcontroller + ├── SetupDash() → 触发"Dash"反馈 + └── SetupDodge() → 触发"Dodge"反馈 +``` + +### 1.3 现有的闪避反馈 + +在 `DodgeSource.Default()` 工厂方法中,已经预设了: +- **PerfectDodge** 触发: + - `MMF_RadialBlur` - 径向模糊 + - `MMF_AdvancedVignette` - 高级暗角 +- **Dash/Dodge** 触发: + - `MMF_CinemachineRotation` - 旋转震动 + - `MMF_RadialBlur` - 径向模糊 + +--- + +## 二、闪避反馈设计方案 + +### 2.1 普通闪避(Dash & Dodge)的摄像机反馈 + +#### 设计目标 +- **Dash(冲刺)**:强调速度感、移动感、动态感 +- **Dodge(后撤步)**:强调突然性、灵活性、敏捷感 + +#### Dash(冲刺)的反馈设计 + +| 效果类型 | 参数配置 | 说明 | +|---------|---------|------| +| **FOV变化** | +8° → 0°(0.3秒) | 冲刺时视野扩大,增强速度感 | +| **旋转震动** | X:2° Y:1° Z:3°(0.2秒) | 轻微旋转,增加动态感 | +| **径向模糊** | 中心扩散(0.25秒) | 运动模糊效果,增强速度感知 | +| **色调(可选)** | 轻微偏蓝(0.2秒) | 冷色调增强速度感 | + +#### Dodge(后撤步)的反馈设计 + +| 效果类型 | 参数配置 | 说明 | +|---------|---------|------| +| **FOV变化** | +5° → 0°(0.2秒) | 轻微扩大,比Dash弱 | +| **旋转震动** | X:1° Y:0.5° Z:1.5°(0.15秒) | 比Dash更轻微 | +| **径向模糊** | 中心扩散(0.15秒) | 比Dash更短促 | +| **色调(可选)** | 轻微偏青(0.15秒) | 青色增强灵活感 | + +### 2.2 完美闪避(Perfect Dodge)的摄像机反馈 + +#### 设计目标 +- **强调**:时机感、成就感、满足感 +- **核心**:时间扭曲 + 视觉强化 + 中心聚焦 + +#### Perfect Dodge 的完整反馈设计 + +##### 1. 时间扭曲效果 +| 效果类型 | 参数配置 | 说明 | +|---------|---------|------| +| **时间缩放** | 0.3x → 1.0x(0.3秒) | 瞬间慢动作,然后快速恢复 | +| **曲线** | 先慢后快(EaseInOut) | 自然恢复 | + +##### 2. 中心聚焦效果 +| 效果类型 | 参数配置 | 说明 | +|---------|---------|------| +| **暗角强化** | 强度 0.5 → 0.2(0.4秒) | 聚焦中心,增强紧张感 | +| **暗角中心** | 偏移到攻击来源方向 | 视觉引导 | +| **色调偏移** | 轻微偏蓝(0.2秒) | 冷色调增强冷静感 | + +##### 3. 运动模糊效果 +| 效果类型 | 参数配置 | 说明 | +|---------|---------|------| +| **径向模糊强化** | 中心到边缘(0.2秒) | 强烈的速度感 | +| **模糊强度** | 0.8 → 0.0(0.3秒) | 快速衰减 | + +##### 4. 色散效果 +| 效果类型 | 参数配置 | 说明 | +|---------|---------|------| +| **色差(Chromatic Aberration)** | RGB分离 0.3 → 0.0(0.25秒) | 增强视觉冲击 | +| **分离中心** | 攻击来源方向 | 动态分离 | + +##### 5. 相机震动 +| 效果类型 | 参数配置 | 说明 | +|---------|---------|------| +| **旋转震动** | X:3° Y:2° Z:5°(0.3秒) | 比普通闪避更强 | +| **震动曲线** | QuickImpact(快速冲击) | 即时峰值,快速衰减 | + +##### 6. 屏幕特效 +| 效果类型 | 参数配置 | 说明 | +|---------|---------|------| +| **屏幕闪光** | 中心白闪光(0.1秒) | 瞬间高亮 | +| **Bloom强化** | 强度+0.5(0.2秒) | 增强发光效果 | + +#### 完美闪避反馈时间线 + +``` +时间(秒): 0.0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 +───────────────────────────────────────────────────────────────── +时间缩放 ████▓▒▒░░░░ + 0.3x → 1.0x + +FOV ▓▓▓▒▒░░░░░ + +8° → 0° + +径向模糊 ██████▓▒░░░ + 强度0.8 → 0.0 + +暗角 ▓▓▓▓▓▒▒░░░ + 强度0.5 → 0.2 + +色差 ████████░░░ + 分离0.3 → 0.0 + +屏幕闪光 ██░░░░░░░░░ + 瞬间 + +相机震动 █████▓▒░░░░ + 3°旋转 +``` + +--- + +## 三、需要创建/完善的反馈组件 + +### 3.1 现有组件(可直接使用) + +| 组件 | 状态 | 用途 | +|------|------|------| +| CameraRotationShakeAction | ✅ 已存在 | 相机旋转震动 | +| CameraFieldOfViewAction | ✅ 已存在 | FOV变化 | +| CameraPositionShakeAction | ✅ 已存在 | 相机位置震动 | +| RadialBlurAction | ✅ 已存在 | 径向模糊 | +| VignetteAction | ✅ 已存在 | 暗角效果 | +| ChromaticAberrationAction | ✅ 已存在 | 色差效果 | +| TimeScaleModifierAction | ✅ 已存在 | 时间缩放 | + +### 3.2 需要创建的新组件 + +#### 1. MotionBlurAction(运动模糊) +**优先级**:P0 - 必须 + +**功能**: +- 控制运动模糊效果(SpeedLines或MotionBlur后处理) +- 支持模糊强度、方向、中心点控制 + +**参数**: +```csharp +public class MotionBlurAction : CurveShakeAction +{ + public bool modifyDirection; // 是否修改方向 + public Vector2 direction; // 模糊方向 + + public bool modifyStrength; // 是否修改强度 + public float strengthMin; // 最小模糊强度 + public float strengthMax; // 最大模糊强度 + + public bool modifySamples; // 是否修改采样数 + public int samplesMin; // 最小采样数 + public int samplesMax; // 最大采样数 +} +``` + +#### 2. ScreenFlashAction(屏幕闪光) +**优先级**:P1 - 重要 + +**功能**: +- 控制屏幕中心的白闪光效果 +- 支持颜色、强度、衰减速度控制 + +**参数**: +```csharp +public class ScreenFlashAction : FeedbackActionBase +{ + [Title("Flash Settings")] + public Color flashColor = Color.white; + public float maxIntensity = 1.0f; + public AnimationCurve fadeCurve; // 衰减曲线 + + public bool useCenterOffset; // 是否使用中心偏移 + public Vector2 centerOffset; // 中心偏移 + + public bool affectBloom; // 是否影响Bloom + public float bloomIntensity = 0.5f; +} +``` + +#### 3. ColorGradeAction(色调调整) +**优先级**:P2 - 可选 + +**功能**: +- 动态调整画面色调 +- 支持色温、色调、对比度调整 + +**参数**: +```csharp +public class ColorGradeAction : FeedbackActionBase +{ + public bool modifyTemperature; // 是否修改色温 + public float temperatureMin; // 冷色调(负值) + public float temperatureMax; // 暖色调(正值) + + public bool modifyTint; // 是否修改色调 + public Color tintColor; // 色调颜色 + + public bool modifySaturation; // 是否修改饱和度 + public float saturationOffset; // 饱和度偏移 +} +``` + +#### 4. SpeedLinesAction(速度线) +**优先级**:P1 - 重要 + +**功能**: +- 控制屏幕边缘的速度线效果 +- 增强速度感和动态感 + +**参数**: +```csharp +public class SpeedLinesAction : CurveShakeAction +{ + [Title("Speed Lines Settings")] + public bool modifyCount; // 是否修改线条数量 + public int countMin; // 最小线条数 + public int countMax; // 最大线条数 + + public bool modifyLength; // 是否修改线条长度 + public float lengthMin; // 最小长度 + public float lengthMax; // 最大长度 + + public bool modifyOpacity; // 是否修改不透明度 + public float opacityMin; // 最小不透明度 + public float opacityMax; // 最大不透明度 + + public bool modifyCenter; // 是否修改中心 + public Vector2 center; // 中心点 +} +``` + +--- + +## 四、实现计划 + +### 4.1 Phase 1: 普通闪避反馈(1天) + +#### 目标 +实现 Dash 和 Dodge 的基本摄像机反馈 + +#### 任务 +1. [ ] **创建/配置 Dash FeedbackData** + - 名称:`DodgeDash` + - Track 1: "Camera" - CameraFieldOfViewAction + - FOV: +8° → 0°(0.3秒) + - Track 2: "Camera" - CameraRotationShakeAction + - Rotation: (2°, 1°, 3°) + - Curve: SmoothBump + - Track 3: "PostProcess" - RadialBlurAction + - Intensity: 0.3 → 0.0(0.25秒) + +2. [ ] **创建/配置 Dodge FeedbackData** + - 名称:`DodgeBackstep` + - Track 1: "Camera" - CameraFieldOfViewAction + - FOV: +5° → 0°(0.2秒) + - Track 2: "Camera" - CameraRotationShakeAction + - Rotation: (1°, 0.5°, 1.5°) + - Curve: QuickImpact + - Track 3: "PostProcess" - RadialBlurAction + - Intensity: 0.2 → 0.0(0.15秒) + +3. [ ] **修改 PlayerAnimationSubcontroller** + - SetupDash() 使用新的"DodgeDash" FeedbackData + - SetupDodge() 使用新的"DodgeBackstep" FeedbackData + +4. [ ] **测试调整** + - 根据实际效果调整参数 + - 确保Dash和Dodge有明显区别 + +### 4.2 Phase 2: 完美闪避反馈(1-2天) + +#### 目标 +实现 Perfect Dodge 的特殊摄像机反馈 + +#### 任务 +1. [ ] **创建 ScreenFlashAction(如果尚未实现)** + - 屏幕中心白闪光 + - 快速衰减 + +2. [ ] **创建 MotionBlurAction(如果尚未实现)** + - 运动模糊效果 + - 支持方向和强度控制 + +3. [ ] **创建/配置 Perfect Dodge FeedbackData** + - 名称:`PerfectDodge` + + - Track 1: "Time" - TimeScaleModifierAction + - Mode: Dynamic + - Curve: Custom(0.3x → 1.0x) + - Duration: 0.3秒 + + - Track 2: "Camera" - CameraFieldOfViewAction + - FOV: +8° → 0°(0.3秒) + + - Track 3: "Camera" - CameraRotationShakeAction + - Rotation: (3°, 2°, 5°) + - Curve: QuickImpact + - Duration: 0.3秒 + + - Track 4: "PostProcess" - VignetteAction + - Intensity: 0.5 → 0.2(0.4秒) + - 中心偏移到攻击来源 + + - Track 5: "PostProcess" - RadialBlurAction + - Intensity: 0.8 → 0.0(0.3秒) + + - Track 6: "PostProcess" - ChromaticAberrationAction + - Intensity: 0.3 → 0.0(0.25秒) + + - Track 7: "Effect" - ScreenFlashAction + - Color: White + - Intensity: 1.0 → 0.0(0.1秒) + + - Track 8: "Effect" - BloomEnhanceAction(可选) + - Intensity: +0.5(0.2秒) + +4. [ ] **修改 DodgeSource.Default() 工厂方法** + - 更新 PerfectDodge 回调逻辑 + - 确保所有反馈正确触发 + +5. [ ] **测试调整** + - 调整时间曲线 + - 确保慢动作效果明显 + - 优化视觉效果 + +### 4.3 Phase 3: 优化和细节(1天) + +#### 目标 +完善细节,提升品质 + +#### 任务 +1. [ ] **添加速度线效果(SpeedLines)** + - 冲刺时显示速度线 + - 增强速度感 + +2. [ ] **添加色调调整(可选)** + - Dash: 冷色调(蓝) + - Dodge: 青色(青绿) + - Perfect Dodge: 偏蓝 + +3. [ ] **创建编辑器预览工具** + - 在Editor中预览闪避效果 + - 快速调整参数 + +4. [ ] **性能优化** + - 确保反馈系统不会造成性能问题 + - 优化后处理效果 + +5. [ ] **创建反馈预设库** + - Dash_Powerful(强力冲刺) + - Dash_Light(轻盈冲刺) + - Dodge_Quick(快速后撤) + - Dodge_Strong(强力后撤) + - PerfectDodge_Time(时间扭曲型) + - PerfectDodge_Impact(冲击型) + +--- + +## 五、参数配置建议 + +### 5.1 Dash(冲刺) + +```csharp +// DodgeDash FeedbackData +{ + // FOV + FOV Offset: +8° + FOV Duration: 0.3s + FOV Curve: EaseOut + + // Rotation Shake + Rotation: (2°, 1°, 3°) + Duration: 0.2s + Curve: SmoothBump + + // Radial Blur + Intensity: 0.3 + Duration: 0.25s + Center: Dynamic (player screen position) +} +``` + +### 5.2 Dodge(后撤步) + +```csharp +// DodgeBackstep FeedbackData +{ + // FOV + FOV Offset: +5° + FOV Duration: 0.2s + FOV Curve: EaseOut + + // Rotation Shake + Rotation: (1°, 0.5°, 1.5°) + Duration: 0.15s + Curve: QuickImpact + + // Radial Blur + Intensity: 0.2 + Duration: 0.15s + Center: Dynamic (player screen position) +} +``` + +### 5.3 Perfect Dodge + +```csharp +// PerfectDodge FeedbackData +{ + // Time Scale + Time Scale: 0.3x → 1.0x + Duration: 0.3s + Curve: EaseInOut + + // FOV + FOV Offset: +10° + FOV Duration: 0.4s + FOV Curve: EaseOut + + // Rotation Shake + Rotation: (3°, 2°, 5°) + Duration: 0.3s + Curve: QuickImpact + + // Vignette + Intensity: 0.5 → 0.2 + Duration: 0.4s + Center Offset: Attack direction + + // Radial Blur + Intensity: 0.8 → 0.0 + Duration: 0.3s + Center: Dynamic + + // Chromatic Aberration + Intensity: 0.3 → 0.0 + Duration: 0.25s + + // Screen Flash + Color: White + Intensity: 1.0 → 0.0 + Duration: 0.1s +} +``` + +--- + +## 六、实现建议 + +### 6.1 创建流程 + +1. **创建 FeedbackData** + - 在 `Resources/Feedbacks/` 目录下创建 + - 命名为 `DodgeDash.asset`, `DodgeBackstep.asset`, `PerfectDodge.asset` + +2. **配置 FeedbackTracks** + - 为每个效果创建独立的 Track + - 建议 Track 命名: + - "Camera" - 相机相关效果 + - "PostProcess" - 后处理效果 + - "Effect" - 特殊效果 + - "Time" - 时间控制 + +3. **添加 FeedbackClips** + - 在每个 Track 中添加 Clip + - 配置时间范围 + - 选择对应的 FeedbackAction + +4. **配置 FeedbackAction 参数** + - 根据设计文档调整参数 + - 使用预设曲线 + - 设置正确的持续时间 + +5. **在代码中引用** + - 在 `PlayerAnimationSubcontroller` 中引用 FeedbackData + - 在 `DodgeSource` 中配置 PerfectDodge 回调 + +### 6.2 代码修改建议 + +#### DodgeSource.Default() 工厂方法修改 + +```csharp +public static DodgeSource Default(CharacterBase sourceCharacter, float duration = Mathf.Infinity) +{ + DodgeSource defaultDodge = new DodgeSource( + sourceCharacter, null, "DefaultDodge", 0, + "NormalDodge", "PerfectDodge", duration, 0.2f + ); + + if (sourceCharacter is Player player) + { + // 普通闪避反馈 + defaultDodge.onNormalDodge = () => + { + // 可以根据闪避类型(Dash/Dodge)播放不同的反馈 + // player.feedbackSc["NormalDodge"].Play(); + }; + + // 完美闪避反馈 + defaultDodge.onPerfectDodge = () => + { + // 更新效果中心点 + var radialBlur = player.feedbackSc["PerfectDodge"].feedback + .GetFeedbackOfType(); + if (radialBlur != null) + { + radialBlur.modifyCenter = true; + radialBlur.center = player.GetNormalizedScreenPosition(); + } + + var vignette = player.feedbackSc["PerfectDodge"].feedback + .GetFeedbackOfType(); + if (vignette != null) + { + vignette.modifyCenter = true; + vignette.center = player.GetNormalizedScreenPosition(); + } + + // 播放完美闪避反馈 + player.feedbackSc["PerfectDodge"].Play(); + + Debug.Log("Perfect Dodge!"); + }; + } + return defaultDodge; +} +``` + +#### PlayerAnimationSubcontroller 修改 + +```csharp +// SetupDash() 中 +public void SetupDash(Vector3 direction, bool isInputDirection, float length) +{ + if (player.movementSc.canDash && player.movementSc.canDodge && + fullBodyFuncAnimSm.Play("Dash")) + { + length = length < 0 ? player.attributeSm["DashLength"] : length; + float dashMultiplier = length / fullBodyFuncAnimSm.collection["Dash"] + .variableCollection.GetVariable("RootMoveZ"); + player.landMovementSc.dashMoveMultiplier = dashMultiplier; + + // 根据方向计算相机旋转 + Vector3 cameraForward = player.viewSc.playerCamera.transform.forward.Flatten(); + Vector3 dashCameraRotation; + if (isInputDirection) + { + player.landMovementSc.TurnToInputDirection(direction); + Vector3 playerForward = player.transform.forward.Flatten(); + dashCameraRotation = CalculateDashAngles(playerForward, cameraForward); + } + else + { + player.landMovementSc.TurnToDirection(direction, 0f); + dashCameraRotation = CalculateDashAngles(direction, cameraForward); + } + + // 配置动态参数 + var rotationShake = player.feedbackSc["DodgeDash"].feedback + .GetFeedbackOfType(); + if (rotationShake != null) + { + rotationShake.directionSettings.targetDirection = direction; + } + + // 播放 Dash 反馈 + player.feedbackSc["DodgeDash"].Play(); + } +} + +// SetupDodge() 中 +public void SetupDodge(float length) +{ + if (player.movementSc.canDodge && fullBodyFuncAnimSm.Play("Dodge")) + { + length = length < 0 ? player.attributeSm["DodgeLength"] : length; + float dashMultiplier = length / fullBodyFuncAnimSm.collection["Dodge"] + .variableCollection.GetVariable("RootMoveZ"); + player.landMovementSc.dashMoveMultiplier = dashMultiplier; + + // 配置动态参数 + var rotationShake = player.feedbackSc["DodgeBackstep"].feedback + .GetFeedbackOfType(); + if (rotationShake != null) + { + rotationShake.directionSettings.targetDirection = -player.transform.forward.Flatten(); + } + + // 播放 Dodge 反馈 + player.feedbackSc["DodgeBackstep"].Play(); + } +} +``` + +--- + +## 七、测试清单 + +### 7.1 功能测试 + +- [ ] Dash 反馈正常播放 +- [ ] Dodge 反馈正常播放 +- [ ] Perfect Dodge 反馈正常播放 +- [ ] 所有效果平滑过渡 +- [ ] 无视觉抖动或撕裂 +- [ [ ] 时间缩放正常工作 +- [ ] 后处理效果正常工作 + +### 7.2 性能测试 + +- [ ] 60 FPS 稳定运行 +- [ ] 无内存泄漏 +- [ ] Feedback 实例正确回收 +- [ ] 后处理效果不影响性能 + +### 7.3 体验测试 + +- [ ] Dash 速度感明显 +- [ ] Dodge 突然性明显 +- [ ] Perfect Dodge 成就感强烈 +- [ ] 效果与动作匹配 +- [ ] 反馈强度适中(不晕眩) + +--- + +## 八、后续优化方向 + +### 8.1 高级功能 + +1. **动态反馈强度** + - 根据冲刺距离调整反馈强度 + - 根据完美闪避时机早晚调整强度 + +2. **连闪避加成** + - 连续完美闪避时增强反馈 + - 视觉上越来越夸张 + +3. **敌人攻击适配** + - 根据攻击类型调整反馈 + - 重攻击有更强的反馈 + +### 8.2 辅助功能 + +1. **难度设置** + - 新手模式:增强反馈提示 + - 高手模式:减少辅助反馈 + +2. **无障碍选项** + - 减少运动模糊 + - 减少时间缩放 + - 减少屏幕效果 + +--- + +*文档生成日期: 2026-04-17* +*生成者: Game Designer Agent*