Compiles and runs without issues.

CC Maintainer

On Tue Apr 25, 2023 at 04:22:27AM -0400, Brad Smith wrote:
> Attached are updates to OpenImageIO 2.4 and Blender 3.3.
> 
> I tried initially sending the updates to the maintainer but his e-mail
> server appears to be down.
> 
> It could definitely use some testing from someone familiar with Blender.

> Index: Makefile
> ===================================================================
> RCS file: /home/cvs/ports/graphics/openimageio/Makefile,v
> retrieving revision 1.64
> diff -u -p -u -p -r1.64 Makefile
> --- Makefile  13 Nov 2022 15:28:42 -0000      1.64
> +++ Makefile  19 Apr 2023 03:26:57 -0000
> @@ -5,13 +5,12 @@ COMMENT =           library for reading and writi
>  
>  GH_ACCOUNT =         OpenImageIO
>  GH_PROJECT =         oiio
> -GH_TAGNAME =         Release-$V
> -V =                  2.2.20.0
> +GH_TAGNAME =         v$V
> +V =                  2.4.10.0
>  DISTNAME =           openimageio-${V}
> -REVISION =           2
>  
> -SHARED_LIBS +=               OpenImageIO             11.1 # 2.2.20
> -SHARED_LIBS +=               OpenImageIO_Util        7.0 # 2.2.20
> +SHARED_LIBS +=               OpenImageIO             12.0 # 2.4.10
> +SHARED_LIBS +=               OpenImageIO_Util        8.0 # 2.4.10
>  
>  CATEGORIES =         graphics devel
>  
> @@ -22,17 +21,16 @@ MAINTAINER =              Dimitri Karamazov <deserte
>  # BSD
>  PERMIT_PACKAGE =     Yes
>  
> -WANTLIB += ${COMPILER_LIBCXX}
> -WANTLIB += GL GLU Iex-3_1 IlmThread-3_1 Imath-3_1 OpenColorIO
> -WANTLIB += OpenEXR-3_1 Qt5Core Qt5Gui Qt5OpenGL Qt5Widgets avcodec
> -WANTLIB += avformat avutil boost_atomic-mt boost_chrono-mt boost_date_time-mt
> -WANTLIB += boost_filesystem-mt boost_system-mt boost_thread-mt
> -WANTLIB += bz2 c freetype gif heif jpeg m openjp2 png pugixml
> -WANTLIB += raw_r swscale tiff webp webpdemux z
> +WANTLIB += ${COMPILER_LIBCXX} GL GLU Iex-3_1 IlmThread-3_1 Imath-3_1
> +WANTLIB += OpenColorIO OpenEXR-3_1 OpenEXRCore-3_1 Qt6Core Qt6Gui
> +WANTLIB += Qt6OpenGL Qt6OpenGLWidgets Qt6Widgets avcodec avformat
> +WANTLIB += avutil boost_atomic-mt boost_chrono-mt boost_filesystem-mt
> +WANTLIB += boost_thread-mt bz2 c freetype gif heif jpeg m openjp2
> +WANTLIB += png pugixml raw_r swscale tbb tiff webp webpdemux z
>  
>  MODULES =            devel/cmake \
>                       lang/python \
> -                     x11/qt5
> +                     x11/qt6
>  
>  COMPILER =           base-clang ports-gcc
>  
> @@ -42,6 +40,7 @@ BUILD_DEPENDS =             devel/fmt \
>                       textproc/txt2man
>  
>  LIB_DEPENDS =                devel/boost \
> +                     devel/tbb \
>                       graphics/ffmpeg \
>                       graphics/giflib \
>                       graphics/jpeg \
> @@ -56,6 +55,7 @@ LIB_DEPENDS =               devel/boost \
>                       textproc/pugixml
>  
>  CONFIGURE_ARGS +=    -DCMAKE_INSTALL_MANDIR="man/man1" \
> +                     -DCMAKE_INSTALL_PREFIX="${PREFIX}" \
>                       
> -DCMAKE_LIBRARY_PATH="${WRKBUILD}/lib:${CMAKE_LIBRARY_PATH}" \
>                       -DSTOP_ON_WARNING=OFF \
>                       -DUSE_CCACHE=OFF \
> Index: distinfo
> ===================================================================
> RCS file: /home/cvs/ports/graphics/openimageio/distinfo,v
> retrieving revision 1.16
> diff -u -p -u -p -r1.16 distinfo
> --- distinfo  2 Mar 2022 19:55:18 -0000       1.16
> +++ distinfo  17 Apr 2023 02:59:00 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (openimageio-2.2.20.0.tar.gz) = 
> hZ85PkUz2rOwAdiBxB/U4KPqEU4VnwDXsqol+pjpf5k=
> -SIZE (openimageio-2.2.20.0.tar.gz) = 29252912
> +SHA256 (openimageio-2.4.10.0.tar.gz) = 
> WfUjoLmhAUmTvtz3dSmTr0OzSHYRZfUupuuEeH9XrtU=
> +SIZE (openimageio-2.4.10.0.tar.gz) = 32155954
> Index: patches/patch-src_libutil_strutil_cpp
> ===================================================================
> RCS file: patches/patch-src_libutil_strutil_cpp
> diff -N patches/patch-src_libutil_strutil_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_libutil_strutil_cpp     17 Apr 2023 03:38:22 -0000
> @@ -0,0 +1,30 @@
> +Index: src/libutil/strutil.cpp
> +--- src/libutil/strutil.cpp.orig
> ++++ src/libutil/strutil.cpp
> +@@ -62,7 +62,7 @@ static std::mutex output_mutex;
> + 
> + // On systems that support it, get a location independent locale.
> + #if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) \
> +-    || defined(__FreeBSD_kernel__) || defined(__GLIBC__)
> ++    || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || 
> defined(__GLIBC__)
> + static locale_t c_loc = newlocale(LC_ALL_MASK, "C", nullptr);
> + #elif defined(_WIN32)
> + static _locale_t c_loc = _create_locale(LC_ALL, "C");
> +@@ -446,7 +446,7 @@ inline int
> + strcasecmp(const char* a, const char* b)
> + {
> + #if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) \
> +-    || defined(__FreeBSD_kernel__) || defined(__GLIBC__)
> ++    || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || 
> defined(__GLIBC__)
> +     return strcasecmp_l(a, b, c_loc);
> + #elif defined(_WIN32)
> +     return _stricmp_l(a, b, c_loc);
> +@@ -460,7 +460,7 @@ inline int
> + strncasecmp(const char* a, const char* b, size_t size)
> + {
> + #if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) \
> +-    || defined(__FreeBSD_kernel__) || defined(__GLIBC__)
> ++    || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || 
> defined(__GLIBC__)
> +     return strncasecmp_l(a, b, size, c_loc);
> + #elif defined(_WIN32)
> +     return _strnicmp_l(a, b, size, c_loc);
> Index: pkg/PLIST
> ===================================================================
> RCS file: /home/cvs/ports/graphics/openimageio/pkg/PLIST,v
> retrieving revision 1.19
> diff -u -p -u -p -r1.19 PLIST
> --- pkg/PLIST 18 Mar 2022 21:10:59 -0000      1.19
> +++ pkg/PLIST 19 Apr 2023 01:05:40 -0000
> @@ -6,6 +6,7 @@
>  @bin bin/iv
>  @bin bin/maketx
>  @bin bin/oiiotool
> +@bin bin/testtex
>  include/OpenImageIO/
>  include/OpenImageIO/Imath.h
>  include/OpenImageIO/argparse.h
> @@ -19,6 +20,7 @@ include/OpenImageIO/deepdata.h
>  include/OpenImageIO/detail/
>  include/OpenImageIO/detail/farmhash.h
>  include/OpenImageIO/detail/fmt/
> +include/OpenImageIO/detail/fmt.h
>  include/OpenImageIO/detail/fmt/core.h
>  include/OpenImageIO/detail/fmt/format-inl.h
>  include/OpenImageIO/detail/fmt/format.h
> @@ -31,6 +33,7 @@ include/OpenImageIO/filter.h
>  include/OpenImageIO/fmath.h
>  include/OpenImageIO/fstream_mingw.h
>  include/OpenImageIO/function_view.h
> +include/OpenImageIO/half.h
>  include/OpenImageIO/hash.h
>  include/OpenImageIO/image_view.h
>  include/OpenImageIO/imagebuf.h
> @@ -50,17 +53,20 @@ include/OpenImageIO/simd.h
>  include/OpenImageIO/span.h
>  include/OpenImageIO/strided_ptr.h
>  include/OpenImageIO/string_view.h
> +include/OpenImageIO/strongparam.h
>  include/OpenImageIO/strutil.h
>  include/OpenImageIO/sysutil.h
>  include/OpenImageIO/texture.h
>  include/OpenImageIO/thread.h
>  include/OpenImageIO/tiffutils.h
>  include/OpenImageIO/timer.h
> +include/OpenImageIO/type_traits.h
>  include/OpenImageIO/typedesc.h
>  include/OpenImageIO/unittest.h
>  include/OpenImageIO/unordered_map_concurrent.h
>  include/OpenImageIO/ustring.h
>  include/OpenImageIO/varyingref.h
> +include/OpenImageIO/vecparam.h
>  include/OpenImageIO/version.h
>  lib/cmake/OpenImageIO/
>  lib/cmake/OpenImageIO/OpenImageIOConfig.cmake
> @@ -70,7 +76,9 @@ lib/cmake/OpenImageIO/OpenImageIOTargets
>  @lib lib/libOpenImageIO.so.${LIBOpenImageIO_VERSION}
>  @lib lib/libOpenImageIO_Util.so.${LIBOpenImageIO_Util_VERSION}
>  lib/pkgconfig/OpenImageIO.pc
> -@so 
> lib/python${MODPY_VERSION}/site-packages/OpenImageIO.${MODPY_PYC_MAGIC_TAG}so
> +lib/python${MODPY_VERSION}/site-packages/OpenImageIO/
> +@so 
> lib/python${MODPY_VERSION}/site-packages/OpenImageIO/OpenImageIO.${MODPY_PYC_MAGIC_TAG}so
> +lib/python${MODPY_VERSION}/site-packages/OpenImageIO/__init__.py
>  @man man/man1/iconvert.1
>  @man man/man1/idiff.1
>  @man man/man1/igrep.1
> @@ -78,9 +86,6 @@ lib/pkgconfig/OpenImageIO.pc
>  @man man/man1/iv.1
>  @man man/man1/maketx.1
>  @man man/man1/oiiotool.1
> -share/cmake/
> -share/cmake/Modules/
> -share/cmake/Modules/FindOpenImageIO.cmake
>  share/doc/OpenImageIO/
>  share/doc/OpenImageIO/CHANGES-0.x.md
>  share/doc/OpenImageIO/CHANGES-1.x.md

> Index: Makefile
> ===================================================================
> RCS file: /home/cvs/ports/graphics/blender/Makefile,v
> retrieving revision 1.113
> diff -u -p -u -p -r1.113 Makefile
> --- Makefile  23 Feb 2023 14:44:35 -0000      1.113
> +++ Makefile  25 Apr 2023 07:06:20 -0000
> @@ -7,9 +7,7 @@ DPB_PROPERTIES = parallel
>  
>  COMMENT =    3D creation software
>  
> -DISTNAME =   blender-3.0.1
> -REVISION =   1
> -
> +DISTNAME =   blender-3.3.6
>  CATEGORIES = graphics
>  
>  HOMEPAGE =   https://www.blender.org/
> @@ -20,15 +18,16 @@ MAINTAINER =      Dimitri Karamazov <deserter
>  PERMIT_PACKAGE =     Yes
>  
>  WANTLIB += ${MODPY_WANTLIB}
> -WANTLIB += ${COMPILER_LIBCXX} Alembic GL GLEW Iex-3_1 IlmThread-3_1
> -WANTLIB += Imath-3_1 OpenColorIO OpenEXR-3_1 OpenImageIO SDL2
> -WANTLIB += X11 Xfixes Xi Xrender Xxf86vm avcodec avdevice avformat
> -WANTLIB += avutil blosc boost_atomic-mt boost_chrono-mt boost_date_time-mt
> -WANTLIB += boost_filesystem-mt boost_iostreams-mt boost_regex-mt
> -WANTLIB += boost_system-mt boost_thread-mt c expat fftw3 freetype
> -WANTLIB += gmp gmpxx jpeg m openal openjp2 openvdb osdCPU osdGPU
> -WANTLIB += png potrace pugixml pystring sndfile swscale tbb tiff
> -WANTLIB += util yaml-cpp z zstd
> +WANTLIB += ${COMPILER_LIBCXX} Alembic GL GLEW Iex-3_1 IlmThread-3_1 Imath-3_1
> +WANTLIB += OpenColorIO OpenEXR-3_1 OpenEXRCore-3_1 OpenImageIO 
> OpenImageIO_Util
> +WANTLIB += SDL2 X11 Xfixes Xi Xrender Xxf86vm avcodec avdevice
> +WANTLIB += avfilter avformat avutil blosc boost_atomic-mt boost_chrono-mt
> +WANTLIB += boost_date_time-mt boost_filesystem-mt boost_iostreams-mt
> +WANTLIB += boost_regex-mt boost_system-mt boost_thread-mt c expat
> +WANTLIB += fftw3 freetype gmp gmpxx jpeg m openal openjp2 openvdb
> +WANTLIB += osdCPU osdGPU png potrace pugixml pystring sndfile
> +WANTLIB += swresample swscale tbb tiff util webp webpdemux webpmux
> +WANTLIB += yaml-cpp z zstd
>  
>  MASTER_SITES =       https://download.blender.org/source/ \
>               http://mirror.cs.umn.edu/blender.org/source/
> @@ -85,8 +84,6 @@ NO_TEST =   Yes
>  
>  CXXFLAGS +=  -I${LOCALBASE}/include -I${X11BASE}/include
>  CFLAGS +=    -I${LOCALBASE}/include
> -# Fix build with OpenEXR>=3 (Imath split)
> -CXXFLAGS +=  -I${LOCALBASE}/include/Imath
>  
>  MODPY_ADJ_FILES =    release/scripts/modules/bl_i18n_utils/merge_po.py \
>                       release/scripts/modules/bl_i18n_utils/utils_rtl.py \
> Index: distinfo
> ===================================================================
> RCS file: /home/cvs/ports/graphics/blender/distinfo,v
> retrieving revision 1.32
> diff -u -p -u -p -r1.32 distinfo
> --- distinfo  5 Mar 2022 14:35:47 -0000       1.32
> +++ distinfo  19 Apr 2023 04:38:21 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (blender-3.0.1.tar.xz) = GbsKliaeClxLXWK5g2ODYFRHHAlrg9l1VZiyWzR9dEE=
> -SIZE (blender-3.0.1.tar.xz) = 40155604
> +SHA256 (blender-3.3.6.tar.xz) = WnKbSVvA0Uou7LOCZcX4GwpIMdzzqR4DKWIm6PxV/jg=
> +SIZE (blender-3.3.6.tar.xz) = 41912972
> Index: patches/patch-build_files_cmake_Modules_FindOpenEXR_cmake
> ===================================================================
> RCS file: patches/patch-build_files_cmake_Modules_FindOpenEXR_cmake
> diff -N patches/patch-build_files_cmake_Modules_FindOpenEXR_cmake
> --- patches/patch-build_files_cmake_Modules_FindOpenEXR_cmake 11 Mar 2022 
> 19:22:08 -0000      1.2
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,16 +0,0 @@
> -Fix build with OpenEXR>=3
> -
> -Index: build_files/cmake/Modules/FindOpenEXR.cmake
> ---- build_files/cmake/Modules/FindOpenEXR.cmake.orig
> -+++ build_files/cmake/Modules/FindOpenEXR.cmake
> -@@ -34,9 +34,8 @@ ENDIF()
> - SET(_openexr_libs_ver_init "2.0")
> - 
> - SET(_openexr_FIND_COMPONENTS
> --  Half
> -   Iex
> --  IlmImf
> -+  OpenEXR
> -   IlmThread
> -   Imath
> - )
> Index: patches/patch-intern_cycles_CMakeLists_txt
> ===================================================================
> RCS file: patches/patch-intern_cycles_CMakeLists_txt
> diff -N patches/patch-intern_cycles_CMakeLists_txt
> --- patches/patch-intern_cycles_CMakeLists_txt        11 Mar 2022 19:22:08 
> -0000      1.8
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,23 +0,0 @@
> -Fix conflict with textproc/pugixml
> -
> -Index: intern/cycles/CMakeLists.txt
> ---- intern/cycles/CMakeLists.txt.orig        Wed Nov 25 14:01:32 2020
> -+++ intern/cycles/CMakeLists.txt     Sat Nov 28 21:50:54 2020
> -@@ -320,11 +320,16 @@ include_directories(
> -   SYSTEM
> -   ${BOOST_INCLUDE_DIR}
> -   ${OPENIMAGEIO_INCLUDE_DIRS}
> --  ${OPENIMAGEIO_INCLUDE_DIRS}/OpenImageIO
> -   ${OPENEXR_INCLUDE_DIR}
> -   ${OPENEXR_INCLUDE_DIRS}
> -   ${PUGIXML_INCLUDE_DIR}
> -   ${TBB_INCLUDE_DIRS}
> -+)
> -+
> -+include_directories(
> -+  BEFORE
> -+  SYSTEM
> -+  ${OPENIMAGEIO_INCLUDE_DIRS}/OpenImageIO
> - )
> - 
> - if(CYCLES_STANDALONE_REPOSITORY)
> Index: patches/patch-intern_cycles_util_aligned_malloc_cpp
> ===================================================================
> RCS file: 
> /home/cvs/ports/graphics/blender/patches/patch-intern_cycles_util_aligned_malloc_cpp,v
> retrieving revision 1.2
> diff -u -p -u -p -r1.2 patch-intern_cycles_util_aligned_malloc_cpp
> --- patches/patch-intern_cycles_util_aligned_malloc_cpp       11 Mar 2022 
> 19:22:08 -0000      1.2
> +++ patches/patch-intern_cycles_util_aligned_malloc_cpp       19 Apr 2023 
> 04:31:57 -0000
> @@ -1,7 +1,7 @@
> -Index: intern/cycles/util/util_aligned_malloc.cpp
> ---- intern/cycles/util/aligned_malloc.cpp.orig       Wed Sep  2 16:39:54 2020
> -+++ intern/cycles/util/aligned_malloc.cpp    Sun Nov 22 13:12:51 2020
> -@@ -21,7 +21,8 @@
> +Index: intern/cycles/util/aligned_malloc.cpp
> +--- intern/cycles/util/aligned_malloc.cpp.orig
> ++++ intern/cycles/util/aligned_malloc.cpp
> +@@ -8,7 +8,8 @@
>   
>   /* Adopted from Libmv. */
>   
> @@ -11,7 +11,7 @@ Index: intern/cycles/util/util_aligned_m
>   /* Needed for memalign on Linux and _aligned_alloc on Windows. */
>   #  ifdef FREE_WINDOWS
>   /* Make sure _aligned_malloc is included. */
> -@@ -46,7 +47,8 @@ void *util_aligned_malloc(size_t size, int alignment)
> +@@ -33,7 +34,8 @@ void *util_aligned_malloc(size_t size, int alignment)
>     return MEM_mallocN_aligned(size, alignment, "Cycles Aligned Alloc");
>   #elif defined(_WIN32)
>     return _aligned_malloc(size, alignment);
> Index: patches/patch-intern_ffmpeg_ffmpeg_compat_h
> ===================================================================
> RCS file: patches/patch-intern_ffmpeg_ffmpeg_compat_h
> diff -N patches/patch-intern_ffmpeg_ffmpeg_compat_h
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-intern_ffmpeg_ffmpeg_compat_h       19 Apr 2023 05:28:45 
> -0000
> @@ -0,0 +1,23 @@
> +Fix: Build with FFmpeg 6.0
> +
> +Index: intern/ffmpeg/ffmpeg_compat.h
> +--- intern/ffmpeg/ffmpeg_compat.h.orig
> ++++ intern/ffmpeg/ffmpeg_compat.h
> +@@ -36,6 +36,17 @@
> + #  define FFMPEG_INLINE static inline
> + #endif
> + 
> ++/* AV_CODEC_CAP_AUTO_THREADS was renamed to AV_CODEC_CAP_OTHER_THREADS with
> ++ * upstream commit
> ++ * github.com/FFmpeg/FFmpeg/commit/7d09579190def3ef7562399489e628f3b65714ce
> ++ * (lavc 58.132.100) and removed with commit
> ++ * github.com/FFmpeg/FFmpeg/commit/10c9a0874cb361336237557391d306d26d43f137
> ++ * for ffmpeg 6.0.
> ++ */
> ++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58,132,100)
> ++#  define AV_CODEC_CAP_OTHER_THREADS AV_CODEC_CAP_AUTO_THREADS
> ++#endif
> ++
> + #if (LIBAVFORMAT_VERSION_MAJOR < 58) || \
> +     ((LIBAVFORMAT_VERSION_MAJOR == 58) && (LIBAVFORMAT_VERSION_MINOR < 76))
> + #  define FFMPEG_USE_DURATION_WORKAROUND 1
> Index: patches/patch-intern_guardedalloc_intern_mallocn_c
> ===================================================================
> RCS file: 
> /home/cvs/ports/graphics/blender/patches/patch-intern_guardedalloc_intern_mallocn_c,v
> retrieving revision 1.7
> diff -u -p -u -p -r1.7 patch-intern_guardedalloc_intern_mallocn_c
> --- patches/patch-intern_guardedalloc_intern_mallocn_c        11 Mar 2022 
> 19:22:08 -0000      1.7
> +++ patches/patch-intern_guardedalloc_intern_mallocn_c        19 Apr 2023 
> 04:38:48 -0000
> @@ -3,7 +3,7 @@ Use posix_memalign() on OpenBSD.
>  Index: intern/guardedalloc/intern/mallocn.c
>  --- intern/guardedalloc/intern/mallocn.c.orig
>  +++ intern/guardedalloc/intern/mallocn.c
> -@@ -72,7 +72,8 @@ void *aligned_malloc(size_t size, size_t alignment)
> +@@ -58,7 +58,8 @@ void *aligned_malloc(size_t size, size_t alignment)
>   
>   #ifdef _WIN32
>     return _aligned_malloc(size, alignment);
> Index: patches/patch-intern_guardedalloc_intern_mallocn_guarded_impl_c
> ===================================================================
> RCS file: 
> /home/cvs/ports/graphics/blender/patches/patch-intern_guardedalloc_intern_mallocn_guarded_impl_c,v
> retrieving revision 1.7
> diff -u -p -u -p -r1.7 patch-intern_guardedalloc_intern_mallocn_guarded_impl_c
> --- patches/patch-intern_guardedalloc_intern_mallocn_guarded_impl_c   11 Mar 
> 2022 19:22:08 -0000      1.7
> +++ patches/patch-intern_guardedalloc_intern_mallocn_guarded_impl_c   19 Apr 
> 2023 04:38:46 -0000
> @@ -1,7 +1,7 @@
>  Index: intern/guardedalloc/intern/mallocn_guarded_impl.c
> ---- intern/guardedalloc/intern/mallocn_guarded_impl.c.orig   Fri Oct 30 
> 13:00:11 2020
> -+++ intern/guardedalloc/intern/mallocn_guarded_impl.c        Sat Nov 28 
> 21:50:54 2020
> -@@ -620,6 +620,9 @@ static int compare_len(const void *p1, const void *p2)
> +--- intern/guardedalloc/intern/mallocn_guarded_impl.c.orig
> ++++ intern/guardedalloc/intern/mallocn_guarded_impl.c
> +@@ -604,6 +604,9 @@ static int compare_len(const void *p1, const void *p2)
>   
>   void MEM_guarded_printmemlist_stats(void)
>   {
> @@ -11,7 +11,7 @@ Index: intern/guardedalloc/intern/malloc
>     MemHead *membl;
>     MemPrintBlock *pb, *printblock;
>     unsigned int totpb, a, b;
> -@@ -718,6 +721,7 @@ void MEM_guarded_printmemlist_stats(void)
> +@@ -702,6 +705,7 @@ void MEM_guarded_printmemlist_stats(void)
>   #ifdef HAVE_MALLOC_STATS
>     printf("System Statistics:\n");
>     malloc_stats();
> Index: patches/patch-intern_guardedalloc_intern_mallocn_intern_h
> ===================================================================
> RCS file: 
> /home/cvs/ports/graphics/blender/patches/patch-intern_guardedalloc_intern_mallocn_intern_h,v
> retrieving revision 1.8
> diff -u -p -u -p -r1.8 patch-intern_guardedalloc_intern_mallocn_intern_h
> --- patches/patch-intern_guardedalloc_intern_mallocn_intern_h 11 Mar 2022 
> 19:22:08 -0000      1.8
> +++ patches/patch-intern_guardedalloc_intern_mallocn_intern_h 19 Apr 2023 
> 04:38:46 -0000
> @@ -3,7 +3,7 @@ Don't use malloc.h header on OpenBSD.
>  Index: intern/guardedalloc/intern/mallocn_intern.h
>  --- intern/guardedalloc/intern/mallocn_intern.h.orig
>  +++ intern/guardedalloc/intern/mallocn_intern.h
> -@@ -39,6 +39,8 @@
> +@@ -23,6 +23,8 @@
>   #  define HAVE_MALLOC_STATS
>   #elif defined(__FreeBSD__)
>   #  include <malloc_np.h>
> @@ -12,7 +12,7 @@ Index: intern/guardedalloc/intern/malloc
>   #elif defined(__APPLE__)
>   #  include <malloc/malloc.h>
>   #  define malloc_usable_size malloc_size
> -@@ -66,7 +68,8 @@ size_t malloc_usable_size(void *ptr);
> +@@ -50,7 +52,8 @@ size_t malloc_usable_size(void *ptr);
>   #  define UNLIKELY(x) (x)
>   #endif
>   
> Index: 
> patches/patch-release_scripts_addons_io_scene_gltf2_io_com_gltf2_io_draco_compression_extension_py
> ===================================================================
> RCS file: 
> /home/cvs/ports/graphics/blender/patches/patch-release_scripts_addons_io_scene_gltf2_io_com_gltf2_io_draco_compression_extension_py,v
> retrieving revision 1.2
> diff -u -p -u -p -r1.2 
> patch-release_scripts_addons_io_scene_gltf2_io_com_gltf2_io_draco_compression_extension_py
> --- 
> patches/patch-release_scripts_addons_io_scene_gltf2_io_com_gltf2_io_draco_compression_extension_py
>         11 Mar 2022 19:22:08 -0000      1.2
> +++ 
> patches/patch-release_scripts_addons_io_scene_gltf2_io_com_gltf2_io_draco_compression_extension_py
>         19 Apr 2023 04:31:55 -0000
> @@ -4,7 +4,7 @@ compression library, avoid path and libr
>  Index: 
> release/scripts/addons/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py
>  --- 
> release/scripts/addons/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py.orig
>  +++ 
> release/scripts/addons/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py
> -@@ -46,11 +46,17 @@ def dll_path() -> Path:
> +@@ -35,11 +35,17 @@ def dll_path() -> Path:
>           'darwin': 'lib{}.dylib'.format(lib_name)
>       }.get(sys.platform)
>   
> Index: patches/patch-release_scripts_startup_bl_ui_space_toolsystem_common_py
> ===================================================================
> RCS file: 
> /home/cvs/ports/graphics/blender/patches/patch-release_scripts_startup_bl_ui_space_toolsystem_common_py,v
> retrieving revision 1.3
> diff -u -p -u -p -r1.3 
> patch-release_scripts_startup_bl_ui_space_toolsystem_common_py
> --- patches/patch-release_scripts_startup_bl_ui_space_toolsystem_common_py    
> 11 Mar 2022 19:22:08 -0000      1.3
> +++ patches/patch-release_scripts_startup_bl_ui_space_toolsystem_common_py    
> 19 Apr 2023 04:38:46 -0000
> @@ -3,7 +3,7 @@ Fix path to icons (XXX)
>  Index: release/scripts/startup/bl_ui/space_toolsystem_common.py
>  --- release/scripts/startup/bl_ui/space_toolsystem_common.py.orig
>  +++ release/scripts/startup/bl_ui/space_toolsystem_common.py
> -@@ -252,8 +252,8 @@ class ToolSelectPanelHelper:
> +@@ -235,8 +235,8 @@ class ToolSelectPanelHelper:
>               assert(type(icon_name) is str)
>               icon_value = _icon_cache.get(icon_name)
>               if icon_value is None:
> Index: patches/patch-source_blender_blenkernel_intern_packedFile_c
> ===================================================================
> RCS file: 
> /home/cvs/ports/graphics/blender/patches/patch-source_blender_blenkernel_intern_packedFile_c,v
> retrieving revision 1.13
> diff -u -p -u -p -r1.13 patch-source_blender_blenkernel_intern_packedFile_c
> --- patches/patch-source_blender_blenkernel_intern_packedFile_c       11 Mar 
> 2022 19:22:08 -0000      1.13
> +++ patches/patch-source_blender_blenkernel_intern_packedFile_c       19 Apr 
> 2023 04:31:55 -0000
> @@ -1,7 +1,7 @@
>  Index: source/blender/blenkernel/intern/packedFile.c
>  --- source/blender/blenkernel/intern/packedFile.c.orig
>  +++ source/blender/blenkernel/intern/packedFile.c
> -@@ -333,7 +333,7 @@ int BKE_packedfile_write_to_file(ReportList *reports,
> +@@ -317,7 +317,7 @@ int BKE_packedfile_write_to_file(ReportList *reports,
>     /* make sure the path to the file exists... */
>     BLI_make_existing_file(name);
>   
> Index: patches/patch-source_blender_blenkernel_intern_writeffmpeg_c
> ===================================================================
> RCS file: patches/patch-source_blender_blenkernel_intern_writeffmpeg_c
> diff -N patches/patch-source_blender_blenkernel_intern_writeffmpeg_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-source_blender_blenkernel_intern_writeffmpeg_c      19 Apr 
> 2023 06:37:06 -0000
> @@ -0,0 +1,14 @@
> +Fix: Build with FFmpeg 6.0
> +
> +Index: source/blender/blenkernel/intern/writeffmpeg.c
> +--- source/blender/blenkernel/intern/writeffmpeg.c.orig
> ++++ source/blender/blenkernel/intern/writeffmpeg.c
> +@@ -644,7 +644,7 @@ static AVStream *alloc_video_stream(FFMpegContext *con
> +                                                             255);
> +   st->avg_frame_rate = av_inv_q(c->time_base);
> + 
> +-  if (codec->capabilities & AV_CODEC_CAP_AUTO_THREADS) {
> ++  if (codec->capabilities & AV_CODEC_CAP_OTHER_THREADS) {
> +     c->thread_count = 0;
> +   }
> +   else {
> Index: patches/patch-source_blender_blenlib_BLI_filereader_h
> ===================================================================
> RCS file: 
> /home/cvs/ports/graphics/blender/patches/patch-source_blender_blenlib_BLI_filereader_h,v
> retrieving revision 1.2
> diff -u -p -u -p -r1.2 patch-source_blender_blenlib_BLI_filereader_h
> --- patches/patch-source_blender_blenlib_BLI_filereader_h     11 Mar 2022 
> 19:22:08 -0000      1.2
> +++ patches/patch-source_blender_blenlib_BLI_filereader_h     19 Apr 2023 
> 04:31:55 -0000
> @@ -1,6 +1,7 @@
> ---- source/blender/blenlib/BLI_filereader.h.orig     Thu Mar  3 11:48:02 2022
> -+++ source/blender/blenlib/BLI_filereader.h  Thu Mar  3 11:48:30 2022
> -@@ -33,7 +33,7 @@
> +Index: source/blender/blenlib/BLI_filereader.h
> +--- source/blender/blenlib/BLI_filereader.h.orig
> ++++ source/blender/blenlib/BLI_filereader.h
> +@@ -17,7 +17,7 @@
>   #include "BLI_compiler_attrs.h"
>   #include "BLI_utildefines.h"
>   
> Index: patches/patch-source_blender_blenlib_BLI_sys_types_h
> ===================================================================
> RCS file: 
> /home/cvs/ports/graphics/blender/patches/patch-source_blender_blenlib_BLI_sys_types_h,v
> retrieving revision 1.2
> diff -u -p -u -p -r1.2 patch-source_blender_blenlib_BLI_sys_types_h
> --- patches/patch-source_blender_blenlib_BLI_sys_types_h      11 Mar 2022 
> 19:22:08 -0000      1.2
> +++ patches/patch-source_blender_blenlib_BLI_sys_types_h      19 Apr 2023 
> 04:31:55 -0000
> @@ -1,13 +1,14 @@
>  uchar.h doesn't exist in OpenBSD
>  
> ---- source/blender/blenlib/BLI_sys_types.h.orig      Tue Sep 22 19:36:29 2020
> -+++ source/blender/blenlib/BLI_sys_types.h   Sun Nov 22 13:12:51 2020
> -@@ -72,7 +72,7 @@ typedef uint64_t u_int64_t;
> - #include <stddef.h> /* size_t define */
> +Index: source/blender/blenlib/BLI_sys_types.h
> +--- source/blender/blenlib/BLI_sys_types.h.orig
> ++++ source/blender/blenlib/BLI_sys_types.h
> +@@ -57,7 +57,7 @@ typedef uint64_t u_int64_t;
>   
>   #ifndef __cplusplus
> + /* The <uchar.h> standard header is missing on some systems. */
>  -#  if defined(__APPLE__) || defined(__NetBSD__)
>  +#  if defined(__APPLE__) || defined(__NetBSD__) || defined(__OpenBSD__)
> - /* The <uchar.h> standard header is missing on macOS. */
>   typedef unsigned int char32_t;
>   #  else
> + #    include <uchar.h>
> Index: patches/patch-source_blender_blenlib_intern_storage_c
> ===================================================================
> RCS file: 
> /home/cvs/ports/graphics/blender/patches/patch-source_blender_blenlib_intern_storage_c,v
> retrieving revision 1.14
> diff -u -p -u -p -r1.14 patch-source_blender_blenlib_intern_storage_c
> --- patches/patch-source_blender_blenlib_intern_storage_c     11 Mar 2022 
> 19:22:08 -0000      1.14
> +++ patches/patch-source_blender_blenlib_intern_storage_c     19 Apr 2023 
> 04:31:55 -0000
> @@ -3,7 +3,7 @@ Use statvfs() on OpenBSD.
>  Index: source/blender/blenlib/intern/storage.c
>  --- source/blender/blenlib/intern/storage.c.orig
>  +++ source/blender/blenlib/intern/storage.c
> -@@ -29,7 +29,7 @@
> +@@ -13,7 +13,7 @@
>   
>   #include <sys/stat.h>
>   
> Index: patches/patch-source_blender_blenlib_intern_system_c
> ===================================================================
> RCS file: patches/patch-source_blender_blenlib_intern_system_c
> diff -N patches/patch-source_blender_blenlib_intern_system_c
> --- patches/patch-source_blender_blenlib_intern_system_c      11 Mar 2022 
> 19:22:08 -0000      1.2
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,11 +0,0 @@
> -Index: source/blender/blenlib/intern/system.c
> ---- source/blender/blenlib/intern/system.c.orig      Wed Sep 23 12:57:35 2020
> -+++ source/blender/blenlib/intern/system.c   Sun Nov 22 13:12:51 2020
> -@@ -35,7 +35,6 @@
> - 
> - #  include "BLI_winstuff.h"
> - #else
> --#  include <execinfo.h>
> - #  include <unistd.h>
> - #endif
> - 
> Index: patches/patch-source_blender_blenloader_intern_writefile_c
> ===================================================================
> RCS file: patches/patch-source_blender_blenloader_intern_writefile_c
> diff -N patches/patch-source_blender_blenloader_intern_writefile_c
> --- patches/patch-source_blender_blenloader_intern_writefile_c        11 Mar 
> 2022 19:22:08 -0000      1.19
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,12 +0,0 @@
> -Index: source/blender/blenloader/intern/writefile.c
> ---- source/blender/blenloader/intern/writefile.c.orig
> -+++ source/blender/blenloader/intern/writefile.c
> -@@ -200,7 +200,7 @@ static bool ww_open_none(WriteWrap *ww, const char *fi
> - {
> -   int file;
> - 
> --  file = BLI_open(filepath, O_BINARY + O_WRONLY + O_CREAT + O_TRUNC, 0666);
> -+  file = BLI_open(filepath, O_BINARY | O_WRONLY | O_CREAT | O_TRUNC, 0666);
> - 
> -   if (file != -1) {
> -     ww->file_handle = file;
> Index: patches/patch-source_blender_imbuf_intern_anim_movie_c
> ===================================================================
> RCS file: patches/patch-source_blender_imbuf_intern_anim_movie_c
> diff -N patches/patch-source_blender_imbuf_intern_anim_movie_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-source_blender_imbuf_intern_anim_movie_c    19 Apr 2023 
> 05:29:00 -0000
> @@ -0,0 +1,14 @@
> +Fix: Build with FFmpeg 6.0
> +
> +Index: source/blender/imbuf/intern/anim_movie.c
> +--- source/blender/imbuf/intern/anim_movie.c.orig
> ++++ source/blender/imbuf/intern/anim_movie.c
> +@@ -555,7 +555,7 @@ static int startffmpeg(struct anim *anim)
> +   avcodec_parameters_to_context(pCodecCtx, video_stream->codecpar);
> +   pCodecCtx->workaround_bugs = FF_BUG_AUTODETECT;
> + 
> +-  if (pCodec->capabilities & AV_CODEC_CAP_AUTO_THREADS) {
> ++  if (pCodec->capabilities & AV_CODEC_CAP_OTHER_THREADS) {
> +     pCodecCtx->thread_count = 0;
> +   }
> +   else {
> Index: patches/patch-source_blender_imbuf_intern_indexer_c
> ===================================================================
> RCS file: patches/patch-source_blender_imbuf_intern_indexer_c
> diff -N patches/patch-source_blender_imbuf_intern_indexer_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-source_blender_imbuf_intern_indexer_c       19 Apr 2023 
> 05:30:35 -0000
> @@ -0,0 +1,23 @@
> +Fix: Build with FFmpeg 6.0
> +
> +Index: source/blender/imbuf/intern/indexer.c
> +--- source/blender/imbuf/intern/indexer.c.orig
> ++++ source/blender/imbuf/intern/indexer.c
> +@@ -557,7 +557,7 @@ static struct proxy_output_ctx *alloc_proxy_output_ffm
> +   av_dict_set(&codec_opts, "preset", "veryfast", 0);
> +   av_dict_set(&codec_opts, "tune", "fastdecode", 0);
> + 
> +-  if (rv->codec->capabilities & AV_CODEC_CAP_AUTO_THREADS) {
> ++  if (rv->codec->capabilities & AV_CODEC_CAP_OTHER_THREADS) {
> +     rv->c->thread_count = 0;
> +   }
> +   else {
> +@@ -870,7 +870,7 @@ static IndexBuildContext *index_ffmpeg_create_context(
> +   avcodec_parameters_to_context(context->iCodecCtx, 
> context->iStream->codecpar);
> +   context->iCodecCtx->workaround_bugs = FF_BUG_AUTODETECT;
> + 
> +-  if (context->iCodec->capabilities & AV_CODEC_CAP_AUTO_THREADS) {
> ++  if (context->iCodec->capabilities & AV_CODEC_CAP_OTHER_THREADS) {
> +     context->iCodecCtx->thread_count = 0;
> +   }
> +   else {
> Index: patches/patch-source_blender_imbuf_intern_openexr_openexr_api_cpp
> ===================================================================
> RCS file: patches/patch-source_blender_imbuf_intern_openexr_openexr_api_cpp
> diff -N patches/patch-source_blender_imbuf_intern_openexr_openexr_api_cpp
> --- patches/patch-source_blender_imbuf_intern_openexr_openexr_api_cpp 11 Mar 
> 2022 19:22:08 -0000      1.2
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,21 +0,0 @@
> -Fix build with OpenEXR>=3
> -
> -Index: source/blender/imbuf/intern/openexr/openexr_api.cpp
> ---- source/blender/imbuf/intern/openexr/openexr_api.cpp.orig
> -+++ source/blender/imbuf/intern/openexr/openexr_api.cpp
> -@@ -38,6 +38,7 @@
> - #include <ImfChannelList.h>
> - #include <ImfCompression.h>
> - #include <ImfCompressionAttribute.h>
> -+#include <ImfFrameBuffer.h>
> - #include <ImfIO.h>
> - #include <ImfInputFile.h>
> - #include <ImfOutputFile.h>
> -@@ -94,6 +95,7 @@ _CRTIMP void __cdecl _invalid_parameter_noinfo(void)
> - 
> - using namespace Imf;
> - using namespace Imath;
> -+typedef uint64_t Int64;
> - 
> - extern "C" {
> - /* prototype */
> Index: pkg/PLIST
> ===================================================================
> RCS file: /home/cvs/ports/graphics/blender/pkg/PLIST,v
> retrieving revision 1.31
> diff -u -p -u -p -r1.31 PLIST
> --- pkg/PLIST 5 Mar 2022 14:35:47 -0000       1.31
> +++ pkg/PLIST 19 Apr 2023 06:28:59 -0000
> @@ -118,6 +118,8 @@ share/blender/datafiles/blender_icons16/
>  share/blender/datafiles/blender_icons16/icon16_curve_ncircle.dat
>  share/blender/datafiles/blender_icons16/icon16_curve_ncurve.dat
>  share/blender/datafiles/blender_icons16/icon16_curve_path.dat
> +share/blender/datafiles/blender_icons16/icon16_curves.dat
> +share/blender/datafiles/blender_icons16/icon16_curves_data.dat
>  share/blender/datafiles/blender_icons16/icon16_decorate.dat
>  share/blender/datafiles/blender_icons16/icon16_decorate_animate.dat
>  share/blender/datafiles/blender_icons16/icon16_decorate_driver.dat
> @@ -204,6 +206,7 @@ share/blender/datafiles/blender_icons16/
>  share/blender/datafiles/blender_icons16/icon16_fullscreen_enter.dat
>  share/blender/datafiles/blender_icons16/icon16_fullscreen_exit.dat
>  share/blender/datafiles/blender_icons16/icon16_fund.dat
> +share/blender/datafiles/blender_icons16/icon16_geometry_nodes.dat
>  share/blender/datafiles/blender_icons16/icon16_ghost_disabled.dat
>  share/blender/datafiles/blender_icons16/icon16_ghost_enabled.dat
>  share/blender/datafiles/blender_icons16/icon16_gizmo.dat
> @@ -223,8 +226,6 @@ share/blender/datafiles/blender_icons16/
>  share/blender/datafiles/blender_icons16/icon16_group_uvs.dat
>  share/blender/datafiles/blender_icons16/icon16_group_vcol.dat
>  share/blender/datafiles/blender_icons16/icon16_group_vertex.dat
> -share/blender/datafiles/blender_icons16/icon16_hair.dat
> -share/blender/datafiles/blender_icons16/icon16_hair_data.dat
>  share/blender/datafiles/blender_icons16/icon16_hand.dat
>  share/blender/datafiles/blender_icons16/icon16_handle_aligned.dat
>  share/blender/datafiles/blender_icons16/icon16_handle_auto.dat
> @@ -281,7 +282,6 @@ share/blender/datafiles/blender_icons16/
>  share/blender/datafiles/blender_icons16/icon16_layer_used.dat
>  share/blender/datafiles/blender_icons16/icon16_library_data_broken.dat
>  share/blender/datafiles/blender_icons16/icon16_library_data_direct.dat
> -share/blender/datafiles/blender_icons16/icon16_library_data_indirect.dat
>  share/blender/datafiles/blender_icons16/icon16_library_data_override.dat
>  share/blender/datafiles/blender_icons16/icon16_light.dat
>  share/blender/datafiles/blender_icons16/icon16_light_area.dat
> @@ -443,11 +443,11 @@ share/blender/datafiles/blender_icons16/
>  share/blender/datafiles/blender_icons16/icon16_outliner_data_armature.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_data_camera.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_data_curve.dat
> +share/blender/datafiles/blender_icons16/icon16_outliner_data_curves.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_data_empty.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_data_font.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_data_gp_layer.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_data_greasepencil.dat
> -share/blender/datafiles/blender_icons16/icon16_outliner_data_hair.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_data_lattice.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_data_light.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_data_lightprobe.dat
> @@ -460,12 +460,12 @@ share/blender/datafiles/blender_icons16/
>  share/blender/datafiles/blender_icons16/icon16_outliner_ob_armature.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_ob_camera.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_ob_curve.dat
> +share/blender/datafiles/blender_icons16/icon16_outliner_ob_curves.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_ob_empty.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_ob_font.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_ob_force_field.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_ob_greasepencil.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_ob_group_instance.dat
> -share/blender/datafiles/blender_icons16/icon16_outliner_ob_hair.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_ob_image.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_ob_lattice.dat
>  share/blender/datafiles/blender_icons16/icon16_outliner_ob_light.dat
> @@ -582,6 +582,7 @@ share/blender/datafiles/blender_icons16/
>  share/blender/datafiles/blender_icons16/icon16_snap_edge.dat
>  share/blender/datafiles/blender_icons16/icon16_snap_face.dat
>  share/blender/datafiles/blender_icons16/icon16_snap_face_center.dat
> +share/blender/datafiles/blender_icons16/icon16_snap_face_nearest.dat
>  share/blender/datafiles/blender_icons16/icon16_snap_grid.dat
>  share/blender/datafiles/blender_icons16/icon16_snap_increment.dat
>  share/blender/datafiles/blender_icons16/icon16_snap_midpoint.dat
> @@ -792,6 +793,8 @@ share/blender/datafiles/blender_icons32/
>  share/blender/datafiles/blender_icons32/icon32_curve_ncircle.dat
>  share/blender/datafiles/blender_icons32/icon32_curve_ncurve.dat
>  share/blender/datafiles/blender_icons32/icon32_curve_path.dat
> +share/blender/datafiles/blender_icons32/icon32_curves.dat
> +share/blender/datafiles/blender_icons32/icon32_curves_data.dat
>  share/blender/datafiles/blender_icons32/icon32_decorate.dat
>  share/blender/datafiles/blender_icons32/icon32_decorate_animate.dat
>  share/blender/datafiles/blender_icons32/icon32_decorate_driver.dat
> @@ -878,6 +881,7 @@ share/blender/datafiles/blender_icons32/
>  share/blender/datafiles/blender_icons32/icon32_fullscreen_enter.dat
>  share/blender/datafiles/blender_icons32/icon32_fullscreen_exit.dat
>  share/blender/datafiles/blender_icons32/icon32_fund.dat
> +share/blender/datafiles/blender_icons32/icon32_geometry_nodes.dat
>  share/blender/datafiles/blender_icons32/icon32_ghost_disabled.dat
>  share/blender/datafiles/blender_icons32/icon32_ghost_enabled.dat
>  share/blender/datafiles/blender_icons32/icon32_gizmo.dat
> @@ -897,8 +901,6 @@ share/blender/datafiles/blender_icons32/
>  share/blender/datafiles/blender_icons32/icon32_group_uvs.dat
>  share/blender/datafiles/blender_icons32/icon32_group_vcol.dat
>  share/blender/datafiles/blender_icons32/icon32_group_vertex.dat
> -share/blender/datafiles/blender_icons32/icon32_hair.dat
> -share/blender/datafiles/blender_icons32/icon32_hair_data.dat
>  share/blender/datafiles/blender_icons32/icon32_hand.dat
>  share/blender/datafiles/blender_icons32/icon32_handle_aligned.dat
>  share/blender/datafiles/blender_icons32/icon32_handle_auto.dat
> @@ -955,7 +957,6 @@ share/blender/datafiles/blender_icons32/
>  share/blender/datafiles/blender_icons32/icon32_layer_used.dat
>  share/blender/datafiles/blender_icons32/icon32_library_data_broken.dat
>  share/blender/datafiles/blender_icons32/icon32_library_data_direct.dat
> -share/blender/datafiles/blender_icons32/icon32_library_data_indirect.dat
>  share/blender/datafiles/blender_icons32/icon32_library_data_override.dat
>  share/blender/datafiles/blender_icons32/icon32_light.dat
>  share/blender/datafiles/blender_icons32/icon32_light_area.dat
> @@ -1117,11 +1118,11 @@ share/blender/datafiles/blender_icons32/
>  share/blender/datafiles/blender_icons32/icon32_outliner_data_armature.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_data_camera.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_data_curve.dat
> +share/blender/datafiles/blender_icons32/icon32_outliner_data_curves.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_data_empty.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_data_font.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_data_gp_layer.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_data_greasepencil.dat
> -share/blender/datafiles/blender_icons32/icon32_outliner_data_hair.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_data_lattice.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_data_light.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_data_lightprobe.dat
> @@ -1134,12 +1135,12 @@ share/blender/datafiles/blender_icons32/
>  share/blender/datafiles/blender_icons32/icon32_outliner_ob_armature.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_ob_camera.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_ob_curve.dat
> +share/blender/datafiles/blender_icons32/icon32_outliner_ob_curves.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_ob_empty.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_ob_font.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_ob_force_field.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_ob_greasepencil.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_ob_group_instance.dat
> -share/blender/datafiles/blender_icons32/icon32_outliner_ob_hair.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_ob_image.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_ob_lattice.dat
>  share/blender/datafiles/blender_icons32/icon32_outliner_ob_light.dat
> @@ -1256,6 +1257,7 @@ share/blender/datafiles/blender_icons32/
>  share/blender/datafiles/blender_icons32/icon32_snap_edge.dat
>  share/blender/datafiles/blender_icons32/icon32_snap_face.dat
>  share/blender/datafiles/blender_icons32/icon32_snap_face_center.dat
> +share/blender/datafiles/blender_icons32/icon32_snap_face_nearest.dat
>  share/blender/datafiles/blender_icons32/icon32_snap_grid.dat
>  share/blender/datafiles/blender_icons32/icon32_snap_increment.dat
>  share/blender/datafiles/blender_icons32/icon32_snap_midpoint.dat
> @@ -1379,6 +1381,17 @@ share/blender/datafiles/brushicons/clay.
>  share/blender/datafiles/brushicons/claystrips.png
>  share/blender/datafiles/brushicons/clone.png
>  share/blender/datafiles/brushicons/crease.png
> +share/blender/datafiles/brushicons/curves_sculpt_add.png
> +share/blender/datafiles/brushicons/curves_sculpt_comb.png
> +share/blender/datafiles/brushicons/curves_sculpt_cut.png
> +share/blender/datafiles/brushicons/curves_sculpt_delete.png
> +share/blender/datafiles/brushicons/curves_sculpt_density.png
> +share/blender/datafiles/brushicons/curves_sculpt_grow_shrink.png
> +share/blender/datafiles/brushicons/curves_sculpt_pinch.png
> +share/blender/datafiles/brushicons/curves_sculpt_puff.png
> +share/blender/datafiles/brushicons/curves_sculpt_slide.png
> +share/blender/datafiles/brushicons/curves_sculpt_smooth.png
> +share/blender/datafiles/brushicons/curves_sculpt_snake_hook.png
>  share/blender/datafiles/brushicons/draw.png
>  share/blender/datafiles/brushicons/fill.png
>  share/blender/datafiles/brushicons/flatten.png
> @@ -1411,6 +1424,7 @@ share/blender/datafiles/brushicons/mask.
>  share/blender/datafiles/brushicons/mix.png
>  share/blender/datafiles/brushicons/multiply.png
>  share/blender/datafiles/brushicons/nudge.png
> +share/blender/datafiles/brushicons/paint_select.png
>  share/blender/datafiles/brushicons/pinch.png
>  share/blender/datafiles/brushicons/scrape.png
>  share/blender/datafiles/brushicons/smear.png
> @@ -1501,11 +1515,13 @@ share/blender/datafiles/icons/brush.scul
>  share/blender/datafiles/icons/brush.sculpt.mask.dat
>  share/blender/datafiles/icons/brush.sculpt.multiplane_scrape.dat
>  share/blender/datafiles/icons/brush.sculpt.nudge.dat
> +share/blender/datafiles/icons/brush.sculpt.paint.dat
>  share/blender/datafiles/icons/brush.sculpt.pinch.dat
>  share/blender/datafiles/icons/brush.sculpt.pose.dat
>  share/blender/datafiles/icons/brush.sculpt.rotate.dat
>  share/blender/datafiles/icons/brush.sculpt.scrape.dat
>  share/blender/datafiles/icons/brush.sculpt.simplify.dat
> +share/blender/datafiles/icons/brush.sculpt.smear.dat
>  share/blender/datafiles/icons/brush.sculpt.smooth.dat
>  share/blender/datafiles/icons/brush.sculpt.snake_hook.dat
>  share/blender/datafiles/icons/brush.sculpt.thumb.dat
> @@ -1523,13 +1539,26 @@ share/blender/datafiles/icons/ops.curve.
>  share/blender/datafiles/icons/ops.curve.dupli_extrude_cursor.dat
>  share/blender/datafiles/icons/ops.curve.extrude_cursor.dat
>  share/blender/datafiles/icons/ops.curve.extrude_move.dat
> +share/blender/datafiles/icons/ops.curve.pen.dat
>  share/blender/datafiles/icons/ops.curve.radius.dat
>  share/blender/datafiles/icons/ops.curve.vertex_random.dat
> +share/blender/datafiles/icons/ops.curves.sculpt_add.dat
> +share/blender/datafiles/icons/ops.curves.sculpt_comb.dat
> +share/blender/datafiles/icons/ops.curves.sculpt_cut.dat
> +share/blender/datafiles/icons/ops.curves.sculpt_delete.dat
> +share/blender/datafiles/icons/ops.curves.sculpt_density.dat
> +share/blender/datafiles/icons/ops.curves.sculpt_grow_shrink.dat
> +share/blender/datafiles/icons/ops.curves.sculpt_pinch.dat
> +share/blender/datafiles/icons/ops.curves.sculpt_puff.dat
> +share/blender/datafiles/icons/ops.curves.sculpt_slide.dat
> +share/blender/datafiles/icons/ops.curves.sculpt_smooth.dat
> +share/blender/datafiles/icons/ops.curves.sculpt_snake_hook.dat
>  share/blender/datafiles/icons/ops.generic.cursor.dat
>  share/blender/datafiles/icons/ops.generic.select.dat
>  share/blender/datafiles/icons/ops.generic.select_box.dat
>  share/blender/datafiles/icons/ops.generic.select_circle.dat
>  share/blender/datafiles/icons/ops.generic.select_lasso.dat
> +share/blender/datafiles/icons/ops.generic.select_paint.dat
>  share/blender/datafiles/icons/ops.gpencil.draw.dat
>  share/blender/datafiles/icons/ops.gpencil.draw.eraser.dat
>  share/blender/datafiles/icons/ops.gpencil.draw.line.dat
> @@ -1596,12 +1625,14 @@ share/blender/datafiles/icons/ops.sculpt
>  share/blender/datafiles/icons/ops.sculpt.border_mask.dat
>  share/blender/datafiles/icons/ops.sculpt.box_trim.dat
>  share/blender/datafiles/icons/ops.sculpt.cloth_filter.dat
> +share/blender/datafiles/icons/ops.sculpt.color_filter.dat
>  share/blender/datafiles/icons/ops.sculpt.face_set_edit.dat
>  share/blender/datafiles/icons/ops.sculpt.lasso_face_set.dat
>  share/blender/datafiles/icons/ops.sculpt.lasso_mask.dat
>  share/blender/datafiles/icons/ops.sculpt.lasso_trim.dat
>  share/blender/datafiles/icons/ops.sculpt.line_mask.dat
>  share/blender/datafiles/icons/ops.sculpt.line_project.dat
> +share/blender/datafiles/icons/ops.sculpt.mask_by_color.dat
>  share/blender/datafiles/icons/ops.sculpt.mesh_filter.dat
>  share/blender/datafiles/icons/ops.sequencer.blade.dat
>  share/blender/datafiles/icons/ops.transform.bone_envelope.dat
> @@ -1645,6 +1676,7 @@ share/blender/datafiles/locale/po/hu.po
>  share/blender/datafiles/locale/po/id.po
>  share/blender/datafiles/locale/po/it.po
>  share/blender/datafiles/locale/po/ja.po
> +share/blender/datafiles/locale/po/ka.po
>  share/blender/datafiles/locale/po/ko.po
>  share/blender/datafiles/locale/po/ky.po
>  share/blender/datafiles/locale/po/nl.po
> @@ -1723,9 +1755,9 @@ share/blender/scripts/addons/.github/sta
>  ${MODPY_COMMENT}share/blender/scripts/addons/${MODPY_PYCACHE}/
>  
> share/blender/scripts/addons/${MODPY_PYCACHE}add_curve_ivygen.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/${MODPY_PYCACHE}animation_add_corrective_shape_key.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/${MODPY_PYCACHE}animation_animall.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/${MODPY_PYCACHE}bone_selection_sets.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/${MODPY_PYCACHE}camera_turnaround.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/${MODPY_PYCACHE}copy_global_transform.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/${MODPY_PYCACHE}curve_assign_shapekey.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/${MODPY_PYCACHE}curve_simplify.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/${MODPY_PYCACHE}depsgraph_debug.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -2017,7 +2049,12 @@ share/blender/scripts/addons/amaranth/sc
>  share/blender/scripts/addons/amaranth/scene/stats.py
>  share/blender/scripts/addons/amaranth/utils.py
>  share/blender/scripts/addons/animation_add_corrective_shape_key.py
> -share/blender/scripts/addons/animation_animall.py
> +share/blender/scripts/addons/animation_animall/
> +share/blender/scripts/addons/animation_animall/__init__.py
> +${MODPY_COMMENT}share/blender/scripts/addons/animation_animall/${MODPY_PYCACHE}/
> +share/blender/scripts/addons/animation_animall/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/animation_animall/${MODPY_PYCACHE}translations.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/animation_animall/translations.py
>  share/blender/scripts/addons/ant_landscape/
>  share/blender/scripts/addons/ant_landscape/ErosionR.txt
>  share/blender/scripts/addons/ant_landscape/__init__.py
> @@ -2099,6 +2136,7 @@ share/blender/scripts/addons/btrace/bTra
>  share/blender/scripts/addons/btrace/bTrace_panel.py
>  share/blender/scripts/addons/btrace/bTrace_props.py
>  share/blender/scripts/addons/camera_turnaround.py
> +share/blender/scripts/addons/copy_global_transform.py
>  share/blender/scripts/addons/curve_assign_shapekey.py
>  share/blender/scripts/addons/curve_simplify.py
>  share/blender/scripts/addons/curve_tools/
> @@ -2145,6 +2183,7 @@ share/blender/scripts/addons/cycles/
>  share/blender/scripts/addons/cycles/__init__.py
>  ${MODPY_COMMENT}share/blender/scripts/addons/cycles/${MODPY_PYCACHE}/
>  
> share/blender/scripts/addons/cycles/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/cycles/${MODPY_PYCACHE}camera.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/cycles/${MODPY_PYCACHE}engine.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/cycles/${MODPY_PYCACHE}operators.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/cycles/${MODPY_PYCACHE}osl.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -2152,6 +2191,7 @@ share/blender/scripts/addons/cycles/${MO
>  
> share/blender/scripts/addons/cycles/${MODPY_PYCACHE}properties.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/cycles/${MODPY_PYCACHE}ui.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/cycles/${MODPY_PYCACHE}version_update.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/cycles/camera.py
>  share/blender/scripts/addons/cycles/engine.py
>  share/blender/scripts/addons/cycles/operators.py
>  share/blender/scripts/addons/cycles/osl.py
> @@ -2168,6 +2208,7 @@ share/blender/scripts/addons/greasepenci
>  
> ${MODPY_COMMENT}share/blender/scripts/addons/greasepencil_tools/${MODPY_PYCACHE}/
>  
> share/blender/scripts/addons/greasepencil_tools/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/greasepencil_tools/${MODPY_PYCACHE}box_deform.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/greasepencil_tools/${MODPY_PYCACHE}draw_tools.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/greasepencil_tools/${MODPY_PYCACHE}import_brush_pack.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/greasepencil_tools/${MODPY_PYCACHE}line_reshape.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/greasepencil_tools/${MODPY_PYCACHE}prefs.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -2175,6 +2216,7 @@ share/blender/scripts/addons/greasepenci
>  
> share/blender/scripts/addons/greasepencil_tools/${MODPY_PYCACHE}timeline_scrub.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/greasepencil_tools/${MODPY_PYCACHE}ui_panels.${MODPY_PYC_MAGIC_TAG}pyc
>  share/blender/scripts/addons/greasepencil_tools/box_deform.py
> +share/blender/scripts/addons/greasepencil_tools/draw_tools.py
>  share/blender/scripts/addons/greasepencil_tools/import_brush_pack.py
>  share/blender/scripts/addons/greasepencil_tools/line_reshape.py
>  share/blender/scripts/addons/greasepencil_tools/prefs.py
> @@ -2420,16 +2462,20 @@ share/blender/scripts/addons/io_scene_gl
>  
> ${MODPY_COMMENT}share/blender/scripts/addons/io_scene_gltf2/blender/com/${MODPY_PYCACHE}/
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/com/${MODPY_PYCACHE}gltf2_blender_conversion.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/com/${MODPY_PYCACHE}gltf2_blender_data_path.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/blender/com/${MODPY_PYCACHE}gltf2_blender_default.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/com/${MODPY_PYCACHE}gltf2_blender_extras.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/com/${MODPY_PYCACHE}gltf2_blender_json.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/com/${MODPY_PYCACHE}gltf2_blender_material_helpers.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/com/${MODPY_PYCACHE}gltf2_blender_math.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/blender/com/${MODPY_PYCACHE}gltf2_blender_ui.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/com/gltf2_blender_conversion.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/com/gltf2_blender_data_path.py
> +share/blender/scripts/addons/io_scene_gltf2/blender/com/gltf2_blender_default.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/com/gltf2_blender_extras.py
>  share/blender/scripts/addons/io_scene_gltf2/blender/com/gltf2_blender_json.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/com/gltf2_blender_material_helpers.py
>  share/blender/scripts/addons/io_scene_gltf2/blender/com/gltf2_blender_math.py
> +share/blender/scripts/addons/io_scene_gltf2/blender/com/gltf2_blender_ui.py
>  share/blender/scripts/addons/io_scene_gltf2/blender/exp/
>  
> ${MODPY_COMMENT}share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}/
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_export.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -2450,8 +2496,16 @@ share/blender/scripts/addons/io_scene_gl
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_light_spots.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_lights.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_materials.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_materials_clearcoat.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_materials_emission.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_materials_ior.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_materials_pbr_metallic_roughness.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_materials_sheen.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_materials_specular.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_materials_transmission.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_materials_unlit.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_materials_variants.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_materials_volume.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_mesh.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_nodes.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_primitive_attributes.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -2460,10 +2514,12 @@ share/blender/scripts/addons/io_scene_gl
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_skins.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_texture.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_texture_info.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gather_tree.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_get.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_gltf2_exporter.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_image.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_search_node_tree.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/${MODPY_PYCACHE}gltf2_blender_texture_specular.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_export.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_export_keys.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_extract.py
> @@ -2482,8 +2538,16 @@ share/blender/scripts/addons/io_scene_gl
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_light_spots.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_lights.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_materials.py
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_materials_clearcoat.py
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_materials_emission.py
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_materials_ior.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_materials_pbr_metallic_roughness.py
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_materials_sheen.py
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_materials_specular.py
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_materials_transmission.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_materials_unlit.py
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_materials_variants.py
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_materials_volume.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_mesh.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_primitive_attributes.py
> @@ -2492,15 +2556,22 @@ share/blender/scripts/addons/io_scene_gl
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_skins.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_texture.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_texture_info.py
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_tree.py
>  share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_get.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gltf2_exporter.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_image.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_search_node_tree.py
> +share/blender/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_texture_specular.py
>  share/blender/scripts/addons/io_scene_gltf2/blender/imp/
>  
> ${MODPY_COMMENT}share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}/
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}gltf2_blender_KHR_materials_clearcoat.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}gltf2_blender_KHR_materials_ior.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}gltf2_blender_KHR_materials_pbrSpecularGlossiness.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}gltf2_blender_KHR_materials_sheen.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}gltf2_blender_KHR_materials_specular.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}gltf2_blender_KHR_materials_transmission.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}gltf2_blender_KHR_materials_unlit.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}gltf2_blender_KHR_materials_volume.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}gltf2_blender_animation.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}gltf2_blender_animation_node.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}gltf2_blender_animation_utils.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -2518,8 +2589,13 @@ share/blender/scripts/addons/io_scene_gl
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}gltf2_blender_vnode.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/imp/${MODPY_PYCACHE}gltf2_io_draco_compression_extension.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_clearcoat.py
> +share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_ior.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_pbrSpecularGlossiness.py
> +share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_sheen.py
> +share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_specular.py
> +share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_transmission.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_unlit.py
> +share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_volume.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_animation.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_animation_node.py
>  
> share/blender/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_animation_utils.py
> @@ -2548,12 +2624,14 @@ share/blender/scripts/addons/io_scene_gl
>  
> share/blender/scripts/addons/io_scene_gltf2/io/com/${MODPY_PYCACHE}gltf2_io_draco_compression_extension.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/io/com/${MODPY_PYCACHE}gltf2_io_extensions.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/io/com/${MODPY_PYCACHE}gltf2_io_lights_punctual.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/io/com/${MODPY_PYCACHE}gltf2_io_variants.${MODPY_PYC_MAGIC_TAG}pyc
>  share/blender/scripts/addons/io_scene_gltf2/io/com/gltf2_io.py
>  share/blender/scripts/addons/io_scene_gltf2/io/com/gltf2_io_constants.py
>  share/blender/scripts/addons/io_scene_gltf2/io/com/gltf2_io_debug.py
>  
> share/blender/scripts/addons/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py
>  share/blender/scripts/addons/io_scene_gltf2/io/com/gltf2_io_extensions.py
>  
> share/blender/scripts/addons/io_scene_gltf2/io/com/gltf2_io_lights_punctual.py
> +share/blender/scripts/addons/io_scene_gltf2/io/com/gltf2_io_variants.py
>  share/blender/scripts/addons/io_scene_gltf2/io/exp/
>  
> ${MODPY_COMMENT}share/blender/scripts/addons/io_scene_gltf2/io/exp/${MODPY_PYCACHE}/
>  
> share/blender/scripts/addons/io_scene_gltf2/io/exp/${MODPY_PYCACHE}gltf2_io_binary_data.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -2574,8 +2652,10 @@ ${MODPY_COMMENT}share/blender/scripts/ad
>  
> share/blender/scripts/addons/io_scene_gltf2/io/imp/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/io/imp/${MODPY_PYCACHE}gltf2_io_binary.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/io_scene_gltf2/io/imp/${MODPY_PYCACHE}gltf2_io_gltf.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/io_scene_gltf2/io/imp/${MODPY_PYCACHE}gltf2_io_user_extensions.${MODPY_PYC_MAGIC_TAG}pyc
>  share/blender/scripts/addons/io_scene_gltf2/io/imp/gltf2_io_binary.py
>  share/blender/scripts/addons/io_scene_gltf2/io/imp/gltf2_io_gltf.py
> +share/blender/scripts/addons/io_scene_gltf2/io/imp/gltf2_io_user_extensions.py
>  share/blender/scripts/addons/io_scene_obj/
>  share/blender/scripts/addons/io_scene_obj/__init__.py
>  ${MODPY_COMMENT}share/blender/scripts/addons/io_scene_obj/${MODPY_PYCACHE}/
> @@ -2608,7 +2688,7 @@ ${MODPY_COMMENT}share/blender/scripts/ad
>  
> share/blender/scripts/addons/magic_uv/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/magic_uv/${MODPY_PYCACHE}common.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/magic_uv/${MODPY_PYCACHE}preferences.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/magic_uv/${MODPY_PYCACHE}properites.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/magic_uv/${MODPY_PYCACHE}properties.${MODPY_PYC_MAGIC_TAG}pyc
>  share/blender/scripts/addons/magic_uv/common.py
>  share/blender/scripts/addons/magic_uv/lib/
>  share/blender/scripts/addons/magic_uv/lib/__init__.py
> @@ -2667,7 +2747,7 @@ share/blender/scripts/addons/magic_uv/op
>  share/blender/scripts/addons/magic_uv/op/uvw.py
>  share/blender/scripts/addons/magic_uv/op/world_scale_uv.py
>  share/blender/scripts/addons/magic_uv/preferences.py
> -share/blender/scripts/addons/magic_uv/properites.py
> +share/blender/scripts/addons/magic_uv/properties.py
>  share/blender/scripts/addons/magic_uv/ui/
>  share/blender/scripts/addons/magic_uv/ui/IMAGE_MT_uvs.py
>  share/blender/scripts/addons/magic_uv/ui/VIEW3D_MT_object.py
> @@ -2698,9 +2778,11 @@ ${MODPY_COMMENT}share/blender/scripts/ad
>  
> share/blender/scripts/addons/magic_uv/utils/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/magic_uv/utils/${MODPY_PYCACHE}bl_class_registry.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/magic_uv/utils/${MODPY_PYCACHE}compatibility.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/magic_uv/utils/${MODPY_PYCACHE}graph.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/magic_uv/utils/${MODPY_PYCACHE}property_class_registry.${MODPY_PYC_MAGIC_TAG}pyc
>  share/blender/scripts/addons/magic_uv/utils/bl_class_registry.py
>  share/blender/scripts/addons/magic_uv/utils/compatibility.py
> +share/blender/scripts/addons/magic_uv/utils/graph.py
>  share/blender/scripts/addons/magic_uv/utils/property_class_registry.py
>  share/blender/scripts/addons/materials_library_vx/
>  share/blender/scripts/addons/materials_library_vx/__init__.py
> @@ -2777,9 +2859,6 @@ share/blender/scripts/addons/mesh_snap_u
>  
> share/blender/scripts/addons/mesh_snap_utilities_line/snap_context_l/${MODPY_PYCACHE}mesh_drawing.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/mesh_snap_utilities_line/snap_context_l/${MODPY_PYCACHE}utils_projection.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/mesh_snap_utilities_line/snap_context_l/mesh_drawing.py
> -share/blender/scripts/addons/mesh_snap_utilities_line/snap_context_l/shaders/
> -share/blender/scripts/addons/mesh_snap_utilities_line/snap_context_l/shaders/ID_color_frag.glsl
> -share/blender/scripts/addons/mesh_snap_utilities_line/snap_context_l/shaders/ID_color_vert.glsl
>  
> share/blender/scripts/addons/mesh_snap_utilities_line/snap_context_l/utils_projection.py
>  share/blender/scripts/addons/mesh_snap_utilities_line/widgets.py
>  share/blender/scripts/addons/mesh_tiny_cad/
> @@ -2811,23 +2890,36 @@ share/blender/scripts/addons/mesh_tiny_c
>  share/blender/scripts/addons/mesh_tiny_cad/icons/VTX.png
>  share/blender/scripts/addons/mesh_tiny_cad/icons/XALL.png
>  share/blender/scripts/addons/mesh_tissue/
> +share/blender/scripts/addons/mesh_tissue/README.md
>  share/blender/scripts/addons/mesh_tissue/__init__.py
>  ${MODPY_COMMENT}share/blender/scripts/addons/mesh_tissue/${MODPY_PYCACHE}/
>  
> share/blender/scripts/addons/mesh_tissue/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/mesh_tissue/${MODPY_PYCACHE}colors_groups_exchanger.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/mesh_tissue/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/mesh_tissue/${MODPY_PYCACHE}curves_tools.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/mesh_tissue/${MODPY_PYCACHE}dual_mesh.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/mesh_tissue/${MODPY_PYCACHE}lattice.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/mesh_tissue/${MODPY_PYCACHE}material_tools.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/mesh_tissue/${MODPY_PYCACHE}numba_functions.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/mesh_tissue/${MODPY_PYCACHE}polyhedra.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/mesh_tissue/${MODPY_PYCACHE}tessellate_numpy.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/mesh_tissue/${MODPY_PYCACHE}tissue_properties.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/mesh_tissue/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/mesh_tissue/${MODPY_PYCACHE}utils_pip.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/mesh_tissue/${MODPY_PYCACHE}uv_to_mesh.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/mesh_tissue/colors_groups_exchanger.py
> +share/blender/scripts/addons/mesh_tissue/${MODPY_PYCACHE}weight_tools.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/mesh_tissue/config.py
> +share/blender/scripts/addons/mesh_tissue/curves_tools.py
>  share/blender/scripts/addons/mesh_tissue/dual_mesh.py
>  share/blender/scripts/addons/mesh_tissue/lattice.py
> +share/blender/scripts/addons/mesh_tissue/material_tools.py
>  share/blender/scripts/addons/mesh_tissue/numba_functions.py
> +share/blender/scripts/addons/mesh_tissue/polyhedra.py
>  share/blender/scripts/addons/mesh_tissue/tessellate_numpy.py
> +share/blender/scripts/addons/mesh_tissue/tissue_properties.py
>  share/blender/scripts/addons/mesh_tissue/utils.py
> +share/blender/scripts/addons/mesh_tissue/utils_pip.py
>  share/blender/scripts/addons/mesh_tissue/uv_to_mesh.py
> +share/blender/scripts/addons/mesh_tissue/weight_tools.py
>  share/blender/scripts/addons/mesh_tools/
>  share/blender/scripts/addons/mesh_tools/__init__.py
>  ${MODPY_COMMENT}share/blender/scripts/addons/mesh_tools/${MODPY_PYCACHE}/
> @@ -3223,22 +3315,22 @@ share/blender/scripts/addons/presets/ope
>  
> share/blender/scripts/addons/presets/operator/curve.torus_knot_plus/wicker_basket.py
>  share/blender/scripts/addons/presets/operator/mesh.bolt_add/
>  
> ${MODPY_COMMENT}share/blender/scripts/addons/presets/operator/mesh.bolt_add/${MODPY_PYCACHE}/
> -share/blender/scripts/addons/presets/operator/mesh.bolt_add/${MODPY_PYCACHE}default.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/presets/operator/mesh.bolt_add/${MODPY_PYCACHE}_default.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/presets/operator/mesh.bolt_add/${MODPY_PYCACHE}_m3.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/presets/operator/mesh.bolt_add/${MODPY_PYCACHE}_m4.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/presets/operator/mesh.bolt_add/${MODPY_PYCACHE}_m5.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/presets/operator/mesh.bolt_add/${MODPY_PYCACHE}_m6.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/presets/operator/mesh.bolt_add/${MODPY_PYCACHE}_m8.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/presets/operator/mesh.bolt_add/${MODPY_PYCACHE}m10.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/presets/operator/mesh.bolt_add/${MODPY_PYCACHE}m12.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/presets/operator/mesh.bolt_add/${MODPY_PYCACHE}m3.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/presets/operator/mesh.bolt_add/${MODPY_PYCACHE}m4.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/presets/operator/mesh.bolt_add/${MODPY_PYCACHE}m5.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/presets/operator/mesh.bolt_add/${MODPY_PYCACHE}m6.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/presets/operator/mesh.bolt_add/${MODPY_PYCACHE}m8.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/presets/operator/mesh.bolt_add/default.py
> +share/blender/scripts/addons/presets/operator/mesh.bolt_add/_default.py
> +share/blender/scripts/addons/presets/operator/mesh.bolt_add/_m3.py
> +share/blender/scripts/addons/presets/operator/mesh.bolt_add/_m4.py
> +share/blender/scripts/addons/presets/operator/mesh.bolt_add/_m5.py
> +share/blender/scripts/addons/presets/operator/mesh.bolt_add/_m6.py
> +share/blender/scripts/addons/presets/operator/mesh.bolt_add/_m8.py
>  share/blender/scripts/addons/presets/operator/mesh.bolt_add/m10.py
>  share/blender/scripts/addons/presets/operator/mesh.bolt_add/m12.py
> -share/blender/scripts/addons/presets/operator/mesh.bolt_add/m3.py
> -share/blender/scripts/addons/presets/operator/mesh.bolt_add/m4.py
> -share/blender/scripts/addons/presets/operator/mesh.bolt_add/m5.py
> -share/blender/scripts/addons/presets/operator/mesh.bolt_add/m6.py
> -share/blender/scripts/addons/presets/operator/mesh.bolt_add/m8.py
>  share/blender/scripts/addons/presets/operator/mesh.eroder/
>  
> ${MODPY_COMMENT}share/blender/scripts/addons/presets/operator/mesh.eroder/${MODPY_PYCACHE}/
>  
> share/blender/scripts/addons/presets/operator/mesh.eroder/${MODPY_PYCACHE}default.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -3525,15 +3617,22 @@ share/blender/scripts/addons/render_povr
>  share/blender/scripts/addons/render_povray/__init__.py
>  ${MODPY_COMMENT}share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}/
>  
> share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}base_ui.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}df3_library.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}object_curve_topology.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}object_gui.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}object_mesh_topology.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}object_particles.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}object_primitives.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}object_properties.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}model_all.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}model_curve_topology.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}model_gui.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}model_meta_topology.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}model_poly_topology.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}model_primitives.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}model_primitives_topology.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}model_properties.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}nodes.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}nodes_fn.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}nodes_gui.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}nodes_properties.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}particles.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}particles_properties.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}render.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}render_core.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}render_gui.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}render_properties.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}scenography.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -3544,21 +3643,56 @@ share/blender/scripts/addons/render_povr
>  
> share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}scripting_properties.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}shading.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}shading_gui.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}shading_nodes.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}shading_properties.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}shading_ray_properties.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}texturing.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}texturing_gui.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}texturing_procedural.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}texturing_properties.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}ui_core.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}update_files.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/addons/render_povray/base_ui.py
> -share/blender/scripts/addons/render_povray/df3_library.py
> -share/blender/scripts/addons/render_povray/object_curve_topology.py
> -share/blender/scripts/addons/render_povray/object_gui.py
> -share/blender/scripts/addons/render_povray/object_mesh_topology.py
> -share/blender/scripts/addons/render_povray/object_particles.py
> -share/blender/scripts/addons/render_povray/object_primitives.py
> -share/blender/scripts/addons/render_povray/object_properties.py
> +share/blender/scripts/addons/render_povray/${MODPY_PYCACHE}voxel_lib.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/render_povray/icons/
> +share/blender/scripts/addons/render_povray/icons/pov.add.blobcapsule.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.blobcube.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.blobellipsoid.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.blobplane.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.blobsphere.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.box.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.cone.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.cylinder.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.heightfield.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.infinite_plane.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.isosurface.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.isosurfacebox.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.isosurfacesphere.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.isosurfacesupertorus.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.lathe.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.loft.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.parametric.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.polygontocircle.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.prism.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.rainbow.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.sphere.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.spheresweep.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.superellipsoid.dat
> +share/blender/scripts/addons/render_povray/icons/pov.add.torus.dat
> +share/blender/scripts/addons/render_povray/model_all.py
> +share/blender/scripts/addons/render_povray/model_curve_topology.py
> +share/blender/scripts/addons/render_povray/model_gui.py
> +share/blender/scripts/addons/render_povray/model_meta_topology.py
> +share/blender/scripts/addons/render_povray/model_poly_topology.py
> +share/blender/scripts/addons/render_povray/model_primitives.py
> +share/blender/scripts/addons/render_povray/model_primitives_topology.py
> +share/blender/scripts/addons/render_povray/model_properties.py
> +share/blender/scripts/addons/render_povray/nodes.py
> +share/blender/scripts/addons/render_povray/nodes_fn.py
> +share/blender/scripts/addons/render_povray/nodes_gui.py
> +share/blender/scripts/addons/render_povray/nodes_properties.py
> +share/blender/scripts/addons/render_povray/particles.py
> +share/blender/scripts/addons/render_povray/particles_properties.py
>  share/blender/scripts/addons/render_povray/render.py
> +share/blender/scripts/addons/render_povray/render_core.py
>  share/blender/scripts/addons/render_povray/render_gui.py
>  share/blender/scripts/addons/render_povray/render_properties.py
>  share/blender/scripts/addons/render_povray/scenography.py
> @@ -3569,8 +3703,8 @@ share/blender/scripts/addons/render_povr
>  share/blender/scripts/addons/render_povray/scripting_properties.py
>  share/blender/scripts/addons/render_povray/shading.py
>  share/blender/scripts/addons/render_povray/shading_gui.py
> -share/blender/scripts/addons/render_povray/shading_nodes.py
>  share/blender/scripts/addons/render_povray/shading_properties.py
> +share/blender/scripts/addons/render_povray/shading_ray_properties.py
>  share/blender/scripts/addons/render_povray/templates_pov/
>  share/blender/scripts/addons/render_povray/templates_pov/abyss.pov
>  share/blender/scripts/addons/render_povray/templates_pov/biscuit.pov
> @@ -3589,8 +3723,11 @@ share/blender/scripts/addons/render_povr
>  share/blender/scripts/addons/render_povray/templates_pov/wallstucco.pov
>  share/blender/scripts/addons/render_povray/texturing.py
>  share/blender/scripts/addons/render_povray/texturing_gui.py
> +share/blender/scripts/addons/render_povray/texturing_procedural.py
>  share/blender/scripts/addons/render_povray/texturing_properties.py
> +share/blender/scripts/addons/render_povray/ui_core.py
>  share/blender/scripts/addons/render_povray/update_files.py
> +share/blender/scripts/addons/render_povray/voxel_lib.py
>  share/blender/scripts/addons/render_ui_animation_render.py
>  share/blender/scripts/addons/rigify/
>  share/blender/scripts/addons/rigify/.pep8
> @@ -3903,12 +4040,14 @@ share/blender/scripts/addons/sun_positio
>  
> share/blender/scripts/addons/sun_position/${MODPY_PYCACHE}north.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/sun_position/${MODPY_PYCACHE}properties.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/sun_position/${MODPY_PYCACHE}sun_calc.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/addons/sun_position/${MODPY_PYCACHE}translations.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/addons/sun_position/${MODPY_PYCACHE}ui_sun.${MODPY_PYC_MAGIC_TAG}pyc
>  share/blender/scripts/addons/sun_position/geo.py
>  share/blender/scripts/addons/sun_position/hdr.py
>  share/blender/scripts/addons/sun_position/north.py
>  share/blender/scripts/addons/sun_position/properties.py
>  share/blender/scripts/addons/sun_position/sun_calc.py
> +share/blender/scripts/addons/sun_position/translations.py
>  share/blender/scripts/addons/sun_position/ui_sun.py
>  share/blender/scripts/addons/system_blend_info.py
>  share/blender/scripts/addons/system_demo_mode/
> @@ -4083,6 +4222,22 @@ share/blender/scripts/modules/bl_app_ove
>  
> share/blender/scripts/modules/bl_app_override/${MODPY_PYCACHE}helpers.${MODPY_PYC_MAGIC_TAG}pyc
>  share/blender/scripts/modules/bl_app_override/helpers.py
>  share/blender/scripts/modules/bl_app_template_utils.py
> +share/blender/scripts/modules/bl_console_utils/
> +share/blender/scripts/modules/bl_console_utils/__init__.py
> +${MODPY_COMMENT}share/blender/scripts/modules/bl_console_utils/${MODPY_PYCACHE}/
> +share/blender/scripts/modules/bl_console_utils/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/modules/bl_console_utils/autocomplete/
> +share/blender/scripts/modules/bl_console_utils/autocomplete/__init__.py
> +${MODPY_COMMENT}share/blender/scripts/modules/bl_console_utils/autocomplete/${MODPY_PYCACHE}/
> +share/blender/scripts/modules/bl_console_utils/autocomplete/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/modules/bl_console_utils/autocomplete/${MODPY_PYCACHE}complete_calltip.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/modules/bl_console_utils/autocomplete/${MODPY_PYCACHE}complete_import.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/modules/bl_console_utils/autocomplete/${MODPY_PYCACHE}complete_namespace.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/modules/bl_console_utils/autocomplete/${MODPY_PYCACHE}intellisense.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/modules/bl_console_utils/autocomplete/complete_calltip.py
> +share/blender/scripts/modules/bl_console_utils/autocomplete/complete_import.py
> +share/blender/scripts/modules/bl_console_utils/autocomplete/complete_namespace.py
> +share/blender/scripts/modules/bl_console_utils/autocomplete/intellisense.py
>  share/blender/scripts/modules/bl_i18n_utils/
>  share/blender/scripts/modules/bl_i18n_utils/__init__.py
>  ${MODPY_COMMENT}share/blender/scripts/modules/bl_i18n_utils/${MODPY_PYCACHE}/
> @@ -4158,6 +4313,7 @@ ${MODPY_COMMENT}share/blender/scripts/mo
>  
> share/blender/scripts/modules/bpy_extras/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/modules/bpy_extras/${MODPY_PYCACHE}anim_utils.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/modules/bpy_extras/${MODPY_PYCACHE}asset_utils.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/modules/bpy_extras/${MODPY_PYCACHE}id_map_utils.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/modules/bpy_extras/${MODPY_PYCACHE}image_utils.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/modules/bpy_extras/${MODPY_PYCACHE}io_utils.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/modules/bpy_extras/${MODPY_PYCACHE}keyconfig_utils.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -4168,6 +4324,7 @@ share/blender/scripts/modules/bpy_extras
>  
> share/blender/scripts/modules/bpy_extras/${MODPY_PYCACHE}view3d_utils.${MODPY_PYC_MAGIC_TAG}pyc
>  share/blender/scripts/modules/bpy_extras/anim_utils.py
>  share/blender/scripts/modules/bpy_extras/asset_utils.py
> +share/blender/scripts/modules/bpy_extras/id_map_utils.py
>  share/blender/scripts/modules/bpy_extras/image_utils.py
>  share/blender/scripts/modules/bpy_extras/io_utils.py
>  share/blender/scripts/modules/bpy_extras/keyconfig_utils.py
> @@ -4182,18 +4339,6 @@ share/blender/scripts/modules/bpy_extras
>  share/blender/scripts/modules/bpy_extras/wm_utils/progress_report.py
>  share/blender/scripts/modules/bpy_restrict_state.py
>  share/blender/scripts/modules/bpy_types.py
> -share/blender/scripts/modules/console/
> -share/blender/scripts/modules/console/__init__.py
> -${MODPY_COMMENT}share/blender/scripts/modules/console/${MODPY_PYCACHE}/
> -share/blender/scripts/modules/console/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/modules/console/${MODPY_PYCACHE}complete_calltip.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/modules/console/${MODPY_PYCACHE}complete_import.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/modules/console/${MODPY_PYCACHE}complete_namespace.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/modules/console/${MODPY_PYCACHE}intellisense.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/modules/console/complete_calltip.py
> -share/blender/scripts/modules/console/complete_import.py
> -share/blender/scripts/modules/console/complete_namespace.py
> -share/blender/scripts/modules/console/intellisense.py
>  share/blender/scripts/modules/console_python.py
>  share/blender/scripts/modules/console_shell.py
>  share/blender/scripts/modules/gpu_extras/
> @@ -4303,6 +4448,14 @@ share/blender/scripts/presets/cycles/int
>  
> share/blender/scripts/presets/cycles/integrator/${MODPY_PYCACHE}Fast_Global_Illumination.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/presets/cycles/integrator/${MODPY_PYCACHE}Full_Global_Illumination.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/presets/cycles/integrator/${MODPY_PYCACHE}Limited_Global_Illumination.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/presets/cycles/performance/
> +share/blender/scripts/presets/cycles/performance/Default.py
> +share/blender/scripts/presets/cycles/performance/Faster_Render.py
> +share/blender/scripts/presets/cycles/performance/Lower_Memory.py
> +${MODPY_COMMENT}share/blender/scripts/presets/cycles/performance/${MODPY_PYCACHE}/
> +share/blender/scripts/presets/cycles/performance/${MODPY_PYCACHE}Default.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/presets/cycles/performance/${MODPY_PYCACHE}Faster_Render.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/presets/cycles/performance/${MODPY_PYCACHE}Lower_Memory.${MODPY_PYC_MAGIC_TAG}pyc
>  share/blender/scripts/presets/cycles/sampling/
>  share/blender/scripts/presets/cycles/sampling/Final.py
>  share/blender/scripts/presets/cycles/sampling/Preview.py
> @@ -4638,9 +4791,9 @@ share/blender/scripts/startup/bl_ui/${MO
>  
> share/blender/scripts/startup/bl_ui/${MODPY_PYCACHE}properties_data_bone.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/startup/bl_ui/${MODPY_PYCACHE}properties_data_camera.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/startup/bl_ui/${MODPY_PYCACHE}properties_data_curve.${MODPY_PYC_MAGIC_TAG}pyc
> +share/blender/scripts/startup/bl_ui/${MODPY_PYCACHE}properties_data_curves.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/startup/bl_ui/${MODPY_PYCACHE}properties_data_empty.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/startup/bl_ui/${MODPY_PYCACHE}properties_data_gpencil.${MODPY_PYC_MAGIC_TAG}pyc
> -share/blender/scripts/startup/bl_ui/${MODPY_PYCACHE}properties_data_hair.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/startup/bl_ui/${MODPY_PYCACHE}properties_data_lattice.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/startup/bl_ui/${MODPY_PYCACHE}properties_data_light.${MODPY_PYC_MAGIC_TAG}pyc
>  
> share/blender/scripts/startup/bl_ui/${MODPY_PYCACHE}properties_data_lightprobe.${MODPY_PYC_MAGIC_TAG}pyc
> @@ -4704,9 +4857,9 @@ share/blender/scripts/startup/bl_ui/prop
>  share/blender/scripts/startup/bl_ui/properties_data_bone.py
>  share/blender/scripts/startup/bl_ui/properties_data_camera.py
>  share/blender/scripts/startup/bl_ui/properties_data_curve.py
> +share/blender/scripts/startup/bl_ui/properties_data_curves.py
>  share/blender/scripts/startup/bl_ui/properties_data_empty.py
>  share/blender/scripts/startup/bl_ui/properties_data_gpencil.py
> -share/blender/scripts/startup/bl_ui/properties_data_hair.py
>  share/blender/scripts/startup/bl_ui/properties_data_lattice.py
>  share/blender/scripts/startup/bl_ui/properties_data_light.py
>  share/blender/scripts/startup/bl_ui/properties_data_lightprobe.py


Reply via email to