diff --git a/.gitignore b/.gitignore
index 2f9d10f06..696a274f5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
build/
/tags
/bazel-*
+/.vs
+/.out
diff --git a/_prj_msvc/props/umba_3dp_boost.props b/_prj_msvc/props/umba_3dp_boost.props
new file mode 100644
index 000000000..027ee8423
--- /dev/null
+++ b/_prj_msvc/props/umba_3dp_boost.props
@@ -0,0 +1,6 @@
+
+
+ $(BOOST_1_75_0_ROOT)
+ $(BOOST)\stage\lib
+
+
diff --git a/_prj_msvc/props/umba_3dp_jinja2cpp.props b/_prj_msvc/props/umba_3dp_jinja2cpp.props
new file mode 100644
index 000000000..f8cdd4217
--- /dev/null
+++ b/_prj_msvc/props/umba_3dp_jinja2cpp.props
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+ $(JINJA2CPP_BUILT_ROOT)\$(UMBA_TOOLSET_PLATFORM_CONFIG_ROOT)
+ $(JINJA2CPP_TOOLSET_PLATFORM_CONFIG_ROOT)\include
+ $(JINJA2CPP_TOOLSET_PLATFORM_CONFIG_ROOT)\lib;$(JINJA2CPP_TOOLSET_PLATFORM_CONFIG_ROOT)\lib\static
+
+
+
diff --git a/_prj_msvc/props/umba_3dp_llvm.props b/_prj_msvc/props/umba_3dp_llvm.props
new file mode 100644
index 000000000..9f2f6f5fd
--- /dev/null
+++ b/_prj_msvc/props/umba_3dp_llvm.props
@@ -0,0 +1,45 @@
+
+
+
+
+
+ $(UMBA_MSVCVER)
+
+
+
+ $(UMBA_LLVM_BUILT_ROOT)\$(UMBA_LLVM_TOOLSET)
+
+
+
+
+ $(LLVM_LIB_ROOT)\$(PlatformShortName)\include;$(LLVM_LIB_ROOT)\$(PlatformShortName)\tools\clang\include
+
+
+
+
+ $(UMBA_LLVM_PROJECT_ROOT)\llvm\include;$(UMBA_LLVM_PROJECT_ROOT)\clang\include;$(UMBA_LLVM_CLANG_TOOLSET_PLATFORM_CONFIG_ARTIFACTS_INC)
+ $(UMBA_LLVM_PROJECT_ROOT)\clang-tools-extra
+ $(LLVM_LIB_ROOT)\$(PlatformShortName)\$(Configuration)\lib
+ $(LLVM_LIB_ROOT)\$(PlatformShortName)\$(Configuration)\bin
+
+
+
diff --git a/_prj_msvc/props/umba_3dp_qtdir.props b/_prj_msvc/props/umba_3dp_qtdir.props
new file mode 100644
index 000000000..8fc51d7fc
--- /dev/null
+++ b/_prj_msvc/props/umba_3dp_qtdir.props
@@ -0,0 +1,51 @@
+
+
+
+ $(MSVC2017_QTROOT)\msvc2017
+
+
+ $(MSVC2019_QTROOT)\msvc2017
+
+
+
+ $(UMBA_QT_ROOT)\msvc2017
+
+
+ $(UMBA_QT_ROOT)\msvc2017
+
+
+ $(UMBA_QT_ROOT)\msvc2017_64
+
+
+ $(UMBA_QT_ROOT)\msvc2017_64
+
+
+
+ $(QTDIR)\bin
+ $(QTDIR)\bin
+ $(QTDIR)\lib
+ $(QTDIR)\include
+
+
+
+
+ $(MSVC2017_QWT_ROOT)
+
+
+ $(QWT_ROOT_PATH)
+
+ $(QWT_ROOT_PATH)\$(PlatformShortName)\lib
+ $(QWT_ROOT_PATH)\$(PlatformShortName)\lib
+ $(QWT_ROOT_PATH)\$(PlatformShortName)\include
+
+
+ $(QWT_LIB_PATH)
+ $(QWT_INC_PATH)
+
+
+
+
+ PATH=$(QWT_DLL_PATH);$(QT_DLL_PATH);$(PATH);$(LocalDebuggerEnvironment)
+
+
+
diff --git a/_prj_msvc/props/umba_common.props b/_prj_msvc/props/umba_common.props
new file mode 100644
index 000000000..af1a05324
--- /dev/null
+++ b/_prj_msvc/props/umba_common.props
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+ $(PlatformShortName)\$(Configuration)
+
+
+
+ $(UMBA_MSVCVER)\$(UMBA_PLATFORM_CONFIG_ROOT)
+
+
+
+
diff --git a/_prj_msvc/props/umba_config_matrix_common.props b/_prj_msvc/props/umba_config_matrix_common.props
new file mode 100644
index 000000000..7702a77d3
--- /dev/null
+++ b/_prj_msvc/props/umba_config_matrix_common.props
@@ -0,0 +1,54 @@
+
+
+
+
+ UNICODE;_UNICODE;WIN32;WIN64;%(PreprocessorDefinitions)
+ Disabled
+ ProgramDatabase
+ MultiThreadedDebugDLL
+
+
+ true
+ true
+
+
+
+
+
+ UNICODE;_UNICODE;WIN32;%(PreprocessorDefinitions)
+ Disabled
+ ProgramDatabase
+ MultiThreadedDebugDLL
+
+
+ true
+ true
+
+
+
+
+
+ UNICODE;_UNICODE;WIN32;WIN64;NDEBUG;%(PreprocessorDefinitions)
+
+ MultiThreadedDLL
+
+
+ false
+ true
+
+
+
+
+
+ UNICODE;_UNICODE;WIN32;NDEBUG;%(PreprocessorDefinitions)
+
+
+ MultiThreadedDLL
+
+
+ false
+ true
+
+
+
+
diff --git a/_prj_msvc/props/umba_config_matrix_qt.props b/_prj_msvc/props/umba_config_matrix_qt.props
new file mode 100644
index 000000000..edb020cb7
--- /dev/null
+++ b/_prj_msvc/props/umba_config_matrix_qt.props
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+ UNICODE;_UNICODE;WIN32;WIN64;%(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories);$(ProjectDir)\..\..
+
+
+
+
+
+ UNICODE;_UNICODE;WIN32;%(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+
+
+
+
+
+ UNICODE;_UNICODE;WIN32;WIN64;NDEBUG;%(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+
+
+
+
+
+ UNICODE;_UNICODE;WIN32;NDEBUG;%(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+
+
+
+
diff --git a/_prj_msvc/props/umba_local_common_prjdirs.props b/_prj_msvc/props/umba_local_common_prjdirs.props
new file mode 100644
index 000000000..bc3c91a44
--- /dev/null
+++ b/_prj_msvc/props/umba_local_common_prjdirs.props
@@ -0,0 +1,19 @@
+
+
+
+
+ $(ProjectDir)\..\_libs
+ $(UMBA_LOCAL_LIBS_ROOT)\pretty_headers;$(UMBA_LOCAL_LIBS_ROOT)\_pretty_headers;$(UMBA_LOCAL_LIBS_ROOT)\std_headers;$(UMBA_LOCAL_LIBS_ROOT)\_std_headers;$(UMBA_LOCAL_LIBS_ROOT)\qt_headers;$(UMBA_LOCAL_LIBS_ROOT)\_qt_headers;$(UMBA_LOCAL_LIBS_ROOT)\qt5_headers;$(UMBA_LOCAL_LIBS_ROOT)\_qt5_headers;$(UMBA_LOCAL_LIBS_ROOT)\qt6_headers;$(UMBA_LOCAL_LIBS_ROOT)\_qt6_headers
+ $(UMBA_LOCAL_LIBS_ROOT);$(UMBA_LOCAL_PRETTY_HEADERS);$(ProjectDir)\..\src;$(UMBA_LOCAL_LIBS_ROOT)\sfmt\inc;$(UMBA_LOCAL_LIBS_ROOT)\mem_pools\inc
+
+ $(SolutionDir)\.out\$(UMBA_TOOLSET_PLATFORM_CONFIG_ROOT)
+
+
+
+
+ $(UMBA_OUTDIR)\
+ $(UMBA_OUTDIR)\_$(ProjectName)\
+
+
+
+
diff --git a/_prj_msvc/props/umba_msvcver.props b/_prj_msvc/props/umba_msvcver.props
new file mode 100644
index 000000000..ee5c1823c
--- /dev/null
+++ b/_prj_msvc/props/umba_msvcver.props
@@ -0,0 +1,24 @@
+
+
+
+ msvc_$(VisualStudioVersion)
+
+
+
+ msvc2017
+ 10.0.16299.0
+ v141
+
+
+
+ msvc2019
+ 10.0
+ v142
+
+
+
+ msvc2022
+ v143
+
+
+
diff --git a/_prj_msvc/props/umba_project_configurations.props b/_prj_msvc/props/umba_project_configurations.props
new file mode 100644
index 000000000..5df3f6644
--- /dev/null
+++ b/_prj_msvc/props/umba_project_configurations.props
@@ -0,0 +1,37 @@
+
+
+
+
+
+ Debug
+ Win32
+
+
+
+ Debug
+ x64
+
+
+
+ Release
+ Win32
+
+
+
+ Release
+ x64
+
+
+
+ RelWithDebInfo
+ Win32
+
+
+
+ MinSizeRel
+ x64
+
+
+
+
+
diff --git a/_prj_msvc/props/umba_qt_common.props b/_prj_msvc/props/umba_qt_common.props
new file mode 100644
index 000000000..aacc381d4
--- /dev/null
+++ b/_prj_msvc/props/umba_qt_common.props
@@ -0,0 +1,19 @@
+
+
+
+
+
+ $(UMBA_OUTDIR)\_$(ProjectName)\GeneratedFiles
+
+
+
+
+ $(QT_GENERATED_PATH);$(QT_INC_PATH);%(AdditionalIncludeDirectories)
+
+
+ STRICT;WIN32_LEAN_AND_MEAN;USE_UMBA_LOUT_COUT;%(PreprocessorDefinitions)
+ $(UMBA_INC_DIRS);$(QT_GENERATED_PATH);$(QT_INC_PATH);%(AdditionalIncludeDirectories)
+
+
+
+
diff --git a/_prj_msvc/props/umba_stdcpp14.props b/_prj_msvc/props/umba_stdcpp14.props
new file mode 100644
index 000000000..fb9a532f0
--- /dev/null
+++ b/_prj_msvc/props/umba_stdcpp14.props
@@ -0,0 +1,9 @@
+
+
+
+
+ stdcpp14
+
+
+
+
diff --git a/_prj_msvc/props/umba_stdcpp17.props b/_prj_msvc/props/umba_stdcpp17.props
new file mode 100644
index 000000000..45738a5ec
--- /dev/null
+++ b/_prj_msvc/props/umba_stdcpp17.props
@@ -0,0 +1,9 @@
+
+
+
+
+ stdcpp17
+
+
+
+
diff --git a/_prj_msvc/props/umba_stdcpp20.props b/_prj_msvc/props/umba_stdcpp20.props
new file mode 100644
index 000000000..ef70efad1
--- /dev/null
+++ b/_prj_msvc/props/umba_stdcpp20.props
@@ -0,0 +1,9 @@
+
+
+
+
+ stdcpp20
+
+
+
+
diff --git a/_prj_msvc/props/umba_target_console.props b/_prj_msvc/props/umba_target_console.props
new file mode 100644
index 000000000..c139f4ac2
--- /dev/null
+++ b/_prj_msvc/props/umba_target_console.props
@@ -0,0 +1,19 @@
+
+
+
+ Application
+
+
+
+
+ USE_UMBA_LOUT_COUT;%(PreprocessorDefinitions)
+
+
+ Console
+ $(OutDir)\$(ProjectName).exe
+ $(OutDir);%(AdditionalLibraryDirectories)
+ %(AdditionalDependencies)
+
+
+
+
diff --git a/_prj_msvc/props/umba_target_lib_static.props b/_prj_msvc/props/umba_target_lib_static.props
new file mode 100644
index 000000000..8043a197d
--- /dev/null
+++ b/_prj_msvc/props/umba_target_lib_static.props
@@ -0,0 +1,19 @@
+
+
+
+ StaticLibrary
+
+
+
+
+ %(PreprocessorDefinitions)
+
+
+ Console
+ $(OutDir)\$(ProjectName).lib
+ $(OutDir);%(AdditionalLibraryDirectories)
+ %(AdditionalDependencies)
+
+
+
+
diff --git a/_prj_msvc/props/umba_target_utility.props b/_prj_msvc/props/umba_target_utility.props
new file mode 100644
index 000000000..4df5dbb87
--- /dev/null
+++ b/_prj_msvc/props/umba_target_utility.props
@@ -0,0 +1,16 @@
+
+
+
+ Utility
+
+
+
+
+ Console
+ $(OutDir)\$(ProjectName)
+ $(OutDir);%(AdditionalLibraryDirectories)
+ %(AdditionalDependencies)
+
+
+
+
diff --git a/_prj_msvc/umba_prjdefs.props b/_prj_msvc/umba_prjdefs.props
new file mode 100644
index 000000000..63a2e5223
--- /dev/null
+++ b/_prj_msvc/umba_prjdefs.props
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+ YAML_CPP_STATIC_DEFINE;%(PreprocessorDefinitions)
+
+
+ %(AdditionalLibraryDirectories)
+ %(AdditionalDependencies)
+
+
+
+
diff --git a/_prj_msvc/umba_prjdirs.props b/_prj_msvc/umba_prjdirs.props
new file mode 100644
index 000000000..468000bca
--- /dev/null
+++ b/_prj_msvc/umba_prjdirs.props
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+ $(ProjectDir)\..
+ $(YAML_CPP_ROOT)\include
+
+ $(YAML_CPP_INC)
+ $(UMBA_LOCAL_INC_DIRS);$(UMBA_INC_DIRS_EXTRA)
+
+
+ $(UMBA_LOCAL_LIB_DIRS);$(UMBA_INC_DIRS_EXTRA)
+
+
+
+
diff --git a/_prj_msvc/yaml-cpp.vcxproj b/_prj_msvc/yaml-cpp.vcxproj
new file mode 100644
index 000000000..ae13ce6e4
--- /dev/null
+++ b/_prj_msvc/yaml-cpp.vcxproj
@@ -0,0 +1,36 @@
+
+
+
+
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(VC_IncludePath);$(WindowsSDK_IncludePath);$(UMBA_INC_DIRS)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_prj_msvc/yaml-cpp.vcxproj.user b/_prj_msvc/yaml-cpp.vcxproj.user
new file mode 100644
index 000000000..88a550947
--- /dev/null
+++ b/_prj_msvc/yaml-cpp.vcxproj.user
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/_prj_msvc/yaml_cpp.props b/_prj_msvc/yaml_cpp.props
new file mode 100644
index 000000000..b4db9de94
--- /dev/null
+++ b/_prj_msvc/yaml_cpp.props
@@ -0,0 +1,44 @@
+
+
+
+
+ YAML_CPP_STATIC_DEFINE;%(PreprocessorDefinitions)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/gen-msvc2017-sln.bat b/gen-msvc2017-sln.bat
new file mode 100644
index 000000000..b62806fbf
--- /dev/null
+++ b/gen-msvc2017-sln.bat
@@ -0,0 +1,4 @@
+umba-subst-macros --overwrite --raw ^
+--set="Visual Studio Version 16:Visual Studio 15" ^
+--set="VisualStudioVersion = 16.:VisualStudioVersion = 15" ^
+yaml-cpp-msvc2019.sln yaml-cpp-msvc2017.sln
diff --git a/src/contrib/dragonbox.h b/src/contrib/dragonbox.h
index 499a1576e..2a9552000 100644
--- a/src/contrib/dragonbox.h
+++ b/src/contrib/dragonbox.h
@@ -937,9 +937,16 @@ namespace jkj {
return false;
}
+ // https://github.com/jbeder/yaml-cpp/pull/1364/files
+ template class Info, std::int_least32_t min_exponent,
+ std::int_least32_t max_exponent, std::size_t current_tier>
+ constexpr bool is_in_range_v =
+ min_exponent >= Info::min_exponent &&
+ max_exponent <= Info::max_exponent;
+
template class Info, stdr::int_least32_t min_exponent,
stdr::int_least32_t max_exponent, stdr::size_t current_tier = 0,
- bool = is_in_range(0)>
+ bool = is_in_range_v /* (0) */ >
struct compute_impl;
template class Info, stdr::int_least32_t min_exponent,
diff --git a/yaml-cpp-msvc2017.sln b/yaml-cpp-msvc2017.sln
new file mode 100644
index 000000000..187f306a0
--- /dev/null
+++ b/yaml-cpp-msvc2017.sln
@@ -0,0 +1,41 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 150.31205.134
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaml-cpp", "_prj_msvc\yaml-cpp.vcxproj", "{5E9F7FDF-0402-4004-98FD-01852CF7477E}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ MinSizeRel|x64 = MinSizeRel|x64
+ MinSizeRel|x86 = MinSizeRel|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ RelWithDebInfo|x64 = RelWithDebInfo|x64
+ RelWithDebInfo|x86 = RelWithDebInfo|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.Debug|x64.ActiveCfg = Debug|x64
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.Debug|x64.Build.0 = Debug|x64
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.Debug|x86.ActiveCfg = Debug|Win32
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.Debug|x86.Build.0 = Debug|Win32
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.MinSizeRel|x86.ActiveCfg = MinSizeRel|x64
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.Release|x64.ActiveCfg = Release|x64
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.Release|x64.Build.0 = Release|x64
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.Release|x86.ActiveCfg = Release|Win32
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.Release|x86.Build.0 = Release|Win32
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|Win32
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|Win32
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {5E0C8F56-E644-47AC-B47B-157E9451A52E}
+ EndGlobalSection
+EndGlobal
diff --git a/yaml-cpp-msvc2019.sln b/yaml-cpp-msvc2019.sln
new file mode 100644
index 000000000..de9a94b13
--- /dev/null
+++ b/yaml-cpp-msvc2019.sln
@@ -0,0 +1,41 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.31205.134
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaml-cpp", "_prj_msvc\yaml-cpp.vcxproj", "{5E9F7FDF-0402-4004-98FD-01852CF7477E}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ MinSizeRel|x64 = MinSizeRel|x64
+ MinSizeRel|x86 = MinSizeRel|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ RelWithDebInfo|x64 = RelWithDebInfo|x64
+ RelWithDebInfo|x86 = RelWithDebInfo|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.Debug|x64.ActiveCfg = Debug|x64
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.Debug|x64.Build.0 = Debug|x64
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.Debug|x86.ActiveCfg = Debug|Win32
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.Debug|x86.Build.0 = Debug|Win32
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.MinSizeRel|x86.ActiveCfg = MinSizeRel|x64
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.Release|x64.ActiveCfg = Release|x64
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.Release|x64.Build.0 = Release|x64
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.Release|x86.ActiveCfg = Release|Win32
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.Release|x86.Build.0 = Release|Win32
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|Win32
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|Win32
+ {5E9F7FDF-0402-4004-98FD-01852CF7477E}.RelWithDebInfo|x86.Build.0 = RelWithDebInfo|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {5E0C8F56-E644-47AC-B47B-157E9451A52E}
+ EndGlobalSection
+EndGlobal