gnome-remote-desktop-45.1-150600.3.6.1<>,(ip9|YLYshc*gdwQQo_\_r< y%V.q'" ١utoL~`$ F;"g…-ϥ[3ﮌ)Z|TD4P0…߇h(vkQr6g%m܁Agb(QL|7SeѴGDdCj7Jԛcq-MoZ+Z1hHQ& ̞`oRצjEŶ?'-zdHH?8d ) U  1Cw}|             ) j %% L%( 8 (9 8(:Q(>}?FG H I XY$\H ]| ^ bcadeflu vDw x y+z4Cgnome-remote-desktop45.1150600.3.6.1GNOME Remote Desktop screen sharing serviceGNOME Remote Desktop is a remote desktop and screen sharing service for the GNOME desktop environment.ih01-armsrv1 TSUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-laterhttps://www.suse.com/System/Managementhttps://gitlab.gnome.org/GNOME/gnome-remote-desktoplinuxaarch64 if [ -x /usr/bin/systemctl ]; then for service in gnome-remote-desktop.service ; do if [ -e "/run/systemd/rpm/needs-user-preset/$service" ]; then /usr/bin/systemctl --global preset "$service" || : rm "/run/systemd/rpm/needs-user-preset/$service" || : fi done fi if [ $1 -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --global disable gnome-remote-desktop.service || : fi@ HXF큤A큤A큤A큤iiiie53qie53qie53qe53qie53qi951f7c87919a9fc3765fdf82e1907e6a153b6574de0849eed63d07013d3c86252c942b36fba88f9cb737bae6eae0e81b9ec459e3ebbcccbf95358e9c626bf30537f05cddc7d365ab51387a7ee62fb422fcbd3f365656cee9b08353b24a4684db7b0cac82fd5de487a8891f57363e68c928e81695b9be1b94496f0a41c019c6d128f297a4fac8e1a69c57f95b0998ce388c03e558084992f88e4cfeedc57a03755ca973a36124c0fe2dfb9b6187d472fd41ee0b808d0960c8e280cefa765851bb9acf8e89e82e92dd9fa676369d63b6abcfc6d8456dc0bd6c8f4c2a62c8c03a2b9fe5fe044708165643aaf3ef4d53b9a6c613129a4b3b2a3789e44dd8f1be17408177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b88064338ae508d3aa4bcfe981d1deac27a0b208c80abc3584b4379a4fef52eef9d441erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootgnome-remote-desktop-45.1-150600.3.6.1.src.rpmgnome-remote-desktopgnome-remote-desktop(aarch-64) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     /bin/sh/bin/shld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.28)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libcairo.so.2()(64bit)libei.so.1()(64bit)libepoxy.so.0()(64bit)libfdk-aac.so.2()(64bit)libfreerdp-server2.so.2()(64bit)libfreerdp2.so.2()(64bit)libfuse3.so.3()(64bit)libfuse3.so.3(FUSE_3.0)(64bit)libgio-2.0.so.0()(64bit)libglib-2.0.so.0()(64bit)libgobject-2.0.so.0()(64bit)libnotify.so.4()(64bit)libpipewire-0.3.so.0()(64bit)libsecret-1.so.0()(64bit)libtss2-esys.so.0()(64bit)libtss2-mu.so.0()(64bit)libtss2-rc.so.0()(64bit)libtss2-tctildr.so.0()(64bit)libvncserver.so.1()(64bit)libwinpr2.so.2()(64bit)libxkbcommon.so.0()(64bit)libxkbcommon.so.0(V_0.5.0)(64bit)libxkbcommon.so.0(V_1.0.0)(64bit)pipewirerpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)0.3.03.0.4-14.6.0-14.0-15.2-14.14.3io@gee5ejdd.@d@dsB@df@dC@d@dcl@cS@ctcV~@c'@c@bbbbbi0@bf@b9@b8hb'E@b @aa}3aHwaA@aA@`W5@_I@^wS@]@[tZnmgorse@suse.comjoan.torres@suse.comyfjiang@suse.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.comluc14n0@opensuse.orgbjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.comdimstar@opensuse.orgbjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.comluc14n0@opensuse.orgbjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.comdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgbjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.comdimstar@opensuse.orgbjorn.lie@gmail.comdimstar@opensuse.orgfcrozat@suse.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.comhpj@suse.com- Backport connection throttling (bsc#1244053 CVE-2025-5024 glgo#GNOME/gnome-desktop!321): + 0002-daemon-Use-GError-auto-pointer.patch + 0004-rdp-sam-Dup-fd-kept-in-struct.patch + 0006-utils-Add-some-time-conversion-helpers.patch + 0007-utils-Add-helper-to-close-connection-and-notify.patch + 0008-Introduce-throttler-class.patch + 0010-throttler-Introduce-limits-struct.patch + 0011-vnc-server-Hook-up-VNC-server-to-the-throttler.patch + 0013-throttler-Allow-overriding-hard-coded-parallel-conne.patch- Ensure PIE (bsc#1235929)- Explict require higher version of gcc on SLE/Leap.- Update to version 45.1: + session: - Assert region size to be greater than 0 - Add debug message to also output new EI regions - Scale absolute pointer position with respect to the EI region - Clear all EI related instances before dbus session stop call - Only notify keysym when EI keyboard is available - Add struct for absolute pointer motion events + vnc-pipewire-stream: Don't remove buffer while dequeueing it + rdp-pipewire-stream: Don't remove buffer while dequeueing it + Adapt usage of abs pointer motion events to GrdEventPointerMotionAbs + Updated translations.- Update to version 45.0: + vnc: Also include DRM format modifiers when resizing PipeWire stream. + rdp: Also include DRM format modifiers when resizing PipeWire stream. + Updated translations. - Change compression of tarball in service and spec to zst from xz. - Drop dbus-1-daemon Requires, only needed for tests, and we are not building them currently.- Update to version 45.rc: * Use default RDP and VNC ports again. * Use libei for input event plumbing. * Updated translations. - Add pkgconfig(libei-1.0) BuildRequires: New dependency.- Update to version 45.beta: * build: - Add an option to enable or disable tests - Use meson to setup tests environment * ci: Simplify test code by just running meson test * context: Add getter for runtime mode * daemon: Fix acquiring screen_cast & remote_desktop proxies * egl-thread: Properly initialize egl_image * rdp-audio-playback: Fix type of PCM samples * rdp-dsp: Fix error condition when AAC encoder could not be created * rdp-fuse-clipboard: Check data size before dereferencing pointer * rdp-gfx-surface: Stop direct usage of RDP surface attributes * rdp-graphics-pipeline: - Always reset RFX context - Remove superfluous condition check - Use surface mapping to map surface to output * rdp-layout-manager: - Add API to invalidate surfaces - Also set surface mapping - Always invalidate surfaces when changing the layout - Duplicate virtual monitor in surface context - Ensure that the correct desktop size is always used - Fix calculation of surface position - Output debug message when disposing virtual monitors - Output debug message when preparing virtual monitor * rdp-monitor-config: - Also determine layout offset - Remove superfluous size sanitization - Short a few lines a bit - Tighten up primary monitor determination * rdp: - Move surface resize handling to stream class - Simplify encode handling - Use virtual monitor size instead of surface size for layout updates * rdp-pipewire-stream: - Add signal to indicate that video size changed - Fix race condition when stream is destroyed - Remove superfluous attribute set - Remove superfluous condition * rdp-surface: - Add APIs to set and get surface mapping - Add API to invalidate surface - Remove unused output_origin_[x,y] attributes * session-rdp: - Adapt to the new invalidate_surface API - Add API to notify a new frame - Add API to notify new desktop size - Allow multimonitor configs in headless sessions - Don't advertise handling for the RefreshRect - Fix incomplete warning message - Ignore SuppressOutput PDUs when session is not ready yet - Reduce direct usage of surface attributes a bit - Remove checks that are never hit - Remove duplicated handling for resizing the desktop - Pass tests=false to meson, do not build tests (brings in a lot of dependencies we can avoid with not building it).- Update to version 45.alpha: * clipboard: Add suffix to MAX_READ_TIME indicating the time unit * clipboard-rdp: Add suffix to MAX_WAIT_TIME indicating the time unit * daemon: Make daemon an abstract class * daemon-user: Remove unnecessary includes * dbus: Add prefix Mutter to dbus names * rdp: - Adapt to layout manager - Add layout manager - Add stream owner class - Do not include monitor config header in session-rdp header - Ensure PipeWire buffers to be queued before destroying them - Fix assertion hit, when monitor layout PDU contains no monitors * rdp-audio-playback: Don't dereference RDPSND context when it is NULL * rdp-fuse-clipboard: Remove duplicate assignment * rdp-gfx-frame-controller: Use render GSource of surface * rdp-layout-manager: - Fix render sources not being triggered when wanted - Handle surface reduction in layout changes - Recreate mirror-primary streams when streams close * rdp-monitor-config: - Fix calculation of the desktop size - Fix naming of the graphics output buffer size * rdp-pipewire-stream: - Emit closed signal when source node is removed - Lock buffer mutex before removing buffer entry - Use error signal on PipeWire core errors * rdp-surface: - Add APIs to allow inhibit rendering - Add API to set surface size - Add API to trigger pending render operations - Add getter for width and height - Specify target refresh rate directly at surface creation * rdp-telemetry: Remove protocol timeout source * session: - Add debug message when remote desktop session is closed - Move stream management to backends * session-rdp: - Add APIs to acquire and release stream ids - Add error info for failed stream creations - Handle pointer cache size properly - Rename take_or_encode_frame - Stop ignoring mouse movement on mouse button presses - Zero initialize events array * session: - Silence failed message when mutter vanishes - Use stream path instead of stream for abs pointer motion events * settings: Make settings an abstract class * settings-user: Fix copyright year * stream: - Also save stream id for easier identification - Remove unused context argument - Remove unused signal * tests: - Also output return value of test client, in case of an error - Do not attempt to wait twice on test client * vnc: Ensure PipeWire buffers to be queued before destroying them * vnc-pipewire-stream: Lock buffer mutex before removing buffer entry * Updated translations.- Update to version 44.2: + vnc-pipewire-stream and rdp-pipewire-stream: Lock buffer mutex before removing buffer entry. + vnc and rdp: Ensure PipeWire buffers to be queued before destroying them. + Updated translations.- Drop %systemd_user_postun_with_restart macro from the %postun directive. It's been deprecated and emptied (expands to nil) on both Tumbleweed and Leap already.- Update to version 44.1: * daemon: Stop and clear rdp/vnc servers when start fails * session-rdp: - Prevent DVC reinitializations on session shutdown - Fix small style issue * rdp/rdpgfx: Use correct GMainContext for protocol reset source * clipboard-rdp: Make warnings more explicit on content conversion failure- Update to version 44.0: * rdp-audio-playback: - Fix typo in debug message - Also output client version, when version is too old - Add SVC fallback, when DVC is unavailable * session-rdp: Disable audio output redirection for mobile clients * build: Bump FreeRDP version requirement * rdp-dsp: Fix typo in error message * vnc-pipewire-stream: Acquire EGL slot for transfer tasks * Updated translations.- Update to version 44.rc: * build: Bump FreeRDP version requirement * clipboard: Always call g_task_return_pointer() after reading content * egl: Release current context before destroying it in error paths * egl-thread: Add ability to replace transfer tasks * hwaccel-nvidia: Replace deprecated function cuDeviceComputeCapability * pipewire-utils: Fix a few style issues * rdp: - Be more strict with invalid monitor layouts - Stop dequeuing PipeWire buffers while destroying the stream - Only invoke frame source, when previous operation was successful * rdp-audio-output-stream: Destroy the stream before clearing its pointer * rdp-audio-playback: - Add SVC fallback, when DVC is unavailable - Also output client version, when version is too old - Fix typo in debug message * rdp-display-control: Disconnect clients, that violate message order * rdp-dsp: Fix typo in error message * rdp-fuse-clipboard: Rely on include dir in pkgconfig file * rdp-pipewire-stream: - Acquire EGL slot for transfer tasks - Remove code path, that is not hit any more - Remove superfluous condition * session: Fix a small style issue * session-rdp: - Add error info for invalid monitor layouts - Also advertise RemoteFX in image mode - Disable audio output redirection for mobile clients * vnc: - Stop dequeuing PipeWire buffers while destroying the stream - Only invoke frame source, when previous operation was successful * vnc-pipewire-stream: - Acquire EGL slot for transfer tasks - Remove code path, that is not hit any more - Remove superfluous condition * Updated translations.- Update to version 44.alpha: * build: Use schemadir variable for installed enums * clipboard-rdp: Also check for / separator when preparing uri-list * egl-thread: - Remove unused callback context - Remove unused typedef * rdp: - Avoid direct usage of the attributes of RDP buffers - Deprecate the legacy graphics path * rdp-buffer: - Add API to actually unmap the CUDA resource - Add API to map CUDA resource - Add API to register read-only GL buffer - Add getters to retrieve buffer attributes - Make buffer struct private - Rename unmap_resources to queue_resource_unmap * rdp-pipewire-stream: - Assert buffer types to be either MemFds or DmaBufs - Decouple pointer updates from frame updates - Ignore frame data, when mapping memfd fails * rdp-server: Remove stray new line * vnc-pipewire-stream: - Assert buffer types to be either MemFds or DmaBufs - Decouple pointer updates from frame updates - Don't pass NULL as frame to on_frame_ready * Updated translations.- Update to version 43.3: + Updated translations.- Update to version 43.2: + vnc-pipewire-stream: - Don't pass NULL as frame to on_frame_ready - Assert buffer types to be either MemFds or DmaBufs + rdp-pipewire-stream: Assert buffer types to be either MemFds or DmaBufs + rdp-server: Remove stray new line + Updated translations.- Update to version 43.1: + clipboard: Always clear mime type tables when updating clients clipboard + hwaccel-nvidia: - Also output actual NVENC errors when API calls fail - Always output CUDA errors when API calls fail - Fix small style issue + man: Only include man page content for compiled-in backends + rdp-audio-output-stream: Set stream inactive before destroying it + rdp-monitor-config: Fix typo in verify_monitor_config + rdp/nw-auto: Fix crash when updating unchanged ping source + rdp: - Suspend PipeWire stream on exit instead of flushing it - Unlock stream lock mutex while suspending other audio streams + session-rdp: - Also check VCM handle when clearing it - Fix check when creation of virtual channel manager fails - Only print colour depth fix message when situation applies + vnc: Suspend PipeWire stream on exit instead of flushing it + Updated translations.- Update to version 43.0: + Updated translations.- Update to version 43.rc: + Many small fixes and improvements. + Updated translations. - Add explicit pkgconfig(gio-2.0) as build requirement to align with what Meson searches. It was already being pulled to the build by its siblings (gio-unix-2.0/glib-2.0) since they come from the same package. - Add explicit pkgconfig modules as build requirements: tss2-mu, tss2-rc, and tss2-tctildr. Same reason as gio-2.0 above, but this time pkgconfig(tss2-esys) was the one helping the others being pulled. - Pass 1.4 and 11.1.5.0 as minimum requirement versions for epoxy and ffnvcodec respectively to ensure the package uses the minimum that upstream recommends using.- Update to version 43.beta: + Add man page + Add TPM 2.0 helper class + Add TPM credentials using headless runtime mode + build: - Bump FreeRDP version requirement - Bump version to 43.alpha - Disable VNC support by default - List credentials dependencies separately - Sort dependencies alphabetically - Sort sources alphabetically + ci: - Add tss2 related devel packages - Build with VNC backend + context: Move out debug flags + Convert README data/README to MD + credentials: - Add TPM 2.0 backend - Do not crash when deleting non-existent credentials + credentials-libsecret: Do not crash, when deleting legacy VNC password + ctl: - Add support for TPM credentials - Fix error messages + egl-thread: Release EGL context before destroying it + hwaccel-nvidia: Don't dereference NULL pointer in assertion + Introduce GrdCredentials + pipewire-utils: - Add helper function for creating PipeWire source - Remove grd_maybe_initialize_pipewire() + rdp: - Add API to tear down channels during a session - Add classes for audio output forwarding - Add RDP DSP class - Add support for audio output forwarding - Combine buffer creation and resize operations - Don't dereference NULL pointer when parent dir cannot be found + rdp-event-queue: Correctly clean up resources + rdp-gfx-surface: Delete GFX surface before clearing its members + rdp-graphics-pipeline: - Extend comment with documentation reference - Fix uninitialized caps mutex - Measure bandwidth when sending frame updates + rdp/nw-auto: - Add APIs for bandwidth measurement - Also notify client about network characteristics results - Assert RTT consumer != NONE, when removing RTT consumer - Disallow unqueued bandwidth measure stops - Fix initial ping source not being created - Remove superfluous if condition - Turn assertion into normal conditional statement - Turn ping info condition into assertion + rdp-pipewire-stream: - Properly deinitialize PipeWire upon destruction - Remove unused SPA_DATA_MemPtr path - Use common helper for PipeWire source creation + rdp/rdpgfx: - Create RTT pause source while GFX mutex is locked - Only clear unacked frames when surface has frame controller + session-rdp: - Add API to subscribe to DVC creation statuses - Do not crash, when credentials are not set - Handle queued bandwidth measure stop operations - Stop leaking session sources when session creation fails - Stop leaking the event queue, when session creation fails - Use trivial boolean value for condition in graphics thread + session-vnc: - Add support for sessions with virtual monitors - Do not crash, when password is not set + settings: - Add new screenshare mode setting for the VNC backend - Fix title of specification in setting description - Remove a doubled 'to' + tests: Add test for the RDP backend + tests/egl: Replace tautologies with actual modifier checks + tests/rdp: - Add additional debug messages to RDP test - Add missing NULL check on stop_event + tests/tpm: Skip tests when TPM module not compatible + tests/vnc: Use mutter headless backend + tpm: - Add ability to do capability check - Make tss2 log into /dev/null + types: Sort typedefs alphabetically + vnc: - Add ability to resize virtual monitors during a session - Add VNC virtual monitor config - Allow passing virtual monitor settings to pipewire-stream instance + vnc-pipewire-stream: - Properly deinitialize PipeWire upon destruction - Remove unused SPA_DATA_MemPtr path - Use common helper for PipeWire source creation + Updated translations. - Add asciidoc, pkgconfig(fdk-aac) and pkgconfig(tss2-esys) BuildRequires: New dependencies. - Pass vnc=true to meson, build vnc support even if disabled by default upstream. We are not quite ready to drop that support yet.- Update to version 42.4: + ctl: - Do not crash, when deleting non-existent credentials - Fix error messages + rdp: Don't dereference NULL pointer when parent dir cannot be found + rdp-gfx-surface: Delete GFX surface before clearing its members + rdp-graphics-pipeline: Extend comment with documentation reference + rdp/nw-auto: Disallow unqueued bandwidth measure stops + rdp/rdpgfx: Only clear unacked frames when surface has frame controller + session-rdp: - Do not crash, when credentials are not set - Stop leaking session sources when session creation fails - Stop leaking the event queue, when session creation fails + session-vnc: Do not crash, when password is not set + settings: Do not set error twice when secret_password_lookup_sync fails + tests/egl: Replace tautologies with actual modifier checks- Update to version 42.3: + egl-thread: Release EGL context before destroying it. + rdp-graphics-pipeline: Fix uninitialized caps mutex. + session-rdp: Use trivial boolean value for condition in graphics thread. + rdp/nw-auto: Turn assertion into normal conditional statement.- Update to version 42.2: + rdp-graphics-pipeline: Measure bandwidth when sending frame updates. + session-rdp: Handle queued bandwidth measure stop operations. + rdp/nw-auto: Add APIs for bandwidth measurement. + rdp/nw-auto: Also notify client about network characteristics results. + rdp/nw-auto: Turn ping info condition into assertion. + rdp/nw-auto: Assert RTT consumer != NONE, when removing RTT consumer. + rdp/nw-auto: Remove superfluous if condition. + rdp/nw-auto: Fix initial ping source not being created. + rdp/rdpgfx: Create RTT pause source while GFX mutex is locked. + Updated translations.- Update to version 42.1.1: + session-vnc: Don't leak the socket source + hwaccel-nvidia: Degrade a warning to a normal message + context: Initialize EGL thread when daemon is ready + rdp: Perform basic error checking in SAM file creation + session-rdp: Always check return values of API calls + Updated translations.- Update to version 42.1: + vnc: Retrieve frame members before stealing frame pointer. + rdp: Retrieve frame members before stealing frame pointer. + daemon: Only start servers, when they are not started yet. + settings: Don't crash, when parsing the credentials string fails. + egl: Use Wayland platform instead of surfaceless. + session-rdp: Only show NSC disable message, when NSC is available. + session-rdp: Fix typo in warning message. + systemd: Autostart as part of gnome-session.target. + daemon: Handle SIGINT and SIGTERM signals properly. + Updated translations.- Add explicit pkgconfig(libdrm), pgkconfig(gbm), and pkgconfig(gudev-1.0) BuildRequires: meson checks for them. We should not rely on any other package pulling it in.- Update to version 42.0: * Updated translations.- Update to version 42.rc: * Add 'grdctl' * build: - Bump nv-codec-headers version requirement - Stop making the nv-codec-headers optional * Cleanup server stopping * ctl: - Add --show-credentials to status - Add 'status' command * egl-thread: - Add methods to upload data to the GPU - Also allow bound dma-bufs to be mapped - Don't require callback function for custom tasks * Explicitly enable/disable backends via a setting * hwaccel-nvidia: - Add APIs to allocate and free device memory - Add CUDA kernels for damage region detection - Add methods to get CUDA functions and damage-kernels - Add utility functions for accessing GL resources - Also return aligned size when creating NVENC session - Load extra CUDA functions for GL PBO mappings - Push and pop CUDA context to and from the EGL thread - Reduce global memory access in BGRX_TO_YUV420 kernel - Unload modules before releasing CUDA context - Use a block dim of 16x16x1 for BGRX_TO_YUV420 kernel - Use mapped CUDA pointer for AVC420 encodings * pipewire-utils: Add functions to check whether PipeWire buffer has data * rdp: - Adapt to GrdRdpBuffer - Adapt to GrdRdpDamageDetector - Adapt to RDP buffer pool - Add classes for damage region detection - Add CUDA damage detector class - Add display control class - Add RDP buffer - Add RDP buffer pool - Add RDP monitor config - Allocate and register GL resources for each RDP buffer - Allow dma-bufs again when CUDA is available - Allow passing virtual monitor settings to pipewire-stream instance - Always upload frame data to framebuffer on GPU, if possible - Avoid local copy if possible - Defer cairo region creation if possible - Disable dma-buf support for now, if CUDA is supported - Only initialize clipboard if CLIPRDR channel is joined - Split up AVC420 encoding - Stop reallocating NV12 buffer every frame - Track and use rdp_surface reference in stream class - Unref frame when success is FALSE - Use internal enum for RDP errors * rdp-buffer: Add API to unmap resources * rdp-buffer-pool: - Prefer buffers without mapped resources - Unmap buffer resources with low priority GSource * rdp-gfx-surface: Add way to override the render surface * rdp-graphics-pipeline: Create separate render surface when needed * rdp-pipewire-stream: - Add API to resize stream - Don't miss any buffer data - Don't queue chosen PipeWire buffer * rdp/rdpgfx: - Adapt to RDPGFX frame controller - Add RDPGFX frame controller - Allow GFX surfaces to have their own aligned size - Allow surfaces to be created without an hwaccel session - Forbid protocol resets without AVC support by the client - Target render surface, when encoding data with AVC * rdp-server: - Cleanup resources directly when stopping the server - Tear down NVENC after sessions * rdp-surface: Create CUDA damage detector, if CUDA is available * session: Also clear signal handler, when the session proxy is closed * session-rdp: - Add API to submit new monitor configurations - Add support for monitor layout changes during a session - Add support for sessions with virtual monitors * settings: - Add new screenshare mode setting for the RDP backend - Move Secret schemas into a separate file * utils: Add helper to calculate aligned sizes * vnc-pipewire-stream: - Don't miss any buffer data - Don't queue chosen PipeWire buffer * vnc-server: Cleanup resources directly when stopping the server * vnc: Unref frame when success is FALSE * Updated translations.- Update to version 42.beta: * Add DMA buffer downloading support to EGL thread * Add grd-utils * build: Bump FreeRDP version requirement * ci: - Build mutter from git to have the updated screen cast API - Install soon to be needed dependencies * context: Hook up the EGL thread * cuda: Fix out-of-bounds source read in BGRX_TO_YUV420 kernel * egl-thread: - Add API to query format modifiers - Add API to run external functions in EGL thread - Add fallback with EGL_PLATFORM_DEVICE_EXT - Add sync function * hwaccel-nvidia: Use compute devices retrieved from EGL thread * Introduce an EGL thread * pipewire-utils: Remove unused sync function * rdp-gfx-surface: Don't forget to set the surface serial * rdp-pipewire-stream: - Add support for explicit DMA buffer modifiers - Fetch cursor state before framebuffer content - Make buffer processing a bit more async - Make GrdRdpFrame ref counted - Move pixel copy loop to a helper - Use a helper variable for the pending frame - Use EGL thread for DMA buffer downloads * remote-desktop: Synchronize remote-desktop API with API in mutter * Remove semi colon after GType macros * Rename GrdRdpNvEnc to GrdHwAccelNvidia * screen-cast: Synchronize screencast API with API in mutter * session: - Add methods to create streams on-the-fly - Add method to notify subclasses when session is started - Port record behaviour to new API - Require stream for absolute pointer motion events * session-rdp: Move on_pipewire_stream_closed() down a bit * settings: - Fix test RDP username override - Unify code style in gsettings schema * vnc-pipewire-stream: - Add support for explicit DMA buffer modifiers - Do not allocate frame data twice - Do not leak pending frame, when destroying stream - Do not resize framebuffer when client is gone - Make buffer processing callback based - Make GrdVncFrame reference counted - Move format details helper to common area - Simplify buffer merging - Use EGL thread to download DMA buffers - Use GSource to invoke main thread * vnc-server: Make refusing VNC clients more explicit * Updated translations. - Add pkgconfig(epoxy) BuildRequires: New dependency.- Update to version 41.2: + stream: Add method to disconnect proxy signals + session: - Stop trying to stop the session, when it is already destroyed - Disconnect num/caps lock changed signals when stopping - Fix small style issue - Only handle Selection* signals when clipboard is enabled + settings: - Clear settings of type string before setting new values - Don't leak credentials, when username or password is NULL - Set error if username or password is NULL + clipboard-rdp: - Make a warning message a little bit more explicit - Make SelectionTransfer requests async - Fix error message, when runtime directory creation fails - Fix small style issues + clipboard: - Split up SelectionTransfer handling - Also clear GMutexes and GConds on destruction + context: Clear proxies before setting new proxies + daemon: Also clear context on destruction + rdp/nw-auto: - Only create ping source if required and non-existent - Also clear GMutexes on destruction + rdp-graphics-pipeline: Also clear gfx_mutex on destruction + rdp-fuse-clipboard: Also clear GMutexes on destruction + rdp-event-queue: Also clear event_mutex on destruction + rdp-pipewire-stream: Also clear frame_mutex on destruction + session-rdp: Also clear GMutexes and GConds on destruction + Updated translations.- Update to version 41.1: + vnc-pipewire-stream: Take frame data from pending frame, when needed + rdp-pipewire-stream: Take frame data from pending frame, when needed + rdp/rdpgfx: Unref surface serial after looking up surface context + rdp-graphics-pipeline: Fix small style issue + rdp-fuse-clipboard: - Fix potential race when accessing FuseFile path - Fix small style issue + clipboard-rdp: Always check return value of ConvertFromUnicode + session-rdp: Only signal GCond, when all encode jobs are complete- Update to version 41.0: + Updated translations. - Set .changes to be filled via service file, since upstream fails to provide a changelog/NEWS file.- Update to version 41.rc: + No changelog provided by upstream. - Add pkgconfig(ffnvcodec) BuildRequires: new dependency.- Update to version 40.2: + rdp-fuse-clipboard: Handle FUSE lifetime object in FUSE thread + tests: Use bash from environment instead of hardcoded path - Changes from version 40.1: + clipboard-rdp: - Also output client capabilities - Add dummy handling for the Temporary Directory PDU - Advertise clipboard data locking - Adapt to data locking changes - Add APIs to lock/unlock the clients clipboard data - Implement clipboard data locking - clipboard-rdp: Use g_idle_add() instead of g_timeout_add() + rdp: Allow submitting clipDataIds for FileContentsRequests + rdp-fuse-clipboard: - Remove the old API - Use notify_delete() instead of notify_inval_entry() - Be more verbose with file range requests - Read files until the very end - Handle all file lists via clipDataIds + rdp-sam: Remove stray trailing whitespaces + pipewire-stream: Don't leak GSource's + build: - Add missing new line - Explicitly depend on glib >= 2.68- Update to version 40.0: + rdp: Add support for FreeRDP 2.3, support 2.3, requires at least 2.2. + Manu bugfixes. - Add pkgconfig(freerdp-client2), pkgconfig(freerdp-server2), pkgconfig(fuse3), pkgconfig(libvncclient), pkgconfig(libvncserver), and pkgconfig(xkbcommon) BuildRequires: better align with what meson looks for. - Change _service file to point to the proper upstream git repo (gitlab.gnome.org/GNOME/gnome-remote-desktop). - Drop gnutls-anontls.patch, 0001-vnc-Copy-pixels-using-the-right-destination-stride.patch 0001-vnc-Drop-frames-if-client-is-gone.patch: fixed upstream: fixed upstream.- Update to version 0.1.9: + add support for RDP (requires freerdp2) + many bugfixes - Add pkgconfig(freerdp2), pkgconfig(winpr2), pkgconfig(cairo) as BuildRequires. - Bump pipewire minimum version to 0.3.0. - Update url to GNOME main project. - Add0001-vnc-Drop-frames-if-client-is-gone.patch Avoid race condition on disconnect (glgo#GNOME/gnome-remote-desktop#43) - Add gnutls-anontls.patch (Fedora), requires patched libVNCServer. - Add 0001-vnc-Copy-pixels-using-the-right-destination-stride.patch: Copy using the right destination stride (glgo#GNOME/gnome-remote-desktop!21)- Update to version 0.1.8: + Port to pipewire-0.3. - Replace pkgconfig(libpipewire-0.2) with pkgconfig(libpipewire-0.3) BuildRequires.- Update to version 0.1.7: + vnc-pipewire-stream: - Assume no bitmap offset means no bitmap change. - Close session when disconnected. + vnc: - Request cursor sprite as PipeWire metadata. - Detach source when client is gone. + session/vnc: - Set rfbScreenPtr pointer earlier. - Update server format earlier too. - Always set pixel format translate functions. - Don't requeue close session idle. + Use type safety feature of glib 2.58. + meson.build: Use default C standard. + Remove autogen.sh and Makefile. + meson.build: Bump pipewire requirement to 0.2.2. - Drop pipewire-bump.patch: Fixed upstream.- Update to version 0.1.6: + Please see https://gitlab.gnome.org/jadahl/gnome-remote-desktop - Add pkgconfig(libnotify), pkgconfig(libpipewire-0.2) and pkgconfig(libsecret-1) BuildRequires: New dependencies. - Drop gnome-remote-desktop-bad-meson-option.patch: Fixed upstream. - Add pipewire-bump.patch: Fix build with new pipewire.- Initial package./bin/sh/bin/shh01-armsrv1 1772198686 45.1-150600.3.6.145.1-150600.3.6.1 grdctlgnome-remote-desktop-daemongnome-remote-desktop.servicegnome-remote-desktopREADME.mdorg.gnome.desktop.remote-desktop.enums.xmlorg.gnome.desktop.remote-desktop.gschema.xmlgnome-remote-desktopgrd-cuda-avc-utils_30.ptxgrd-cuda-damage-utils_30.ptxgnome-remote-desktopCOPYINGgrdctl.1.gz/usr/bin//usr/lib//usr/lib/systemd/user//usr/share/doc/packages//usr/share/doc/packages/gnome-remote-desktop//usr/share/glib-2.0/schemas//usr/share//usr/share/gnome-remote-desktop//usr/share/licenses//usr/share/licenses/gnome-remote-desktop//usr/share/man/man1/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:42946/SUSE_SLE-15-SP6_Update/21e43a74d16352f9f8ad0bfc7c6aa605-gnome-remote-desktop.SUSE_SLE-15-SP6_Updatedrpmxz5aarch64-suse-linuxELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=936c13c63d9d318804fd405f9141d9faa5704d59, for GNU/Linux 4.3.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=bb2fb9aba45eabde323a2dbb25131deee275720c, for GNU/Linux 4.3.0, strippedASCII textdirectoryexported SGML document, ASCII texttroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix) RRRRRRRRRRRRRRRRRRRRRR RRRRR RR RRRRRRR RRRR RRR$\4pi%Eclsystemdsystemdsystemd-sysvcompatutf-85806ec45029904ffef115c43c8bd5e3e4ec3d6bb76cf01591fcb3ef37e571682?7zXZ !t/ TY]"k%!<|dg`Xh Ӛ U24lpST&P5@KBb:>׺^?Sz,2EkO^-b*Lz ,kwZNʸup^󶲝O &S-8f~at5:!T֒y.ld1\zA%#ץsکe).R%Wwp?e4ܽ^6!aU5Iw;Z&)%0F)Tiq3:/%snYAqJDKH`-Վ3_1q 嶁.71WlnwS *p$QZc,MkbI~3Z9FG{9T8Gvb,OhfL#^Nn|1!R~O)Fjb[\1% tv_Q2ʶ6.2Aw[5xYbW wl}αCtE7}H`1^}0߭5#`K+rCփQyp_ϹKNk\HCv_5\tFH w;`<nns TAvATՉ41QgQLLgDi[-ʄX4u!zCj)tb0li;! smzWв%[&w<_SB\{|̅y)Bh\Q8>Z&dM~Dbf@(7ZH? hr 3]fDLc5łG)CV2_% m0;7*!mK<_Ky^ ɦSsӜ"|{6v)&x̧ ` U1m񍆴(0nQ;F{ &ꝙy }w)@|&ލ0pEI8-ߑ@Ⱥ>l@Hs>lh]e.r+QugDt~zguh"oSyؘoԙ\T=[~a2kaJ r>tVVI|,z&{y}_H8:josV+#<|(V)n "Vަ&mftBwZW g G)SMIl(9Td\\$Nkc gZpf(7ؠ s.xnWFzx $AE9D%>B*Z70ʛ~1,>A&XU]' ($Cx7Vںxw*n-o(C2ޏlgp"r*/:5xɆxʺv]ЛHyHEm>ɚۘ^feDAp;93l!8M)`# og}D6|#ڜS]Qn0h:кVx -Gd`i v_Lqxg'2ߒ6Żi }9Sb@9epj/>WgKpGwTxUNaW8$:u $x}u5s%Rc^bq,2EFpI #+=(.07$03r`t5f]Ru_WmXiָҒ,ToM_|b\!%2j {9mrW(p俅ֹ]q]>$໮0:&MXY5mXN-*.g1`Zb a5\Ys37 +H.Ԗ,Oh=r"o*jab?g˦5&{I8N}lc_ Z樰 "x];56xǤA84@u[_= E%>K@;9lM[TCd%7vL7WȵzxXPa-l /4)}h!]x+vؼ/F hw BNߎtDPD¸mᲤ )!¯oUL=+GZp~N7LB(.L>yB%$j,*?t(t\[C$0t5X *gkMNl}aCAُHzy*MF gG_.\#nOj)PcQh2ڨQ O(;ё.LafXClEY:Y%@Q$]1}kG|04kzO!7 i4߁^L&tiYdp Xx 1@pX皇ނ= ܶ5. \v'|9;+"ë}Wjs{{5̊7n>9HȖ.nۺfl& |D!.fYT^(E[A Sbe3*ߨnԪ7o 4~< KNnZ+0d'us`:|vS ة ,E{iL;HZ=NK'BDm2!$-ʀP; y]P$4*9c< $ẅa1ABn& J&gWuCؤoFprgy'1@W[N\^hTcE7_Pl9L@hf`YL`FQhZSdP^ QhdeS-0L7 AB_`Kڼ0My̅QEp8$+cޖHjqsc^0og3{[0F %O mu?q9DOLmlAT&bK)dzu(:Kpء̉Izj /= % ]A SX9 ת i3xQ]`u?'*YO,L~pFYmț_Uvۻ[<@<`Ab9ʍjdQ WNhxkJ j0vገoR*C$*豜1"mI.`ȑ% $IASv  \X~R\ojd{"볕:")%jp0*u6MXNӺ][X5`2zm}A'-|&58,3:gWCj<pע:WeeD98|,Xk̤!Wo3+Jp}_gUqኲjtN3Rf>$nOǐ_6J恝ҾpQqD 9D"I_@I畐Mō H\Ƨ:4ȥW7ڸd  M_X]1wxemv1d wp7>_x#&;aKt]iEO'Lb݋|R{󘜕1T$̼K:1? L6UJ287F=4DLVWp2KY5l·cA;LIr.@zk }:ۆ[l?GO+ۓ Ҡ9qD`ʐSۧ?j) LCP{`T[W3x\g4U>C}U]5"ImN#ӡ3m8R<(TҚ;OMDZ1WAr@g2iԁ6p ixEfXi3Ӧ,E.qW\*ſ:9@ qzoC:r'rFh f_9THLa9|l&Jڭ L̔R`%YjБ&vNP.&'~*GC|­ WUtX3Ko$F꩖ CHbF_늈lcM6ev| ;g* y됈~u ؁9m~p4uq !+zK1H6o)?#gҚ'&Z`Xp`d='6@YcMaz!O=05\SJ&c`U'f hph'P%]i 70.fY딫Ew;1jzU(pl7~W9 8uV[+7<v`HL 3/`J=N*/H5[m1>yA H7JWPQtN(@զ-,O(B]V6!< 1,y|$Ih;p'Ex7lYyCB|fo?cl'ak\G.ξ=[^-ɑg!qf ~]P?H`Q"1f1+6㸝.&Kh<QJ KdB)F`4AԂ0u^{\c,HދQ/O^ԪQKc!qH+%zSs@%Osh #j ՉY▹u?67xxH*PHZedez=V9 3%GB< XY40qGbjPf$ v_HcfbW>n 2{N vƍ9 zAthrnRZ5ז^OdYoW9~e1?sDDWn9v+={ M̻y'?\RCρz|Us^ ~:yy?!B<0Ivh,s}O۬[?8srThU;5!$b'vr9d| e ~ 6A*Iz>cNmMTdGA M@لs;I;/wո?`iٟ%匿|b p'84ЛM:[.k![:7/:_Sle2%ģ{]e ǰdr?Frf{`݈([e>w*MsnEEO7ld^PWr d(:7 ݳŌ +`#s>N.kPe ILL!x٩WdH5֢wSJ#,Y20ο+Lc3=xRPէU/H$K tA $/(:wf̓b&--lʛ^xNjm=:]<+ Y&{Eoٷt2%H+Mͩ # ipowRcaOV_`?a%a7BM1N%ЈAĒ%f[Y&%h6!d7U|(:FaS([<`~Ss$# E9-Ù0^ HDH0/aW9p"$E~CTL*<#&*IZ_mΕ:)[yrGsa6IF:a^g+s0=uYvM:ѪqoLE2x*6)PAIG>~rbRQ}ꣷg,o$'( GSzaQ{ߛ r7ai8I^OJ`9-'<8pMˈn:;3%俸d7ItկײvR]ݧ̲#J얧c:LN"K3'جf\R@긳;p| rd~"b:Ύ| "Rbqܐ>e_Dz7%m-\6=H.۹c~8if&>@ Gs bnKM嗹9dIGɳ~WUUp;tzςBZHq,*-7ʜ&S6/%D [-oJ"Fug?YBFCY.$Y^bKgT-~] ;ޑb_xЁꊁ%Td\ҲZCw8\+ 16SC?PȂr ']5{JG"z6{ZG@ T)h59i1Έom>-xG_E qMIG+Uߕ`!wQӦDK#.6;C63If玭(^ԩ85q|,&oҎ֚deͣCx?YzT!r\!ZQ8RG\6U1>UuwϬЕI]\>nhrth۞:Lclj+Mc&m.Da>ui^؅)h(˽I:=%P<ʇ2?e2n en!4V++ OƮ#W vkWk|.xח ͐?9k9WW%NP b_5?^w# ZHULPN"]j_mKzy&3+e(iFo,BJ>ɺ!vkh 8Xzl*!TI^QA"Ynɥ'_oEJ,k&0Jyg 9WEqKy4hl'a+ Mm`p9X:F#S9^4l4ހ-6όtY2MCVfv>ermLt+[JCU+l2F AJጓ]kpEe$?<&-Ld*jݛ@q1M*qDnBޤqk<5bz&&$6&6/P2xݟb#xsiN|ryGj^{}Bivލ>Ee6u7ݟR=7.-@xie=:TGf;5qu/ϡ~'mw+ FR.Fz.mL>#cwyqNeU,NY#` A /[h -ly2al3#.[e5(񐼕 .%eU'\K*]Q5ìi|p%LFq)ަJC1QsDPgF1%'] FNbԈG$7x [TʬJn>.X'5P݉ ([?fNE}cOc|(Ur~]x;.ۊb1M<֥;/JmҚճ8bs±"SpUk&g:+Gqp};Ni%ْDDn:fy-F7!l@ظS FbP@Z32BD^u/Ui&f[5'U!K*13Af#KFJ}_EvK8Y9ܲ^о2%XqXTz*xuIMWJ,䓺`LB3䃋ƯvoFub]12\)«{ņ'CddfVEk4W3s#hGuE骤2EM ߢ]sr"A¼l쓸жB<'y)l*6$_KP7W3=."RRX:ƒ J8ua EO w\+ȆO^TlR`i!^i>pb3r߃US?Z틝g8p@QJ8. 6կXGɢ=>p_Jgf'r+C6Fx3N' "j02jk,CeF&ֆX0D7a&(*=`u~cYQfRX\/Fn0K]5FA/{Sv֚M@'UabFr c*av׶-Jbjb#[֣r"v6vgB~:ϑȌf)B8r^?_u$&li[ڵ Wj^#GT;kwXuK}x]{z*RoIt0B$.|@=)]P;.(0ƔV6W>#:8SsL5l&9P׭+hyWCBoҞhc*sCWidN=wu@%_$}CӳW>[|NҧBBKsܣb Z38xj %MȰg~ % mkpxS݌R[\a帚gdr _&mZ+V th\֋' Ag#*~'Nj ȤGjo9r/1nn,4p_d8)̧J GLR95E#mU h$@`9z_iM[ʂgm"ⷁzʴ&G3Ǝ]Ż Xx.ِ'*'n"^|Q۔ V6(W. Tą5oZ2.9=TFր7`.B*8i┚:!5qc*' bde,~ CVHu憒yvty)__L#xY}TmĽ`c5B4נ ݕM,ESOtfU|/VJ!mxpGF3O4_-uVḿjds1)rfAEk ʒ&[n+~`nD3Kę^ zdrlgJ߮ 4𕟪I6v uB#884g!5o)jtqgxIhXX,NVHJבnL]6^Fb<sEmg2V(<C q}XM@S`[HfcJ+ݎ[p:'VbS+UT,4yoȲGۏ\<+]޷<Xw".cwJX,z~t{.3 * V.ČR -m4ػG|55QyТ B"ga\3ԃrja+}YSKm.T}A }Gt ^|+|^&L6/7kg`܇O6o&v".Y3l M>grۊ?Jp Snvža'?˕R.o|3?y|H]11/Ŭ`_^FQg^w9?|~>x^k`ٷKVsdBU݌&iaI(^-Ў˙VlTautHʇvg&tjL{XVmu97 CcN"ukMR6 V7]jφ5KnY۠nj> ,KE&l%>hh SмtuEq"E+>~c5yLmgWl j(}+@cJh> SSUvЈмPڲDw%J\ ^ӞtNJS ccZS ;+aDؒM&fNAi|~1[!HSk)9q|NH9u I%ۯtS%05JL$f{&JzTf),≶hL.3W|;)e2ϯʇB\(Q\ayːfd,LQC=y#a3dZ]D;T ζP}95+6T"dV,gGɧ(@{AC%Be]RdndRqޗ\ Ψ@g=~XtC> Ѻk~2|+]f ft#ۑx VS/y}S 3_s.Ix,Dӽ >ϩe .4d brވ/4sq%2*xàRLT2T4 aac1@hvBҢn])t9,6 y{;eۏY %X H؞fh8 ILd}ؽ|si?^ ;n3I[JLڃÀ;C 1Slt:0 cOx`E$pgS5z|d{Eſ_ߛ޶e3(ᇣߐtKϭDu 6:R@66,>A¡OHZѾɣB._ᵋBܟ?_\"RΦv;:cF#+ߎSGÿTlVCE 7to;ei3Rl@)BzX(pȑܽT7/~7|x>CRfƼ5BƝbl{xtKD8Ł:e1}HzV|7/N. ţ-~{'. DۂP ׾$uP7C;P=Sݻ#h\܄Nm]Aw NѼAs}B[`뾛!y!ڎ\oV54٩f Cѱ~#n{+@1Ԣ*I0'/rlA}S~$5YA/GhoS}e;kF#'n[ wV˥_?+ҬSŒ6#]d}*;\udژzU_\)+{|@ DN0u,~ߒe->X-385Y-AyTjk cKh+dP:s03h ]"1YMEWl)"GH{S7; ixhzX5V7ޕ'gorolh; Ƿ S1>G鲭Z VT*@_6y׉nipȥЎjdi `CQ@xyN_6jq5VktzJɑVH(WQ R~#B09tTxaqRخfcl-P1H >oH'Ƨ95L[]`~ձbzϗׂCdwn44Я,hNBH!Q:pچ֥_p_%B_Z|.wc: j 'NK muD03@)(xlc=-&wha$YlBm{,2#eYQmѬL`mw3 rq>zZ}"C ugҍ.j+Wߴ}X >!(< 1LEU[-dDb @PA{  T7o[HYnh=fvoɗN6WZmէm]ƩJޭ4C* -BDXf[3դkB#2{#Hw/5a]񺐚J#Hėy'+4=tܪ["g8?im!4wwfYi}Rm\Kf&!zI{'dF`!2(UCxԇ9MHp_ii-ʣF&(>"m%]~As feyRipZwa;f{@s(iVihJPWY^b`N|?dWzwxc E:uK"d$L(a6g_TvayCxS@Ku-;K"̇NQݸ|bk$].TD;߾cM"!OB@bIpBc ?'a Qu9{i?9^ɴGEFuDEE h~ <5ZK#%r .qcAKxK:ugr֦qHMeZǔ,) 0i_۰ H56-E"@ZE,_'C*#=yB1j߂zf>.|(U8{oC٣J, ׎ÆBFE2dzjhI_@j["g,%T9XC.;/%QZu6j$^+OJj~@0\Nb<YNQHZ D47&%ӣdǡIGYg[Yh47D[mW;VI3\_,P&T #ShƵ[Yj)cFϧlsDykfR2q]S-с(!InPf90Md~ƜT"ʢ E?fHcI.k`:s7Lc@e]eg uT{#&I u ~W qM!.<9&XP<=LW'ɢ<^8C}q١g]ӷA('{YA/\nw&a`kT0pΔA01̱ E Ƃ O:[5rnWlF͠BƌmtKM]'!#CS IV] OX.E`X xYmiYrdlxY #XNCJX[O:Ed:_S0ż{ai'‚9s/#J͚.O[g?MM]/'d;[tQ~:4FGXK^34: V{Kk{i$X&& #y-TWe]zk՜Cjil/Cen ၣ*6-`+,j0 ߇U]/ ,cgg3aTX@EfO=iov,OaM |`*{S^5YCwY"w PJ{zm>s(;W7^<$Ź;993c,𾓵|5;f1n@wb+gᰶiK3(<"3i1Ewq:k*|߶Ϫ}h̩-S+{BnNqw5h̤h3۶d~=ajl/e+ξngNPC:!m)x36vFcZ߫1"cy_+u&2ap QNRt-.1 ,<|aCXGC fʮ'cSµ_Ŗf{lx\~vT~;0*zY4Ԕ>'FGFB(6N'QGg9ڷ~|HN \Lj?ԏ.lM-==Nnll LE67VHJ^q -$;Us ?'6ޖ]ل!ȕ(kc Z"l*ʦP p]{R}T7V ~1Gsʄ9 jm:rϗi]YD~Q2i)CNI/==1e$Y9.DW/HIC[޻^9h }]u١U˷:[@1^FJ ݙ,;ҟ|ߠJ뢐zr:r-'ym-\A4~w2㨛]KP/meǕ`snZ@2Q#B}g,b!eKTZ>6lQdG]QJ@%>Qة̩py ]{&G+O_@5 ˮ\i "&8T,ŀ)zCv v,:YfWˇ.Wq~]EFqF6f?'L"Χ@pɟ G la{gLoAG^q 20k|@iLw"s:oIyhd gubiz8qU>e*a~o0C+RO뷾W#)=,SiN c&bO%Bt:3ǍMP ?d{49z_'#`P$1F-#5v$s9*.0#dlo&e!# "MM~]){<u 9g G"k?DUj7eT=O)v׵u섎 ib:Fُ 0 @e{8ٛ(a~%c`G1di.7qTY=m̈́4F=8S.V0:ԘWEn|v k߼Dw.KVc5.2( 6i\gq=q '؂kZqoWw#P_KLc1r]0afdsIRy+Jԋ]tdm{|q("}LiL3GʱI^Ȯ30Łt4G`PDr}KAK=k=#n@ z i:4Ob"ڢNJ^5ϧ)w2hsqH|N;Egglf )i;W yJ v)ea&JG9DoQ{?/+ OE7+mԇ#<h!M{d-v/r2Vu'o%Z*Gc}`Y{4$awc Wv2w{ɒL~́- 1 G,RPSkqr&@$k}K7v9ռ=|^,? 169qfkc#J\4[x=_6nÅs'YrYy0߹}]f8n[[ر]cb—!\(gjmwLP"baA /$n #I./͜;M0t-ڳq_%ھ6̯rGxN-;u [%2Љ.rmj-]%-ћ7xo fet`_}9NqS_2 Xh~z|}|t!IgdDNAQ& cf_8Gk2=<{ Zۧ -U(#5~)JiӖl%Fٞ;tz bD8wQvwuX)M{Y^kReQmop5FQa|A8ol^5Sbh{W!TԬ8IW WpwEǦaRXG. :oՕs 5 { Jr+a@789rw=2$jBILsMfTː_k Рz6yry'j%{8Xgګ#PHl҈~#nkBW)ߟ  T"(?&`Ld>8I)د' (|YX:d8BAm5|se('׻_U;3qo+y[eNzp{i{UOe$BP/CM-jbF[>VBaSnOUInoPS($4(rdA4!i~ <{O5Yh7MOEO3U Ԑn3cg̃<KdRC%C PSq.J-,h!x@Bm0g8Q<5N^AYԵ ?/'5=o"'^P>?L@vfvZ,8UfVbhc9i_N(u >-zlDTw{<ǟp>(5АPi0AʋGf8(REPdC]f/gm{~h@Zt?h+-hX/…_]  nᯝ5Izr1 uz!vy+[YžMp?Nqa9}O今 r%hx#Tj]lcFH GuM'hxak<^CWb[g[:nsJQl곟D_r׿14$ݺ _۳)HW2cZf87*"/˃ u>,kw_( ]v1YpS&]a:|'MZutJ ̜(@y[ "I'+ u.µ'Cs[AW:$p>lL^0p[J9:zEE M_  XtL,e6\ߚ.eܱrIY`oE@⨍k1Fp3|kV(}m@joz}2 ja~zcAxO- wg2 ^#[r6"ՒQ S{=E!O: RGwރ3mj0- ,М AX9췩_Npʲ$VW`x i] YE\;;FHm|`s4Mꕄ`|MbT_bXb[CxFR Fp^ m 5њv).B0B}BW7I.TV9~s٧w1 W--9ʁL`?O{܂7lM!ܓ(Pgm[r/kjhYp/ff`&-+ u^ դT6-c!Əiȣa ,hicoN9:*gDŽS>wF*AH g?[TdR @Dj!Y<\UG'qʤ:G":+A!m=T7MP4;5+햿GP0JD*>ھfqHakXt_ A+T5jSF<B茲/ETZُbRU= ؔNN K8 `>Dx>XA4Rx8u B;fnM ^<4ģB7dqB03G!vtwn`֠w+ҶTZY/bz;~-fCm2Muq"KE2|) >J2@ >' +xR W1-zQڨ!.J[=\Ld%%ki]4 xgKOIB=2)(NPi'ndzst@/7^hq0{5, 4B xQ@X;9#Nwr(}aׇR_2t&+ 7wV-Ysͧ+7DBn&($YE`'x|_rt;AܜS~cw%4Uxhg4z s>~A2 YM-oNÝ ٍUUGTDŊ\*$%-1J+"вt>%$xʍEJ#kx*/.e3YzKem?|eA9͍kXkH!-> 1P\196=KnhN?Kii46a Ȗrxi:K:.oRB8".ut`*skub"IB-m ȝʾ*]AC7 끗X-cW’ś^K`ֆS<>kVx QH %՘#+LeF3c2U3|:ވGS[u@lʶC(d1ywkvf`ZNa֙S$H562o\=)0kƾP!{Cȏx?dq},yAfpF ǖzSwJ}0~4ց`Zv_^}L8gRJ*moj hH&q'Z5D* [QOVy)4wy{M _=m#5v%*鮼N{)O)X=] ĀFf_/PU-BMqsO| nRtۜO^a Ӥ\G|{#{42mQռ׈B@3)zP+3Ɣ,c.{|}]g!j\9p0Џ mKˤ6Ћr]?VU(`Ea[mtk֑E@OQ^[]}7scC Jn6hO57RU3g߲(HFwcqoH&{څ I6i*j##eŴSHR. ERMٳG50pn:? <>_|5׷,{^v,k^rzs!Pv} LɐmtN_wʰdyľ|Y٤uQY]y@EO4~)}-[34sbxrKKo@46w5@- \޻aX '4O5wҜϖ_ ϼ03JV4/KC+#"n'($`nq?{PNT4Vff͚oZlH= J3Y93Q+꽟f6@!Z*<"۸v4xg\Gye;ȣ㝷-IzCl'Clz3}R;=^ ҷlCS`#ef̣ b$%] 3/XF|5bC + m.^ƭW?E2q#(ߨmСDv^H}M25 UYLL/@_"yoSlS'3ܩ'a@W DMaR!\^q\n -3Τ:^%_Ԟ\p#w40YD#oShƧv̨.6)37L3_2YşG@0#:"10cUt,&6X8G%QtHD9aϲXOFT! 28o7Oi{͋>B.d_Yq=#h#ryXp.N 9#QԾj@rICC<2֡U3 hʜ ]t{>\G1<6 DN ~ֵTHUxo{觉 =~O8BM 78u^c35KPx1d/$1A!+OLhVuU^(78_Jd5_xP_3n>9Rnk aċ?r5볪 A65c~͌}, K'nj)2}FK [ w)~=h0pڗ)Dʝ\.<'pR`wlVrɀ6I:Ro%@@߿T?SrGSھ˛;u΃J$*Ls3ѝ+~qu;z|e/{ɞr!IJ yc[t(e O}x KA=ߨ2I))0GhO ?^k V̰e^l.5e2[=?TP[ 5mXQ3| Lz_0^BڿVe$[ 4~ϴ83-֙uI8iPO=H8u~NB'vQi&ULZUC R 't.ec' M߂`zu[כCohGmwdwKu5+Uf0CȎR@NRFg9 `GlIS\.YD&鐷ᒀNTםCe|'N¡0[ j,hLf g͇} ^+1v Q9Xq]U =a(wlD'H\}I㦡U_ȡ)qI5q|ZORJ?!ѪV]~ͅ˹V5ֆ 2$Vu5ŭ9Xy*Z,_7FXYUĹԨ/+oU%^g jMΰ2X+xV:бa??3S0bޥ b0c08+QLm#=F & OlnĢD.k'Ebz;H%.iˉjSXL>H#ů87h)44,MrOl}6B]>qT1 l;hbG^+}THg7w Vӗx5Ic1Kp1aL3xe~v:=-_8ҰA"3?9y2N[T>=^0h|O$ɭrl%lI(?0\g6&ƞ$H;B/!ENQ[7uԮs^k4."X)e"Fn\ ? 89)gjF52~EVڀOROvTM7KAP̶^&b}kIN**Nߟ7r,0 ԭB@MYjr,&(bzҫj^so;/gk^SK8_դ ?Hfζ~ [i>c䒀Q>6487<|+}iVo`7PX)NJ\O@A%!\,sBv"9ȍv}Lp x9i ؆s1jwGyJ MHw^I[ME6jS>4K1C 5?s6sh(/07GϦs?^ad~!S`$[>)#DL5I Hұ;Q3R.:C_!C8(Q;-A͔J[4)Φ"k ""s8S 2W j`7!{.Ly1r,swO_!/׽uZߙ 9d BvB1𴔴/;n!!k:V5xȎmqP0%+iGT17iD~>#f> vPip" Z .Ӈ[\\6t46ohN 3.(2aaZ@|<.4-oD[sYdŃ5m+.RSW)ӜAf*@gY'Ŭ&kkxv|X oiY}[1m6 g*E@%P>֬l`H]"nx}"Eo۱WQ gm6߄e՟Css 8Bۭ^ӹaPZc/Ўz/[XNʥ!Soq !_V-0}疇|:^ :D3N;{/}sR!wSF4w&n(3YZݐ!,([Zu򢠻)xIrvŷ X.MX[ 3ހ S{7]ֲےW}¡З= . KS5>Pг2%],M"q@=_@{8G*/4WYLeI;W'8h:i?}WZk@H~cU𽨁Eײ@>'"B 9ݱBdNWw:ws_)crz܈) "2@<0;eXΧȅFw9[rJϰO|gh9~ީs+!)0|Հ FP$bQpL,aîʻ]@))b&7#fmB*,`FTxiaQǎ S2鈴+qG9q :4{&+҅1ziE%CP@Dʄ:8!I1]@B.0ảfh/̮4|%ߦj-J!mZeTcoB TX@ (1þHʖ_3C7X YUiQek@(L愒!Yӡ0ībٸ)֒#l3@e+C p8-ǘTrc(f*/bU&EOϐLnԭAh φ3@{dNm$4G2?zurK'VSm*=cg-VUu.6]޺iUá[`W;&H es o^9R$^dJ&Z3Y:1Z|j%q-ogYTu5>7-ʂmMKm2Rt<«OFEAYګL&6]d NNl|-ǘ/St @oR%_`tg6 TA(eՄX`fh'eO6dN(Mfxm$z);7`qqbqvaDY0Hc-a2R! -=RJRJruP8{B$dq6;X$z+c 9:ƒJRq- ҳ\pB0$dR$+]p鱙>l9-"rKގWsعCII0^] q <B&Ft>6&r؎~($B?/ImrY:¶;?}})kXhy`/~ Y1MB4b2A#,';QcblȺbzgm;B r7.'uzC$:@xK*sTum֊r0]^ɺ|nܼ2[lЀK̷$J(.Ka/}KgM\.pcegf5 u~ [5ܓ OGLp(空*Gݏ;bJ$@J_G[e&=n%bXvٙb~so(K.ԥL}ג7ޑLL|:}!\x׮(Q8x:ݑԾ 5K.גo)0l2@ UAw[=2ȣT\\d(Phr _o1TvOyJJ_[Ϧ=߷\gw0]I7Epk6 GGJRZo;21QMۧ]nm<iԗ2H$ 9=a'nډ3"or:ZIgS ֛"GQƒ!$T>+s@CV^ 2L7\^ @WSurҊ@^Of[HZ>Pu8G%pPbF/ ^@K Us۴N$K5-MN6p Z)'f˗Dpc0Fn/䢷XҦW N+{TVv^̇>/V.T`KVebwy `h[xg$Fq O 1MZ6b)UY8bf%*B)su}^g$SGZ؁^cW *$u)`oO8*>$x `a$@gPi,=0~ˠH>^[٪ H @Car@LEOlў2#"HFyҩoݪe~}dX]16&kB^ps!ey gJZbG]!_jMTw2҃vڇeIM2iXǝ؜V$c ?RwB|!@x8I):3$$ ^ φcS %r,9$"l?h]41SJS_F0lL/_"oBP,RiQB/hGjF7 rGŠoW v閬'R`ˍ_ޓ$WqGBxY$Osjf>F? ` Ǿ@Ehq0GFode6uG1W<ӕiO> 0O.'! 0g1` "N20zS!j(4>)";}<:U&F;I:fIⒹ9J8ƛ~>_@An .\c<29@-@簫֣~ͱ s پ'C< rJ{CUN4P[H_:^.tbѹ%9 o6.Ȼ[FD q^LbsLkY!!ƈDnjdY0Ip}A&g; f`R kx7y`3όI$#ZrT8'3`]i>8!S06s',6'5"e|MGJ{3tWc %3Ҝs`9 ɚJ+}i/>uK$uU~M EĻU/u6\4i]Gq!qҌYm #HXC(Wu*/YDEʐ#~.ާCz#Só9!*c+Xp͟qZ6pY@,~LD u{." LSJIyNFI!o5r[hnI|sRLCjZݕ䈠w.U/IV7~]ފpx*H1qw͍z* sg<-DhƝpJWfuS +b 86 ^w6d4[V-< vhZW6q/Scͭq vڷ-ckM)7<~:t7ODsi X'Y6pCߌ;S6a/̗2I$^2c1'G,x遍 /S>M$'fZ۲2HȚvhA! 4=Y0<'s)hd^|'gn[k.D ,:.P*"i Ǐ' ^1;;5zFn}ZJRFnEE%ǰ"d(OeMF[M5 E1}fV3+/wtdi~?flH0qQn ]=x ti_dIZ&g1Dtζ5JM:xּ&TAf8Tw2r΀mQx Jv^*c91h/?G OV rSWE.w$\AroT@ۈ%֋AlyKw{e< bL@6=Cn$B^L]5CQ2E+\ ?tVH^3ɀxڸI$ t2{ ePN?3~`-V! Ba-?DnViȊs!<3ҿh5tLdTl^+{-n9U*EԢ.^ ͒ ⁅:?+RlCEoh@6+HYyB!:d+ <1΋[NП_[C6M]ۻMƯ_Ld \T 9,}bz՘ B4׿R'R;Me'2łLl+^7Q\NEM0YQ1_ $6<.NʈsC^0Ǟ0?n&=h?%p-l$i(¶+L4@2\al.J48rt>z1IKu5EH"Uk5hp?1hFAײqlQ`LƝ^t@c]]n5Oy5%rrC>x4YC0ℌ;CZBYHZ͢Gٗ  xT~D;(FK5orG[) ¤5֭\f&R c?!*a,h3hEPWDq$S1Je|%Wۈ M6w-]M3Q2aq:}WbO1:T`= ']nMKMAU(8Ӥr["YP@]<)@E<1oyr ~s z4֙"$՜}$cKsa:n&(_C%/oJ}YSBEz J֟S0$3cKcT Rz`[VDCzOGc_߼n}XJOcMc_;YsЂ"P*#!tmFS'$06v+FufSd{Hawmn 8:Pxңݯ1_BFق9e.x+^;x0i1BG7uSmJh߰j/iʗsɥ18nPӝf]=R9ү,"i\4z'?,R+d0= YNKUw;x;@tgy0@n3<wfJvI~КJn]F?6WPm}̢3 (^ڽ34St&i>uk 4o!FDwgg9e|y34D*i+2o^G]S2"Y1Ƙ4\'b/;NG46Џ/![O)O,;o_z z6Iyk9x'X*^1j*Ѳڄ8l,yv5w:(V'I2zAGy}H~C9%۠5)/5wh5f^/ Nʷm}uJ+Pu\(H*r^Dx;K 8mmoQQ5dx{;|q{ZnKxb8en . f^ Z*GeH1XIc|Qb+es:]ͳ.auqPk Lr%s' (@#B.X/L {=xm 1K~`~:#ܟxI a?%#)ݧ rw\x͐L; m=ο`O o(Xp%5Ȗr6_M7  _G,j9s[H~ųQ#nkؒӇ?p0&O5pcw.6Ga$i psۑOdyEJXk\E|OAPo^궳IAӥޜ`x\V]VXu :\++ɪ7+^0@۔ 2䚉Uy-I%dV.ꔑj5,uPoq&#@h/~,:T}Ӕ@Ss3j2P5!<ٻ1h_"/. _lj '놸isê2VWv@C AjlLnisB"~Xy'2hzvi%Ŗ׭ <eV*avԔ{H[i#R-(.-kŵ2`I9߆(p1sr QӪ.Llp-b'j@(> H6pZ>čyD̷(m+\7̳IysV9}Ul/ տѮ%lث$H Ja>Waz!어-v&4!O"BCKQw|3YoԊ">d>rˆ`QCvP <ۍ"J%t$|so1|D +Ċ=@P=oڎe"09j^h/ԦU4dDN~+!Vpz6h%%n|ROY-Njr}[ceQ["wO+9MVANY79 /W`m4pھ@r(ʹ622-6g?}PU癁W&ZtA>ڵp=*^i`We ^-JθS2 7vPEWyOx_&g !Ew靔DFIhExY\0~;Cߠ_04+&.n H#zL( l֕7]G4 u ##ˤJqv\ٍxZ2jwAT1Qv4qh 71q^S"yp˛ie@EP0Up *G9 4)$A1k# tZƲ"t?n˘g9j+<# Xq%׿eF'tYSNh $tm .uf"ҩUeI=J;U>Ns$08imW_$SNjy5$oT0v:6~^zN?FgFg\<pA WVVE*Ǿ[3W*t&a]t{ K |)Jp#[KrBce@TN/52mF',86[+ ~>{(ѫ*^DM,E9+X9С8 m V}:aqr I.͘[mݝag!8g.!SzAOFJsgIT={NwyFY: S-D6flڋ"3A…Mxn{ Ƹ2ͽ)EW\1q&=W}\HihXA;\Bkb{\+Sꁁ(lzdlE{3ې,V7 n8?֣Er>Ά|;]Pݸ:5ˣzY g ͐]Ņ|چTGͯ_qqtԢr[ B~g,M*k8{ZJֺ>XKUv9<,;ˌݤl-Imb58[AW?7aѿ~?@ ?Kg 9`|(e-=*ᚣ@xʰi⬫hmf5Op\qn jrv;|W[  c2Kx S,{PAzj${0ÍE7.q-w.ڛ KBZ!vΤmތphQqͱU]w/ѡ2O!{r2<#'^8cxٵ wes\NWD#!*,08;u\_h*:|~9([0 AWOclSRuN@?S:bK4.Ml}x批*[<#46K[(> lZ[[2mrS <[_Yw秦iʐUA>D A=ҊϱR1rO"^9| XfC\h2_V kOXY`sH6ER~8,eJb\xy-Zfʯ\+:3PɎJ^a[> @uNTe_&8!SY 5W{J$Q꼆5Oīv1|mA|N@`Ш,EJp.c6PԥLQ/3΢Ֆض YZ