[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#907152: marked as done (vulkan: Porting to non-linux systems)



Your message dated Thu, 30 May 2024 08:35:31 +0000
with message-id <E1sCbFz-002pgh-EE@fasolo.debian.org>
and subject line Bug#907152: fixed in vulkan-loader 1.3.283.0-1
has caused the Debian Bug report #907152,
regarding vulkan: Porting to non-linux systems
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
907152: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907152
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Source: vulkan
Version: 1.1.73+dfsg-1
Severity: important
Tags: ftbfs, patch
User: debian-hurd@lists.debian.org, debian-kbsd@lists.debian.org
Usertags: hurd-i386, kfreebsd-any

Hello,

Currently vulkan is not available on GNU/Hurd and GNU/kFreeBSD due to
lack of porting to these architectures. Attached is a patch,
debian_control.diff, to make the libwayland-dev dependency linux-only
and add hurd, kfreebsd to the Architecture field of the packages.

The remaining patches:

CMakeLists.txt.diff
demos_CMakeLists.txt.diff
demos_smoke_CMakeLists.txt.diff
external_glslang_External_spirv-tools_CMakeLists.txt.diff
icd_CMakeLists.txt.diff
layers_CMakeLists.txt.diff
loader_CMakeLists.txt.diff
loader_loader.c.diff
loader_vk_loader_platform.h.diff
tests_CMakeLists.txt.diff

are mainly patches for various CMakeLists.txt files. The last patch is
not tested yet since the package build does not run tests.

Vulkan has been built successfully with the attached patches on hurd-
i386 and kfreebsd-amd64 boxes. 

This package is important to have available due to the build dependency
chain of wine-development:
wine-development -> libvkd3d-dev -> libvulkan-dev

Thanks!
--- a/debian/control	2018-08-22 07:52:50.000000000 +0200
+++ b/debian/control	2018-08-22 08:03:31.000000000 +0200
@@ -4,7 +4,7 @@
 Uploaders: Timo Aaltonen <tjaalton@debian.org>
 Build-Depends: debhelper (>= 9),
  cmake,
- libwayland-dev,
+ libwayland-dev [linux-any],
  libx11-dev,
  libxcb1-dev,
  libxrandr-dev,
@@ -20,7 +20,7 @@
 Vcs-Browser: https://salsa.debian.org/xorg-team/vulkan/vulkan.git
 
 Package: libvulkan1
-Architecture: linux-any
+Architecture: linux-any kfreebsd-any hurd-any
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Breaks: vulkan-loader,
  libvulkan-dev (<< 1.1.70+dfsg1-2),
@@ -37,7 +37,7 @@
 
 Package: libvulkan-dev
 Section: libdevel
-Architecture: linux-any
+Architecture: linux-any kfreebsd-any hurd-any
 Depends:
  libvulkan1 (= ${binary:Version}),
  ${misc:Depends},
@@ -53,7 +53,7 @@
  This package includes files needed for development.
 
 Package: vulkan-utils
-Architecture: linux-any
+Architecture: linux-any kfreebsd-any hurd-any
 Section: graphics
 Depends: ${shlibs:Depends}, ${misc:Depends},
  libvulkan1,
Index: vulkan-1.1.73+dfsg/demos/CMakeLists.txt
===================================================================
--- vulkan-1.1.73+dfsg.orig/demos/CMakeLists.txt
+++ vulkan-1.1.73+dfsg/demos/CMakeLists.txt
@@ -73,7 +73,71 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux
     include_directories ("${PROJECT_SOURCE_DIR}/icd/common")
     link_libraries(${API_LOWERCASE} m)
 elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
-    add_definitions(-DVK_USE_PLATFORM_MACOS_MVK)
+    add_definitions(-DVK_USE_PLATFORM_XCB_KHR)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD")
+    if (NOT DEMOS_WSI_SELECTION)
+        set(DEMOS_WSI_SELECTION "XCB")
+    endif()
+
+    if (DEMOS_WSI_SELECTION STREQUAL "XCB")
+        if (NOT BUILD_WSI_XCB_SUPPORT)
+            message( FATAL_ERROR "Selected XCB for demos build but not building Xcb support" )
+        endif()
+        set(DEMO_INCLUDE_DIRS
+            ${XCB_INCLUDE_DIRS}
+            ${DEMO_INCLUDE_DIRS}
+        )
+        link_libraries(${XCB_LIBRARIES})
+        add_definitions(-DVK_USE_PLATFORM_XCB_KHR)
+    elseif(DEMOS_WSI_SELECTION STREQUAL "XLIB")
+        if (NOT BUILD_WSI_XLIB_SUPPORT)
+            message( FATAL_ERROR "Selected XLIB for demos build but not building Xlib support" )
+        endif()
+        set(DEMO_INCLUDE_DIRS
+            ${X11_INCLUDE_DIR}
+            ${DEMO_INCLUDE_DIRS}
+        )
+        link_libraries(${X11_LIBRARIES})
+        add_definitions(-DVK_USE_PLATFORM_XLIB_KHR)
+    elseif(DEMOS_WSI_SELECTION STREQUAL "DISPLAY")
+        add_definitions(-DVK_USE_PLATFORM_DISPLAY_KHR)
+    else()
+        message( FATAL_ERROR "Unrecognized value for DEMOS_WSI_SELECTION: ${DEMOS_WSI_SELECTION}" )
+     endif()
+    include_directories ("${PROJECT_SOURCE_DIR}/icd/common")
+    link_libraries(${API_LOWERCASE} m)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "GNU")
+    if (NOT DEMOS_WSI_SELECTION)
+        set(DEMOS_WSI_SELECTION "XCB")
+    endif()
+
+    if (DEMOS_WSI_SELECTION STREQUAL "XCB")
+        if (NOT BUILD_WSI_XCB_SUPPORT)
+            message( FATAL_ERROR "Selected XCB for demos build but not building Xcb support" )
+        endif()
+        set(DEMO_INCLUDE_DIRS
+            ${XCB_INCLUDE_DIRS}
+            ${DEMO_INCLUDE_DIRS}
+        )
+        link_libraries(${XCB_LIBRARIES})
+        add_definitions(-DVK_USE_PLATFORM_XCB_KHR)
+    elseif(DEMOS_WSI_SELECTION STREQUAL "XLIB")
+        if (NOT BUILD_WSI_XLIB_SUPPORT)
+            message( FATAL_ERROR "Selected XLIB for demos build but not building Xlib support" )
+        endif()
+        set(DEMO_INCLUDE_DIRS
+            ${X11_INCLUDE_DIR}
+            ${DEMO_INCLUDE_DIRS}
+        )
+        link_libraries(${X11_LIBRARIES})
+        add_definitions(-DVK_USE_PLATFORM_XLIB_KHR)
+    elseif(DEMOS_WSI_SELECTION STREQUAL "DISPLAY")
+        add_definitions(-DVK_USE_PLATFORM_DISPLAY_KHR)
+    else()
+        message( FATAL_ERROR "Unrecognized value for DEMOS_WSI_SELECTION: ${DEMOS_WSI_SELECTION}" )
+     endif()
+    include_directories ("${PROJECT_SOURCE_DIR}/icd/common")
+    link_libraries(${API_LOWERCASE} m)
 else()
     message(FATAL_ERROR "Unsupported Platform!")
 endif()
@@ -171,6 +235,10 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux"
     if(INSTALL_LVL_FILES)
         install(TARGETS ${API_LOWERCASE}info DESTINATION ${CMAKE_INSTALL_BINDIR})
     endif()
+elseif(${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD" OR ${CMAKE_SYSTEM_NAME} STREQUAL "GNU")
+    if(INSTALL_LVL_FILES)
+        install(TARGETS ${API_LOWERCASE}info DESTINATION ${CMAKE_INSTALL_BINDIR})
+    endif()
 endif()
 
 ######################################################################################
--- a/demos/smoke/CMakeLists.txt	2018-04-27 13:24:19.000000000 +0200
+++ b/demos/smoke/CMakeLists.txt	2018-08-23 14:39:46.000432000 +0200
@@ -83,6 +83,28 @@
         list(APPEND includes PRIVATE ${WAYLAND_CLIENT_INCLUDE_DIR})
         list(APPEND libraries PRIVATE ${WAYLAND_CLIENT_LIBRARIES})
     endif()
+elseif(${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD")
+    list(APPEND libraries PRIVATE -ldl -lrt)
+
+    if(BUILD_WSI_XCB_SUPPORT AND DEMOS_WSI_SELECTION STREQUAL "XCB")
+        find_package(XCB REQUIRED)
+
+        list(APPEND sources ShellXcb.cpp ShellXcb.h)
+        list(APPEND definitions PRIVATE -DVK_USE_PLATFORM_XCB_KHR)
+        list(APPEND includes PRIVATE ${XCB_INCLUDES})
+        list(APPEND libraries PRIVATE ${XCB_LIBRARIES})
+    endif()
+elseif(${CMAKE_SYSTEM_NAME} STREQUAL "GNU")
+    list(APPEND libraries PRIVATE -ldl -lrt)
+
+    if(BUILD_WSI_XCB_SUPPORT AND DEMOS_WSI_SELECTION STREQUAL "XCB")
+        find_package(XCB REQUIRED)
+
+        list(APPEND sources ShellXcb.cpp ShellXcb.h)
+        list(APPEND definitions PRIVATE -DVK_USE_PLATFORM_XCB_KHR)
+        list(APPEND includes PRIVATE ${XCB_INCLUDES})
+        list(APPEND libraries PRIVATE ${XCB_LIBRARIES})
+    endif()
 elseif(APPLE)
     set(LIBRARIES)
     list(APPEND sources
Index: vulkan-1.1.73+dfsg/external/glslang/External/spirv-tools/CMakeLists.txt
===================================================================
--- vulkan-1.1.73+dfsg.orig/external/glslang/External/spirv-tools/CMakeLists.txt
+++ vulkan-1.1.73+dfsg/external/glslang/External/spirv-tools/CMakeLists.txt
@@ -46,6 +46,10 @@ elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "
   set(SPIRV_TIMER_ENABLED ON)
 elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
   add_definitions(-DSPIRV_FREEBSD)
+elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "kFreeBSD")
+  add_definitions(-DSPIRV_KFREEBSD)
+elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "GNU")
+  add_definitions(-DSPIRV_GNU)
 else()
   message(FATAL_ERROR "Your platform '${CMAKE_SYSTEM_NAME}' is not supported!")
 endif()
Index: vulkan-1.1.73+dfsg/icd/CMakeLists.txt
===================================================================
--- vulkan-1.1.73+dfsg.orig/icd/CMakeLists.txt
+++ vulkan-1.1.73+dfsg/icd/CMakeLists.txt
@@ -23,6 +23,22 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux
     endif()
 elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
     add_definitions(-DVK_USE_PLATFORM_MACOS_MVK)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD")
+    if (BUILD_WSI_XCB_SUPPORT)
+        add_definitions(-DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_XCB_KHX)
+    endif()
+
+    if (BUILD_WSI_XLIB_SUPPORT)
+       add_definitions(-DVK_USE_PLATFORM_XLIB_KHR -DVK_USE_PLATFORM_XLIB_KHX -DVK_USE_PLATFORM_XLIB_XRANDR_EXT)
+    endif()
+elseif(CMAKE_SYSTEM_NAME STREQUAL "GNU")
+    if (BUILD_WSI_XCB_SUPPORT)
+        add_definitions(-DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_XCB_KHX)
+    endif()
+
+    if (BUILD_WSI_XLIB_SUPPORT)
+       add_definitions(-DVK_USE_PLATFORM_XLIB_KHR -DVK_USE_PLATFORM_XLIB_KHX -DVK_USE_PLATFORM_XLIB_XRANDR_EXT)
+    endif()
 else()
     message(FATAL_ERROR "Unsupported Platform!")
 endif()
Index: vulkan-1.1.73+dfsg/layers/CMakeLists.txt
===================================================================
--- vulkan-1.1.73+dfsg.orig/layers/CMakeLists.txt
+++ vulkan-1.1.73+dfsg/layers/CMakeLists.txt
@@ -26,6 +26,22 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwi
     if(CMAKE_GENERATOR MATCHES "^Xcode.*")
         add_custom_target(mk_layer_config_dir ALL COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>)
     endif()
+elseif(CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD")
+    if (BUILD_WSI_XCB_SUPPORT)
+        add_definitions(-DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_XCB_KHX)
+    endif()
+
+    if (BUILD_WSI_XLIB_SUPPORT)
+       add_definitions(-DVK_USE_PLATFORM_XLIB_KHR -DVK_USE_PLATFORM_XLIB_KHX -DVK_USE_PLATFORM_XLIB_XRANDR_EXT)
+    endif()
+elseif(CMAKE_SYSTEM_NAME STREQUAL "GNU")
+    if (BUILD_WSI_XCB_SUPPORT)
+        add_definitions(-DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_XCB_KHX)
+    endif()
+
+    if (BUILD_WSI_XLIB_SUPPORT)
+       add_definitions(-DVK_USE_PLATFORM_XLIB_KHR -DVK_USE_PLATFORM_XLIB_KHX -DVK_USE_PLATFORM_XLIB_XRANDR_EXT)
+    endif()
 else()
     message(FATAL_ERROR "Unsupported Platform!")
 endif()
@@ -117,6 +133,7 @@ elseif(APPLE)
     endif()
 endif()
 # If a layer has a direct dependency on a project with the same name, use it.
+if ((NOT (CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD")) AND (NOT (CMAKE_SYSTEM_NAME STREQUAL "GNU")))
 if ((Win32) OR (NOT (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)))
     foreach (config_file ${LAYER_JSON_FILES_WITH_DEPENDENCIES})
         add_dependencies(${config_file}-json ${config_file})
@@ -126,6 +143,7 @@ if ((Win32) OR (NOT (CMAKE_CURRENT_SOURC
         add_dependencies(${config_file}-json VkLayer_utils)
     endforeach(config_file)
 endif()
+endif()
 
 # Add targets for JSON file install on Linux.
 # Need to remove the "./" from the library path before installing to /etc.
Index: vulkan-1.1.73+dfsg/loader/CMakeLists.txt
===================================================================
--- vulkan-1.1.73+dfsg.orig/loader/CMakeLists.txt
+++ vulkan-1.1.73+dfsg/loader/CMakeLists.txt
@@ -8,7 +8,7 @@ include_directories(
 # Check for the existance of the secure_getenv or __secure_getenv commands
 include(CheckFunctionExists)
 CHECK_FUNCTION_EXISTS(secure_getenv HAVE_SECURE_GETENV)
-CHECK_FUNCTION_EXISTS(__secure_getenv HAVE___SECURE_GETENV)
+#CHECK_FUNCTION_EXISTS(__secure_getenv HAVE___SECURE_GETENV)
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/loader_cmake_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/loader_cmake_config.h)
 
 # Fetch header version from vulkan_core.h
@@ -51,6 +51,22 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux
     endif()
 elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
     add_definitions(-DVK_USE_PLATFORM_MACOS_MVK)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD")
+    if (BUILD_WSI_XCB_SUPPORT)
+        add_definitions(-DVK_USE_PLATFORM_XCB_KHR)
+    endif()
+
+    if (BUILD_WSI_XLIB_SUPPORT)
+       add_definitions(-DVK_USE_PLATFORM_XLIB_KHR -DVK_USE_PLATFORM_XLIB_XRANDR_EXT)
+    endif()
+elseif(CMAKE_SYSTEM_NAME STREQUAL "GNU")
+    if (BUILD_WSI_XCB_SUPPORT)
+        add_definitions(-DVK_USE_PLATFORM_XCB_KHR)
+    endif()
+
+    if (BUILD_WSI_XLIB_SUPPORT)
+       add_definitions(-DVK_USE_PLATFORM_XLIB_KHR -DVK_USE_PLATFORM_XLIB_XRANDR_EXT)
+    endif()
 else()
     message(FATAL_ERROR "Unsupported Platform!")
 endif()
Index: vulkan-1.1.73+dfsg/loader/loader.c
===================================================================
--- vulkan-1.1.73+dfsg.orig/loader/loader.c
+++ vulkan-1.1.73+dfsg/loader/loader.c
@@ -213,7 +213,7 @@ void *loader_device_heap_realloc(const s
 }
 
 // Environment variables
-#if defined(__linux__) || defined(__APPLE__)
+#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD_kernel__) || defined(__GNU__)
 
 static inline char *loader_getenv(const char *name, const struct loader_instance *inst) {
     // No allocation of memory necessary for Linux, but we should at least touch
--- a/loader/vk_loader_platform.h	2018-04-27 13:24:19.000000000 +0200
+++ b/loader/vk_loader_platform.h	2018-08-23 10:48:57.203057000 +0200
@@ -31,7 +31,7 @@
 #include "vulkan/vk_platform.h"
 #include "vulkan/vk_sdk_platform.h"
 
-#if defined(__linux__) || defined(__APPLE__)
+#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD_kernel__) || defined(__GNU__)
 /* Linux-specific common code: */
 
 // Headers:
--- a/tests/CMakeLists.txt	2018-04-27 13:24:19.000000000 +0200
+++ b/tests/CMakeLists.txt	2018-08-22 09:53:02.000000000 +0200
@@ -26,6 +26,8 @@
     endif()
 elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
     add_definitions(-DVK_USE_PLATFORM_MACOS_MVK)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "GNU")
+    add_definitions(-DVK_USE_PLATFORM_XCB_KHR)
 else()
     message(FATAL_ERROR "Unsupported Platform!")
 endif()

--- End Message ---
--- Begin Message ---
Source: vulkan-loader
Source-Version: 1.3.283.0-1
Done: Timo Aaltonen <tjaalton@debian.org>

We believe that the bug you reported is fixed in the latest version of
vulkan-loader, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 907152@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Timo Aaltonen <tjaalton@debian.org> (supplier of updated vulkan-loader package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Thu, 30 May 2024 11:08:51 +0300
Source: vulkan-loader
Built-For-Profiles: noudeb
Architecture: source
Version: 1.3.283.0-1
Distribution: unstable
Urgency: medium
Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
Changed-By: Timo Aaltonen <tjaalton@debian.org>
Closes: 907152
Changes:
 vulkan-loader (1.3.283.0-1) unstable; urgency=medium
 .
   [ Pino Toscano ]
   * Enable the build on all the architectures, as this source is generally
     portable, and upstream accepts ports: (Closes: #907152)
     - switch the architecture of the binaries from linux-any to any
     - Wayland is still Linux-specific, so:
       - limit the libwayland-dev build dependency as linux-any
       - pass -DBUILD_WSI_WAYLAND_SUPPORT=OFF to cmake on non-Linux
         architectures to explicitly disable the Wayland integration
       - mark two Wayland-related symbols as linux-any
 .
   [ Timo Aaltonen ]
   * New upstream release.
   * control: Bump policy to 4.7.0.
Checksums-Sha1:
 95a7d57ed6ebc6e3fcbc9164e95f4d8f5d915a59 2243 vulkan-loader_1.3.283.0-1.dsc
 d310068aadee8ffded584ba905eaf44d96b3f665 2688240 vulkan-loader_1.3.283.0.orig.tar.xz
 a30d1d25482c593de32919e90245b9ec83ea98b5 9320 vulkan-loader_1.3.283.0-1.debian.tar.xz
 8ab16440fedbdee72ec394e78cf245cbd0d0d473 9577 vulkan-loader_1.3.283.0-1_source.buildinfo
Checksums-Sha256:
 59f0ecdd97f10bc6a0b01d4f0c9aefe838006b4be9ba8a3fe17baecd19701bfc 2243 vulkan-loader_1.3.283.0-1.dsc
 bba297c1d13da68c9418dd6262714bb97f8f8b42f954c06135496888a85043a4 2688240 vulkan-loader_1.3.283.0.orig.tar.xz
 baa7902bb260f985d9e172f47986e5e3ae757c5e309e36dc33f35c25d1d872bd 9320 vulkan-loader_1.3.283.0-1.debian.tar.xz
 506520622a8317ef98da8bf13ba9170181652449b3813d48587848c36c95d489 9577 vulkan-loader_1.3.283.0-1_source.buildinfo
Files:
 4b2955cdb6f18f8061c92ae51c0d3d1b 2243 libs optional vulkan-loader_1.3.283.0-1.dsc
 93761816552d97a29726acf7eaa8763c 2688240 libs optional vulkan-loader_1.3.283.0.orig.tar.xz
 b05f4256bef203aa6d8f19323c7275ba 9320 libs optional vulkan-loader_1.3.283.0-1.debian.tar.xz
 0b94928d3fb91c4e97e95409a1c279e2 9577 libs optional vulkan-loader_1.3.283.0-1_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdS3ifE3rFwGbS2Yjy3AxZaiJhNwFAmZYNCUACgkQy3AxZaiJ
hNyyFQ/+OEQbk5VDfqKWHoux7eCXiyGqOWRa/GUxlaOG8upPNZC8EycTN1JN3wQa
3FvzeiVeneTf86PhRV6HjBVmVU6QiWjHCbzWnc/JOctV0YqdtU+tm5kEVKzvJPTW
bxS71/4VD2qdwXxMmtpMSJWVE0kZ05U2GoaWExDzeN/qF/PAOjanP1l9ZEnC3pqm
MuVa2y2U/iCCzwrM1SKBb0hNdiG3Lwz2gQ2KaUWURpzuH9jkfODkuWBrvR84HRuw
kWPE0v26XBCfaSuMwvQO6SWKp2Ovm1SNRejLmevvrJ/PshwopZnxiAf4dr9RfdAO
h9Z4xm0A6lFdetuZG60FLmFACqURlw3MUZk08nqTQIZB56QESCkpSXKOFf2IIcsR
+Rvqz5gHu5e375LOF/2gkkAhDAMVz5fcDrsw6NzNhDflc6Og35BjzvuZwgjI6DFy
So3ZaixUJ1IXXKgGstg7VmkQuVatZ+99I63oD7vkqMlRlX3VgaUi9Eg2UMfl/rpE
cBHbuwfbdySxo87X1fjWi4McLdmUmLPiLsolDNtcoRLhufPnsKnPlT7ALYMeJL2u
Wda+c4rMQ+KTjp0EzUGauWwNnSu+6/CedJKEPYkUMh8cmBqvzqYFLMgT9dh7uM/b
yljrZSfDokZzI3A/6zA2ueFZDQ4uzQEOSw2NNJDf1bXLtfOUp/Q=
=Te7b
-----END PGP SIGNATURE-----

Attachment: pgpvSAIfanQJL.pgp
Description: PGP signature


--- End Message ---

Reply to: