Commit Graph
1370 Commits
Author SHA1 Message Date
Roman Kuznetsov f30af7b351 tdf#147132 Flatten Basic function
Change-Id: I1e445a565dc9c45810e85b045e68db08a56207f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135271
Tested-by: Jenkins
Reviewed-by: Roman Kuznetsov <antilibreoffice@gmail.com>
2022-06-03 16:36:32 +02:00
Roman Kuznetsov 66fe1fa945 tdf#147132 Flatten Basic function
Change-Id: Ib2646bfbebdfb6d8e8a3cd1355db75b0405ccfe6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135268
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-06-03 10:17:02 +02:00
Stephan Bergmann 0af4324c57 Use more appropriate type for SbiImage::GetString nId param
Change-Id: I4207830e3923ce9b4f7c0f59cf5880dfcf89979b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135243
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-06-01 21:20:29 +02:00
Noel Grandin 5ecdedbf81 clang-tidy modernize-pass-by-value in basic
Change-Id: I9034ab95a4ccb58e36e77d911dd33cc50857c03a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135176
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-31 15:11:27 +02:00
Roman Kuznetsov 43458f83f2 tdf#147132 Flatten Basic function implementation
Change-Id: Ife73d08e57bb1c896a27f8cbbd6b1f4b106587a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135062
Tested-by: Jenkins
Reviewed-by: Roman Kuznetsov <antilibreoffice@gmail.com>
2022-05-30 08:45:42 +02:00
Caolán McNamara 070b34c2a4 fix --disable-scripting build
Change-Id: I41e0da3d379d54ec59f9eba46978cfe7f9e09d33
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134105
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-10 10:51:20 +02:00
Mike Kaganski bc1ab88ffa More usual 1899-12-30 base Date in Basic
Omissions from commit 8189d81564

Change-Id: I6b205f7bcc9ff9c30e55b03d39d02b9be15a01c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134064
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-05-10 06:58:24 +02:00
Mike Kaganski ced3501a93 Unify and simplify SbRtl_Hex and SbRtl_Oct
OUStringNumber::toAsciiUpperCase is cheaper than OUString::toAsciiUpperCase.

Let SbRtl_Oct use OUString::number as well.

Change-Id: I3a97ec5d3a7b0005fc300310198bae47c62dfbc6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134061
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-05-09 21:42:29 +02:00
Mike Kaganski 8189d81564 Use usual 1899-12-30 base Date in Basic
It matches VBA, has an optimization in the code, and doesn't
need any additional "-2" hackery.

Change-Id: I4b90674ae643788eda5ce618b4c42e2cc045ec04
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134060
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-05-09 19:04:46 +02:00
Mike Kaganski 7c8f27e3d8 sal_Int32 cast to tools::Long to pass to a function taking sal_Int32
Change-Id: I81bb794e6a154dd3d022b34ce1348f32c854f52b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134059
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-05-09 17:52:11 +02:00
Stephan Bergmann b5ab864096 Just use Any ctor instead of makeAny in basic
Change-Id: I21d9679064c4e68a1492d3550f083c3c91b5b43b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133848
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-05-05 07:13:54 +02:00
Noel Grandin 5200a73627 use more string_view in various
found by examining uses of OUString::copy() for likely places

Change-Id: I6ff20e7b273ad6005410b82719183c1122f8c018
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133617
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-01 08:30:18 +02:00
Noel Grandin d3849255b7 use more string_view in INetURLObject
Change-Id: I4462f7cf4740fa4d1b129d76a0775f4250f41bbd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133555
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-29 08:53:22 +02:00
Julien Nabet 98f88ac1ff tdf#148651: implement VBA.FormatPercent
I started from a copy/paste of FormatNumber.
Then I deduplicated the code (it saved about 99% of it).

Change-Id: Ibcb9ffbf8cebf45d5ffac4713e3d220b8499ba11
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133133
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-04-21 09:59:43 +02:00
Stephan Bergmann f23f594b17 loplugin:stringviewparam
Change-Id: Id3bd8576b134728140dc68b00eebf78a8f3fd4ca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133056
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-04-15 08:38:43 +02:00
Noel Grandin 3e76797384 move comphelper::string::toInt32 to o3tl
so we can use it in places where we cannot include comphelper

Change-Id: Iba0ba3e4c0dcf0f9d1f09092a77c3b2010ec4f6d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132732
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-08 20:44:43 +02:00
Mike Kaganski ad7b90fc54 Fix build
... after commit 36e0e88b28

Change-Id: I540d19f7146651035cd5fafe077c0ccdfcee11ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132733
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-04-08 16:39:19 +02:00
Noel Grandin 36e0e88b28 use more subView when converting to Int32
Change-Id: I54e3ddf79ba793fd4328bf8bda7f949b65349651
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132693
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-08 13:18:41 +02:00
offtkp 6bc187b2eb tdf#147132 Flatten Basic function implementations
Change-Id: I21b0ec23de99aaf9b4398d59a5cc56d7d386ad58
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132444
Tested-by: Jenkins
Reviewed-by: Arkadiy Illarionov <qarkai@gmail.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-04-03 12:32:27 +02:00
Noel Grandin 7002caa97e new loplugin:trivialdestructor
look for potentially trivial destructors that can then be elided

Change-Id: I435c251bd4291b5864c20d68f88676faac7c43fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131318
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-11 09:06:06 +01:00
Ramreiso Kashung bcaf132050 tdf#147132: Flatten Basic function implementations
Some SbRtl_* functions have been flattened at basic/source/runtime/methods.cxx

Change-Id: Id56485ddfaa972133c9b199d22b141d93df475f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130206
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2022-02-22 09:34:20 +01:00
Mike Kaganski 5276177877 tdf#147364: fix function signature to account to calling convention
First, the integer function result is returned in a 64-bit register (RAX),
and truncation it to sal_Int32 breaks any pointer return value.

Second, using explicit (not vararg) first function double argument would
pass it through XMM0, without also copying it to RCX (which is guaranteed
for varargs).

Ref: https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention
Change-Id: I08212c44d8690d6910068b13c16af2ce899c94f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129808
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-02-11 12:56:03 +01:00
Julien Nabet a555aa25bd tdf#147262: CallByName() argument names does not match that of VBA
Change-Id: I3029b98abbe3b8facf01f0e50a7efdff545c2141
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129646
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-02-09 20:41:51 +01:00
VaibhavMalik4187 8b327cd86d tdf#147021 Use std::size() instead of SAL_N_ELEMENTS() macro
Change-Id: I4f5258ca5b37e9b1b4237c5d29e4a9e5362fa855
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129116
Reviewed-by: Arkadiy Illarionov <qarkai@gmail.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2022-02-06 21:38:32 +01:00
Mike Kaganski 5bd55c22c1 We know the length here
Change-Id: I630b7fbda7c9ebf578e74260a0d67eea32e9e429
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129549
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-02-06 13:13:49 +01:00
Mike Kaganski af3316b6f6 SbRtl_Spc is exactly the same as SbRtl_Space
Change-Id: I0ccbffef348fc23ef5ca090ec2112abfe333e8e2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129332
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-02-02 18:04:17 +01:00
Mike Kaganski 6c4bc63218 Use OUStringBuffer in SbRtl_FormatNumber
Change-Id: Ie3e187b7dd1329f8fae04042fa6375c4bde3fa57
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129331
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-02-02 16:05:29 +01:00
Mike Kaganski a03b7d2a8d tdf#132388: reimplement fix for tdf#142487
Each call to css::i18n::XTextSearch::SearchForward transliterates input string,
making performance of repeated calls unacceptable. So prepare the transliterated
strings once, and use the offset sequence to map search results to indices into
original string.

Change-Id: Ie08dd5a408aca9a950067db285a480b41a3f9a16
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129162
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-01-30 15:19:39 +01:00
Ramreiso Kashung 124059f64a tdf#145614: Convert #define to enum
Change-Id: I1e89d233797461dc363bcd5021cc5347598ffff8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128001
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2022-01-28 12:22:55 +01:00
Julien Nabet c1205c1cf6 Related tdf#146909: add missing IDIGNORE in Basic
Change-Id: Idbbceb2f5375d47c942bab70ce81f7be79b17478
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128780
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2022-01-22 15:56:25 +01:00
Gabor Kelemen 840b4eb2f3 Recheck modules [a-c]* with IWYU
See tdf#42949 for motivation

Change-Id: I74a3c3a67c3639376e2251c3eb917fa4139dfbd0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127808
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-01-13 08:26:15 +01:00
Andreas Heinisch 35aa82ef1c tdf#145693 - Argument name should be 'charcode' instead of 'string'
In addition, changed argument datatype from Int to Long.

Change-Id: I702e09b6b8061d7cf00dd403e4681a0ab348d4c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128100
Tested-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2022-01-08 11:48:32 +01:00
Noel Grandin 26f46b861d loplugin:flatten in accessibility..basic
Change-Id: If2cc282c2b135d634daf393a082c29049b10a677
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127223
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-21 13:43:06 +01:00
Caolán McNamara 70591eb5ef ofz#42182 oss-build failure
since...

commit 47aabde053
Date:   Thu Dec 2 12:37:07 2021 +0200

    Make the tdf#97983 changes to BASIC optional

where LibreOffice6FloatingPointMode is called from
code not inside !HAVE_FEATURE_SCRIPTING

[LNK] Executable/pptfuzzer
basic/source/sbx/sbxvalue.cxx:1343: error: undefined reference to 'LibreOffice6FloatingPointMode()'
basic/source/sbx/sbxvalue.cxx:1328: error: undefined reference to 'LibreOffice6FloatingPointMode()'
basic/source/sbx/sbxvar.cxx:456: error: undefined reference to 'LibreOffice6FloatingPointMode()'
basic/source/sbx/sbxvar.cxx:441: error: undefined reference to 'LibreOffice6FloatingPointMode()'
clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [/src/libreoffice/vcl/Executable_pptfuzzer.mk:13: instdir/program/pptfuzzer] Error 1
make: *** [Makefile:170: Executable_pptfuzzer] Error 2

Change-Id: I8e635df26f30edf8acd9c148590d034e8b13c056
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126646
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-12-10 20:50:56 +01:00
Tor Lillqvist 47aabde053 Make the tdf#97983 changes to BASIC optional
If you want to keep the string to floating point conversion semantics
in BASIC as they were in LibreOffice 6, you can either set the
LIBREOFFICE6FLOATINGPOINTMODE environment variable to some non-empty
value, or set the org.openoffice.Office.Scripting/Basic/Compatibility/
UseLibreOffice6FloatingPointConversion flag in the Expert
Configuration. (Or use a registry modification file with that effect.)

Adapt the relevant unit test accordingly. Thanks to Mike Kaganski for
showing how to access the setting in the LibreOffice registry from
Basic.

Change-Id: I13d6d5d834e1bb81ef8df489db2b1da79f01dfc5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125756
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-12-09 12:06:49 +01:00
Noel Grandin ec1c4c4930 O[U]String::replaceAt overloads that take string_view
which results in lots of nice string_view improvements picked up by the
plugins

Change-Id: Ib0ec3887816b3d4436d003b739d9814f83e244b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125657
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-11-23 14:00:08 +01:00
Mike Kaganski 37429f2690 Use M_PI* instead of F_PI*
Change-Id: Ie2b7a1c74fc516781a17a20157b8217bc41e383d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125504
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-11-19 09:59:43 +01:00
Mike Kaganski fffc6b40b9 Drop unused argument names, and (void) noise
Change-Id: I75f313924db7d6a0658f9d7cc1d571767cec3144
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125364
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-11-18 13:05:44 +01:00
Julien Nabet ccfeef1a48 tdf#145725: document about VBASupport+RGB (no bug here)
Change-Id: I1a90509b7e5481bcf811f19889688c767c32e46b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125430
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-11-18 10:01:11 +01:00
Noel Grandin b3c6b3a274 rtl::Static to thread-safe static
Change-Id: I35e2a252708228bdbeaee557ef35763c64608653
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124884
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-11-09 08:28:56 +01:00
Mike Kaganski 81a7d46d9f Prepare for removal of non-const operator[] from Sequence in basic
Change-Id: If048bc301c38ac5ac5412a7d8f69231705088a50
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124343
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-29 06:50:32 +02:00
Andreas Heinisch 7d27e4b025 tdf#57308 - Basic IDE: Watching of a variable does not work
Watching a variable which returns a value from a function always shows
"out of scope" in the watch window of the Basic IDE. In order to resolve
this issue, the name of the variable being watched will be searched also
in the current method instance.

Change-Id: I5ff6ce22067e11d74275eeb82da814da1eebe3db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124239
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2021-10-27 09:29:34 +02:00
Andreas Heinisch 514e83a0a5 Revert "tdf#57308 - Basic IDE: Watching of a variable does not work"
This reverts commit f9ce4b2d04.

Reason for revert: Cast to SbxVsriable instead of SbxMethod causes the code to start over

Change-Id: I8f00f8f13faef8cb8c6db4e8c2a096a921f8714b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124187
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2021-10-26 08:05:27 +02:00
Andreas Heinisch f9ce4b2d04 tdf#57308 - Basic IDE: Watching of a variable does not work
Watching a variable which returns a value from a function always shows
"out of scope" in the watch window of the Basic IDE. In order to resolve
this issue, the name of the variable being watched will be searched also
in the current method instance.

Change-Id: Id383e03925956056931d199fe86d1b352cf8e4eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124075
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2021-10-25 13:22:09 +02:00
Arnaud Versini 0f98bcdf4d basic: simplifiy class initialization
Change-Id: I87fa2f606011aab8e34d9445d9e9299786f05747
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123324
Tested-by: Jenkins
Reviewed-by: Arnaud Versini <arnaud.versini@libreoffice.org>
2021-10-17 21:25:44 +02:00
Julien Nabet cf3971a941 Simplify Sequence in b*
Change-Id: I0817d9a35a9c3fc43badb6cc60727de69849b063
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123720
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-10-17 14:13:10 +02:00
Andreas Heinisch 5c502a1004 tdf#130307 - Support for each loop for objects exposing XIndexAccess
Change-Id: Ib94c642e6d2a52ac7c60a8f7ae3c79d611b41614
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123072
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2021-10-12 21:11:10 +02:00
Stephan Bergmann 4f5b3e4bd5 In O[U]StringBuffer, make string_view params replacements for OUString ones
...for LIBO_INTERNAL_ONLY, instead of having them as additional overloads.  That
way, loplugin:bufferadd and loplugin:stringviewparam found many further
opportunities for simplification (all addressed here).  Some notes:

* There is no longer an implicit conversion from O[U]String to O[U]StringBuffer
(as that goes via user-defined conversions through string_view now), which was
most noticeable in copy initializations like

  OStringBuffer buf = someStr;

that had to be changed to direct initialization,

  OStringBuffer buf(someStr);

But then again, it wasn't too many places that were affected and I think we can
live with that.

* I made the O[U]StringBuffer ctors taking string_view non-explicit, mainly to
get them in line with their counterparts taking O[U]String.

* I added an OUStringBuffer::lastIndexOf string_view overload that was missing
(relative to OUStringBuffer::indexOf).

* loplugin:stringconstant needed some addition to keep the
compilerplugins/clang/test/stringconstant.cxx checks related to
OStringBuffer::append and OStringBuffer::insert working.

* loplugin:stringviewparam no longer needs the special O[U]StringBuffer-related
code that had been introduced in 1250aecd71
"loplugin:stringviewparam extend to new.."

Change-Id: Ib1bb8c4632d99b744e742605a9fef6eae959fd72
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122904
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-10-11 14:22:22 +02:00
Andreas Heinisch e090afc29b tdf#144924 - Change return type of array elements of the split function
If VBA is not enabled, allow the assignment of variables with different
data types to the individual array elements created by the split
function.

Change-Id: I7bdd432cdebbfded5f7fb3acc0216474eb6b6821
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123122
Tested-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2021-10-07 08:21:58 +02:00
Noel Grandin d72511eda9 gives names to all the Idles and Tasks
enforce it by making the constructor parameter non-default.

Change-Id: I321543e4dcf15ea0a43ad8cce91d2f8dc22df6ec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122766
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-28 19:35:13 +02:00