|
|
|
@@ -5,49 +5,111 @@ use 'git log', or peruse the commit history at:
|
|
|
|
|
|
|
|
|
|
|
|
https://sourceforge.net/p/cdesktopenv/code/commit_browser
|
|
|
|
https://sourceforge.net/p/cdesktopenv/code/commit_browser
|
|
|
|
|
|
|
|
|
|
|
|
# 2.2.4a 06/08/2018
|
|
|
|
### 2.3.0 (stable) 07/06/2018
|
|
|
|
|
|
|
|
|
|
|
|
This is a long overdue development release.
|
|
|
|
This is a very long overdue stable release. It incorporates all of
|
|
|
|
|
|
|
|
the fixes in the 2.2.4a development release plus:
|
|
|
|
|
|
|
|
|
|
|
|
This release corrects several known issues with newer BSD based
|
|
|
|
- tooltalk/ttsession:
|
|
|
|
operating systems, enables TIRPC by default for all Linux systems, and
|
|
|
|
|
|
|
|
corrects several hundred bugs and warnings (compiler and coverity).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Using TIRPC on Linux means that you should no longer need to configure
|
|
|
|
- on newer Linux/TIRPC systems, make sure listen() is called on a
|
|
|
|
rpcbind to run in insecure (-i) mode.
|
|
|
|
server socket. This fixes an infinite loop problem seen with with
|
|
|
|
|
|
|
|
newer glibc and TIRPC implementations (SUSE Tumbleweed, ArchLinux)
|
|
|
|
|
|
|
|
|
|
|
|
For Linux, only the C/en_US locales are built by default now. The
|
|
|
|
- default to localhost when hostname IP resolution fails (all
|
|
|
|
available extra locales are:
|
|
|
|
platforms). There is no longer any need to add your unresolvable
|
|
|
|
|
|
|
|
hostname to the localhosts line in your /etc/hosts file.
|
|
|
|
|
|
|
|
|
|
|
|
fr_FR.ISO8859-1, de_DE.ISO8859-1, es_ES.ISO8859-1, and it_IT.ISO8859-1
|
|
|
|
- improved build support on Solaris/OpenIndiana systems (gcc and SunStudio).
|
|
|
|
|
|
|
|
|
|
|
|
To build for these locales, you must ensure the locale support is
|
|
|
|
- BSD improvments:
|
|
|
|
present on your OS (see the wiki), and then you can:
|
|
|
|
- no need to create X11/Motif symlinks prior to compiling CDE.
|
|
|
|
|
|
|
|
- Fix native clang builds
|
|
|
|
|
|
|
|
- Fix some GCC builds
|
|
|
|
|
|
|
|
|
|
|
|
A) Edit config/cf/site.def and add the desired locales to
|
|
|
|
- remove ancient XmeXpm* defines
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Here is the git shortlog since the 2.2.4a development release:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jon Trulson (14):
|
|
|
|
|
|
|
|
libDtTerm: Fix for a coredump seen on OpenBSD
|
|
|
|
|
|
|
|
dtinfo/freebsd: fix a (int)NULL cast in DtSR_SearchEngine.C
|
|
|
|
|
|
|
|
FreeBSD 11: Don't use imported x11/motif, use installed versions for build
|
|
|
|
|
|
|
|
building_release_archive: omit '-src' in archive filename
|
|
|
|
|
|
|
|
OpenBSD 6+: use installed X11 and Motif
|
|
|
|
|
|
|
|
XPM: Replace calls to XmeXpm*() with regular Xpm*()
|
|
|
|
|
|
|
|
FreeBSD 11: Fix clang (v6) builds
|
|
|
|
|
|
|
|
FreeBSD: turn off some warnings
|
|
|
|
|
|
|
|
CDE-ICONS: create compatibility symlinks as relative rather than absolute
|
|
|
|
|
|
|
|
OpenBSD: tone down compiler warnings a bit
|
|
|
|
|
|
|
|
libtt: if local hostname lookup fails, default to localhost
|
|
|
|
|
|
|
|
linux/site.def: use an if !defined() gaurd for DtLocalesToBuild
|
|
|
|
|
|
|
|
slib/mp_rpc_server: TIRPC: force a listen() call on the server socket
|
|
|
|
|
|
|
|
dwtm/WmResource.c: Stop printing garbage when XmeRenderTableGetDefaultFont() fails.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Matthew R. Trower (7):
|
|
|
|
|
|
|
|
nsgml: Resolve symbol collision when building with SunStudio 12.1
|
|
|
|
|
|
|
|
imake: Refactor and fix get_sun_compiler_versions()
|
|
|
|
|
|
|
|
Add SMF service on Sun
|
|
|
|
|
|
|
|
Resolve inconsistent strcasestr availability on Sun
|
|
|
|
|
|
|
|
Minor corrections and cleanup to sun.cf
|
|
|
|
|
|
|
|
Enable building against an arbitrary Motif installation
|
|
|
|
|
|
|
|
Fix DtMail compilation on Sun with GCC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ulrich Wilkens (3):
|
|
|
|
|
|
|
|
create .depend files for Solaris+Illumos
|
|
|
|
|
|
|
|
Reenable gcc support on FreeBSD and OpenBSD
|
|
|
|
|
|
|
|
Use installed X11 includes and libs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
chase (3):
|
|
|
|
|
|
|
|
Remove reallyoldsun defines
|
|
|
|
|
|
|
|
installCDE.src: remove duplicate code
|
|
|
|
|
|
|
|
docnook.tcl: Add shebang
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 2.2.4a (development) 06/08/2018
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is a long overdue development release.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This release corrects several known issues with newer BSD based
|
|
|
|
|
|
|
|
operating systems, enables TIRPC by default for all Linux systems, and
|
|
|
|
|
|
|
|
corrects several hundred bugs and warnings (compiler and coverity).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Using TIRPC on Linux means that you should no longer need to configure
|
|
|
|
|
|
|
|
rpcbind to run in insecure (-i) mode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
For Linux, only the C/en_US locales are built by default now. The
|
|
|
|
|
|
|
|
available extra locales are:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fr_FR.ISO8859-1, de_DE.ISO8859-1, es_ES.ISO8859-1, and it_IT.ISO8859-1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To build for these locales, you must ensure the locale support is
|
|
|
|
|
|
|
|
present on your OS (see the wiki), and then you can:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A) Edit config/cf/site.def and add the desired locales to
|
|
|
|
DtLocalesToBuild in the LinuxArchitecture section, or
|
|
|
|
DtLocalesToBuild in the LinuxArchitecture section, or
|
|
|
|
|
|
|
|
|
|
|
|
B) call make World with the following option:
|
|
|
|
B) call make World with the following option:
|
|
|
|
|
|
|
|
|
|
|
|
make World IMAKE_DEFINES='-DDtLocalesToBuild="fr_FR.ISO8859-1"'
|
|
|
|
make World IMAKE_DEFINES='-DDtLocalesToBuild="fr_FR.ISO8859-1"'
|
|
|
|
|
|
|
|
|
|
|
|
to build the French Locale, for example.
|
|
|
|
to build the French Locale, for example.
|
|
|
|
|
|
|
|
|
|
|
|
For the BSD's, All of the current ones (OpenBSD 6.x and FreeBSD 11.x)
|
|
|
|
For the BSD's, All of the current ones (OpenBSD 6.x and FreeBSD 11.x)
|
|
|
|
should compile now. Since we no longer use XPrint, the BSD's
|
|
|
|
should compile now. Since we no longer use XPrint, the BSD's
|
|
|
|
should not need to compile their own modified Motif libraries any
|
|
|
|
should not need to compile their own modified Motif libraries any
|
|
|
|
more. Just install a Motif development package, and go.
|
|
|
|
more. Just install a Motif development package, and go.
|
|
|
|
|
|
|
|
|
|
|
|
Here is the git shortlog:
|
|
|
|
Here is the git shortlog:
|
|
|
|
|
|
|
|
|
|
|
|
Cody Kotichas (1):
|
|
|
|
Cody Kotichas (1):
|
|
|
|
Fix typographical error
|
|
|
|
Fix typographical error
|
|
|
|
|
|
|
|
|
|
|
|
Edmond ORIGNAC (2):
|
|
|
|
Edmond ORIGNAC (2):
|
|
|
|
Manual page for vcal2xapia.awk
|
|
|
|
Manual page for vcal2xapia.awk
|
|
|
|
DtMail translations and improvements of vcal2xampia.awk
|
|
|
|
DtMail translations and improvements of vcal2xampia.awk
|
|
|
|
|
|
|
|
|
|
|
|
Jon Trulson (103):
|
|
|
|
Jon Trulson (103):
|
|
|
|
dtappbuilder: Add patches from Robert Pangrazio fixing coredumps
|
|
|
|
dtappbuilder: Add patches from Robert Pangrazio fixing coredumps
|
|
|
|
Remove old cruft: osf/* and utils/prog*
|
|
|
|
Remove old cruft: osf/* and utils/prog*
|
|
|
|
CDE-RUN: remove osf bindings
|
|
|
|
CDE-RUN: remove osf bindings
|
|
|
|
@@ -152,14 +214,14 @@ Jon Trulson (103):
|
|
|
|
site.def: Only build C/en_US locales by default for Linux
|
|
|
|
site.def: Only build C/en_US locales by default for Linux
|
|
|
|
installCDE: Only install locales that were built
|
|
|
|
installCDE: Only install locales that were built
|
|
|
|
|
|
|
|
|
|
|
|
Matthew R. Trower (2):
|
|
|
|
Matthew R. Trower (2):
|
|
|
|
dtwm: basic multihead(xinerama only) support
|
|
|
|
dtwm: basic multihead(xinerama only) support
|
|
|
|
Fix imake segfault on OpenIndiana
|
|
|
|
Fix imake segfault on OpenIndiana
|
|
|
|
|
|
|
|
|
|
|
|
Michael McConville (1):
|
|
|
|
Michael McConville (1):
|
|
|
|
Remove needless zeroing after calloc
|
|
|
|
Remove needless zeroing after calloc
|
|
|
|
|
|
|
|
|
|
|
|
Peter Howkins (78):
|
|
|
|
Peter Howkins (78):
|
|
|
|
Change pid wait types to int on Linux as well. Fixes compile issue in dtudc programs on ubuntu 16.10+
|
|
|
|
Change pid wait types to int on Linux as well. Fixes compile issue in dtudc programs on ubuntu 16.10+
|
|
|
|
Add in an example .desktop session file for other X session managers (not dtlogin) Suitable for kdm/gdm/lightdm etc
|
|
|
|
Add in an example .desktop session file for other X session managers (not dtlogin) Suitable for kdm/gdm/lightdm etc
|
|
|
|
Resolve some coverity warnings
|
|
|
|
Resolve some coverity warnings
|
|
|
|
@@ -239,16 +301,16 @@ Peter Howkins (78):
|
|
|
|
dtappbuilder: Coverity fixes mostly related to uninitialised variables
|
|
|
|
dtappbuilder: Coverity fixes mostly related to uninitialised variables
|
|
|
|
dtwm: Resolve coverity warnings related to uninitialised variables and missing return statements
|
|
|
|
dtwm: Resolve coverity warnings related to uninitialised variables and missing return statements
|
|
|
|
|
|
|
|
|
|
|
|
Swift Griggs (1):
|
|
|
|
Swift Griggs (1):
|
|
|
|
Patches from pkgsrc-WIP
|
|
|
|
Patches from pkgsrc-WIP
|
|
|
|
|
|
|
|
|
|
|
|
Ulrich Wilkens (4):
|
|
|
|
Ulrich Wilkens (4):
|
|
|
|
Fix BSD and Sun problems after coverity fixes
|
|
|
|
Fix BSD and Sun problems after coverity fixes
|
|
|
|
Fix Linux rpc problems with new glibc
|
|
|
|
Fix Linux rpc problems with new glibc
|
|
|
|
Fixes for OpenBSD
|
|
|
|
Fixes for OpenBSD
|
|
|
|
Fix warnings on FreeBSD
|
|
|
|
Fix warnings on FreeBSD
|
|
|
|
|
|
|
|
|
|
|
|
alx (6):
|
|
|
|
alx (6):
|
|
|
|
libDtSvc: added Xinerama support to _DtMessageDialog
|
|
|
|
libDtSvc: added Xinerama support to _DtMessageDialog
|
|
|
|
dtfile: added Xinerama support to dialog positioning routines
|
|
|
|
dtfile: added Xinerama support to dialog positioning routines
|
|
|
|
dtlogin: center the mouse pointer on the login screen on multi-head setups
|
|
|
|
dtlogin: center the mouse pointer on the login screen on multi-head setups
|
|
|
|
@@ -256,7 +318,7 @@ alx (6):
|
|
|
|
dtksh/sfio: resolved a naming collision on FreeBSD 11
|
|
|
|
dtksh/sfio: resolved a naming collision on FreeBSD 11
|
|
|
|
libtt: pass proper flags to getfsstat, log error message and exit if it fails
|
|
|
|
libtt: pass proper flags to getfsstat, log error message and exit if it fails
|
|
|
|
|
|
|
|
|
|
|
|
chase (23):
|
|
|
|
chase (23):
|
|
|
|
Fix various spelling errors
|
|
|
|
Fix various spelling errors
|
|
|
|
More spelling fixes
|
|
|
|
More spelling fixes
|
|
|
|
Rewrite csh scripts in sh, use sh instead of csh in scripts
|
|
|
|
Rewrite csh scripts in sh, use sh instead of csh in scripts
|
|
|
|
@@ -283,7 +345,7 @@ chase (23):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 2.2.4 06/19/2016
|
|
|
|
### 2.2.4 (stable) 06/19/2016
|
|
|
|
|
|
|
|
|
|
|
|
This release incorporates several fixes for newer operating systems
|
|
|
|
This release incorporates several fixes for newer operating systems
|
|
|
|
(linux and the BSD's primarily). It also removes the requirement to
|
|
|
|
(linux and the BSD's primarily). It also removes the requirement to
|
|
|
|
@@ -342,7 +404,7 @@ alx (14):
|
|
|
|
dtfile: Enable FILE_MAP_OPTIMIZE on Linux. This avoids unnecessary tt_file_netfile calls on local host.
|
|
|
|
dtfile: Enable FILE_MAP_OPTIMIZE on Linux. This avoids unnecessary tt_file_netfile calls on local host.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 2.2.3 05/09/2015
|
|
|
|
### 2.2.3 (stable) 05/09/2015
|
|
|
|
|
|
|
|
|
|
|
|
This release incorporates several hundred fixes identified by various
|
|
|
|
This release incorporates several hundred fixes identified by various
|
|
|
|
Coverity scans and patches supplied by users. In addition,
|
|
|
|
Coverity scans and patches supplied by users. In addition,
|
|
|
|
@@ -503,7 +565,7 @@ alx (1):
|
|
|
|
dtcopy: Fix file removal
|
|
|
|
dtcopy: Fix file removal
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 2.2.2 07/27/2014
|
|
|
|
### 2.2.2 (stable) 07/27/2014
|
|
|
|
|
|
|
|
|
|
|
|
A lot of fixes and improvements in this release. CDE can be built on
|
|
|
|
A lot of fixes and improvements in this release. CDE can be built on
|
|
|
|
more modern Linuxes and BSDs. An initial stab at illimios support is
|
|
|
|
more modern Linuxes and BSDs. An initial stab at illimios support is
|
|
|
|
@@ -588,11 +650,10 @@ alx (2):
|
|
|
|
DtWidget: Don't free random pointer on Control widget destruction
|
|
|
|
DtWidget: Don't free random pointer on Control widget destruction
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 2.2.1 03/01/2014
|
|
|
|
### 2.2.1 (stable) 03/01/2014
|
|
|
|
|
|
|
|
|
|
|
|
- Forgot to update this file for the release. Oops. At any rate,
|
|
|
|
- Forgot to update this file for the release. Oops. At any rate,
|
|
|
|
only the git shortlogs for each release will be listed here in the
|
|
|
|
only the git shortlogs for each release will be listed here.
|
|
|
|
future.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Shortlog:
|
|
|
|
Shortlog:
|
|
|
|
|
|
|
|
|
|
|
|
@@ -671,76 +732,76 @@ alx (4):
|
|
|
|
wwl: fixed dtinfo segfault due to missing copy constructor in WArgList
|
|
|
|
wwl: fixed dtinfo segfault due to missing copy constructor in WArgList
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 2.2.0d (beta) 05/30/2013
|
|
|
|
## 2.2.0d (development, beta) 05/30/2013
|
|
|
|
|
|
|
|
|
|
|
|
- We are being bold this time, and promoting CDE to Beta.
|
|
|
|
- We are being bold this time, and promoting CDE to Beta.
|
|
|
|
|
|
|
|
|
|
|
|
- More work on dtinfo. It now mostly compiles but is not quite ready
|
|
|
|
- More work on dtinfo. It now mostly compiles but is not quite ready
|
|
|
|
for prime time. It is not built be default.
|
|
|
|
for prime time. It is not built be default.
|
|
|
|
|
|
|
|
|
|
|
|
- dtksh now builds on linux systems.
|
|
|
|
- dtksh now builds on linux systems.
|
|
|
|
|
|
|
|
|
|
|
|
- We do not build Motif man pages anymore.
|
|
|
|
- We do not build Motif man pages anymore.
|
|
|
|
|
|
|
|
|
|
|
|
- X11 screensaver extension support now works in dtsession on Linux.
|
|
|
|
- X11 screensaver extension support now works in dtsession on Linux.
|
|
|
|
|
|
|
|
|
|
|
|
- Some screen locking issues on the BSD's have been fixed.
|
|
|
|
- Some screen locking issues on the BSD's have been fixed.
|
|
|
|
|
|
|
|
|
|
|
|
- /usr/sbin/sendmail is now the default mailer on OpenBSD
|
|
|
|
- /usr/sbin/sendmail is now the default mailer on OpenBSD
|
|
|
|
|
|
|
|
|
|
|
|
- Basic support for Xinerama has been added to dtlogin and dtsession
|
|
|
|
- Basic support for Xinerama has been added to dtlogin and dtsession
|
|
|
|
using a new DtXinerama library.
|
|
|
|
using a new DtXinerama library.
|
|
|
|
|
|
|
|
|
|
|
|
- Resolve many more more compiler warnings
|
|
|
|
- Resolve many more more compiler warnings
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 2.2.0c (alpha) 10/4/2012
|
|
|
|
## 2.2.0c (development, alpha3) 10/4/2012
|
|
|
|
|
|
|
|
|
|
|
|
- Many 64b issues have been fixed, related to XtVaGetValues(), missing
|
|
|
|
- Many 64b issues have been fixed, related to XtVaGetValues(), missing
|
|
|
|
prototypes, erroneous assumptions regarding the size of ints and
|
|
|
|
prototypes, erroneous assumptions regarding the size of ints and
|
|
|
|
pointers, etc. Many still lurk in the shadows.
|
|
|
|
pointers, etc. Many still lurk in the shadows.
|
|
|
|
|
|
|
|
|
|
|
|
- help files should build now on 64b systems with compiler
|
|
|
|
- help files should build now on 64b systems with compiler
|
|
|
|
optimization enabled.
|
|
|
|
optimization enabled.
|
|
|
|
|
|
|
|
|
|
|
|
- FreeBSD is pretty much fully functional now. OpenBSD and NetBSD are
|
|
|
|
- FreeBSD is pretty much fully functional now. OpenBSD and NetBSD are
|
|
|
|
close behind.
|
|
|
|
close behind.
|
|
|
|
|
|
|
|
|
|
|
|
- FreeBSD uses a authorized FreeBSD Foundation specific logo on
|
|
|
|
- FreeBSD uses a authorized FreeBSD Foundation specific logo on
|
|
|
|
dtlogin.
|
|
|
|
dtlogin.
|
|
|
|
|
|
|
|
|
|
|
|
- a few hundred more compiler warnings fixed :)
|
|
|
|
- a few hundred more compiler warnings fixed :)
|
|
|
|
|
|
|
|
|
|
|
|
- more missing prototypes added to XmPrivate.h
|
|
|
|
- more missing prototypes added to XmPrivate.h
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 2.2.0b (alpha) 9/6/2012
|
|
|
|
## 2.2.0b (development, alpha2) 9/6/2012
|
|
|
|
|
|
|
|
|
|
|
|
- This release incoporates approximately 200 patches from various
|
|
|
|
- This release incoporates approximately 200 patches from various
|
|
|
|
people around the planet.
|
|
|
|
people around the planet.
|
|
|
|
|
|
|
|
|
|
|
|
- initial BSD (OpenBSD, FreeBSD) support.
|
|
|
|
- initial BSD (OpenBSD, FreeBSD) support.
|
|
|
|
|
|
|
|
|
|
|
|
- wider support for various Linux distributions - Redhat, Arch,
|
|
|
|
- wider support for various Linux distributions - Redhat, Arch,
|
|
|
|
Ubuntu/Kubuntu/Xubuntu. See a full list of currently operational
|
|
|
|
Ubuntu/Kubuntu/Xubuntu. See a full list of currently operational
|
|
|
|
platforms and their statuses at:
|
|
|
|
platforms and their statuses at:
|
|
|
|
|
|
|
|
|
|
|
|
https://sourceforge.net/p/cdesktopenv/wiki/SupportedPlatforms/
|
|
|
|
https://sourceforge.net/p/cdesktopenv/wiki/SupportedPlatforms/
|
|
|
|
|
|
|
|
|
|
|
|
- many fixes to better support 64b systems. There is still much work
|
|
|
|
- many fixes to better support 64b systems. There is still much work
|
|
|
|
needed in this regard.
|
|
|
|
needed in this regard.
|
|
|
|
|
|
|
|
|
|
|
|
- most modules are operational. dtinfo is not operational on any
|
|
|
|
- most modules are operational. dtinfo is not operational on any
|
|
|
|
platform yet. dtksh is not yet operational on linux systems.
|
|
|
|
platform yet. dtksh is not yet operational on linux systems.
|
|
|
|
|
|
|
|
|
|
|
|
- several thousand compiler warnings have been addressed.
|
|
|
|
- several thousand compiler warnings have been addressed.
|
|
|
|
Unfortunately, there are still several thousand more waiting :(
|
|
|
|
Unfortunately, there are still several thousand more waiting :(
|
|
|
|
Some of this code is *old*.
|
|
|
|
Some of this code is *old*.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 2.2.0a (alpha) 8/6/2012
|
|
|
|
## 2.2.0a (development, alpha1) 8/6/2012
|
|
|
|
|
|
|
|
|
|
|
|
- This is the initial release of CDE form The Open Group based on
|
|
|
|
- This is the initial release of CDE form The Open Group based on
|
|
|
|
2.1.30.
|
|
|
|
2.1.30.
|
|
|
|
|
|
|
|
|
|
|
|
Minimal changes to get it compiling on some common linux distros,
|
|
|
|
Minimal changes to get it compiling on some common linux distros,
|
|
|
|
|