25760 Commits

Author SHA1 Message Date
Joyee Cheung
fda80e3c99
lib: save a copy of Symbol in primordials
PR-URL: https://github.com/nodejs/node/pull/26033
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-02-13 06:11:44 +08:00
Joyee Cheung
008074fc38
process: document the bootstrap process in node.js
PR-URL: https://github.com/nodejs/node/pull/26033
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-02-13 06:11:43 +08:00
Joyee Cheung
68afae2f22
lib: move per_context.js under lib/internal/bootstrap
PR-URL: https://github.com/nodejs/node/pull/26033
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-02-13 06:11:41 +08:00
Daniel Bevenius
771b2901da doc: fix minor typo in dgram.md
PR-URL: https://github.com/nodejs/node/pull/26055
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-02-12 06:38:46 -08:00
Kat Marchán
43dd49c978
deps: upgrade npm to 6.7.0
PR-URL: https://github.com/nodejs/node/pull/25804
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2019-02-12 00:06:29 -08:00
Luigi Pinca
b361f9577f test: refactor two http client timeout tests
Refactor test-http-client-set-timeout and
test-http-client-timeout-option-with-agent.

PR-URL: https://github.com/nodejs/node/pull/25473
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-02-12 08:01:26 +01:00
Rich Trott
40a8a73916 test: add assert test for position indicator
This test adds coverage for a ternary in assertion_error.js that checks
if stderr is a TTY.

PR-URL: https://github.com/nodejs/node/pull/26024
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
2019-02-11 22:57:21 -08:00
Anna Henningsen
82c4e170e5 src: add lock to inspector MainThreadHandle dtor
Otherwise, the `CHECK` is reported to be a race condition
by automated tooling. It’s not easy to tell from looking at
the source code whether that is actually the case or not,
but adding this lock should be a safe way to resolve it.

PR-URL: https://github.com/nodejs/node/pull/26010
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-02-12 07:40:53 +01:00
Anna Henningsen
93417ac995 domain: avoid circular memory references
Avoid circular references that the JS engine cannot see through
because it involves an `async id` ⇒ `domain` link.

Using weak references is not a great solution, because it increases
the domain module’s dependency on internals and the added calls into
C++ may affect performance, but it seems like the least bad one.

PR-URL: https://github.com/nodejs/node/pull/25993
Fixes: https://github.com/nodejs/node/issues/23862
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-02-12 05:38:18 +01:00
Anna Henningsen
8679932607 src: add WeakReference utility
Add a simple `WeakReference` utility that we can use until the
language provides something on its own.

PR-URL: https://github.com/nodejs/node/pull/25993
Fixes: https://github.com/nodejs/node/issues/23862
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-02-12 05:38:18 +01:00
Vse Mozhet Byt
0a4c69a5c5 doc: fix some nits in perf_hooks
PR-URL: https://github.com/nodejs/node/pull/26022
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-02-12 05:14:57 +02:00
Joyee Cheung
af83f6af5d
process: normalize process.execPath in CreateProcessObject()
Directly normalize `process.execPath` using `uv_fs_realpath`
on OpenBSD before serializing it into the process object,
instead of using `require('fs')` to normalize and override
the path in `bootstrap/node.js`.

PR-URL: https://github.com/nodejs/node/pull/26002
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-02-12 10:26:38 +08:00
Anna Henningsen
9e84a26cb3
worker: keep stdio after exit
This addresses review comments from
https://github.com/nodejs/node/pull/25871.

Refs: https://github.com/nodejs/node/pull/25871

PR-URL: https://github.com/nodejs/node/pull/26017
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-02-12 01:17:13 +01:00
Anna Henningsen
2c84f6e75c
report: make more items programmatically accessible
Prefer structured output over stringified information
for libuv handles and the native stack trace.

PR-URL: https://github.com/nodejs/node/pull/26019
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-02-12 00:55:46 +01:00
Gabriel Schulhof
6edf88284b n-api: finalize during second-pass callback
Calling into the engine from a weak callback is unsafe, however, the
engine offers a way to attach a second-pass weak callback which gets
called when it is safe to call into JavaScript. This moves the point
at which the N-API finalize callback gets called to this latter point.

Fixes: https://github.com/nodejs/node/issues/25927
PR-URL: https://github.com/nodejs/node/pull/25992
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2019-02-11 15:53:14 -08:00
Lance Ball
0aa74443d8
repl: add repl.setupHistory for programmatic repl
Adds a `repl.setupHistory()` instance method so that
programmatic REPLs can also write history to a file.

This change also refactors all of the history file
management to `lib/internal/repl/history.js`, cleaning
up and simplifying `lib/internal/repl.js`.

PR-URL: https://github.com/nodejs/node/pull/25895
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
2019-02-11 14:30:26 -05:00
Anna Henningsen
902c71a9d0
test: add Worker + --prof regression test
Fixes: https://github.com/nodejs/node/issues/24016

PR-URL: https://github.com/nodejs/node/pull/26011
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2019-02-11 19:57:21 +01:00
Anna Henningsen
5bc6e493c0
worker: set up child Isolate inside Worker thread
Refs: https://github.com/nodejs/node/issues/24016

PR-URL: https://github.com/nodejs/node/pull/26011
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2019-02-11 19:57:19 +01:00
Anna Henningsen
58ba8bfc46
worker: pre-allocate thread id
Allocate a thread id before actually creating the Environment instance.

PR-URL: https://github.com/nodejs/node/pull/26011
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2019-02-11 19:57:14 +01:00
gengjiawen
e11388b245 src: remove unused method in class Http2Stream
PR-URL: https://github.com/nodejs/node/pull/25979
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2019-02-11 09:00:39 +01:00
Matteo Collina
9af04ad684 http2: improve compat performance
This bunch of commits help me improve the performance of a http2
server by 8-10%. The benchmarks reports several 1-2% improvements in
various areas.

PR-URL: https://github.com/nodejs/node/pull/25567
Reviewed-By: Benedikt Meurer <benedikt.meurer@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-02-11 08:50:07 +01:00
Richard Lau
fcaeb1f122 build: export deprecated OpenSSL symbols on Windows
Methods such as `TLSv1_server_method` are categorized as
`DEPRECATEDIN_1_1_0`. Add the deprecated categories to
the list of categories to include passed to `mkssldef.py`.

Adds a regression test to `test/addons/openssl-binding`.

PR-URL: https://github.com/nodejs/node/pull/25991
Refs: https://github.com/nodejs/node/issues/20369
Refs: https://github.com/nodejs/node/issues/25981
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2019-02-11 07:28:01 +01:00
gengjiawen
851cebbff6 src: remove redundant cast in node_file.cc
PR-URL: https://github.com/nodejs/node/pull/25977
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-02-11 07:20:16 +01:00
Weijia Wang
0b585457ee http: reduce multiple output arrays into one
Now we are using `output`, `outputEncodings` and `outputCallbacks`
to hold pending data. Reducing them into one array `outputData`
can slightly improve performance and reduce some redundant codes.

PR-URL: https://github.com/nodejs/node/pull/26004
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
2019-02-11 13:35:58 +08:00
gengjiawen
2e405e576b src: remove unused class in node_errors.h
PR-URL: https://github.com/nodejs/node/pull/25980
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2019-02-11 05:39:26 +01:00
Gireesh Punathil
448b0c0afc test: capture stderr from child processes
If the test fails with errors from the child commands,
there is no debug info. Suppliment the stderr data
so that we know what to look for.

Refs: https://github.com/nodejs/node/issues/25988
PR-URL: https://github.com/nodejs/node/pull/26007
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-02-11 09:33:58 +05:30
Rich Trott
1847696f4b util: protect against monkeypatched Object prototype for inspect()
Prevent affects of monkeypatching (for example) Object.keys() when
calling util.inspect().

PR-URL: https://github.com/nodejs/node/pull/25953
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-02-10 12:51:38 -08:00
gengjiawen
ba4df925eb
src: remove redundant void
PR-URL: https://github.com/nodejs/node/pull/26003
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-02-10 14:20:31 +01:00
Joyee Cheung
69714ab1c4
process: normalize process.argv before user code execution
And make sure that `process.argv` from the preloaded modules
is the same as the one in the main module.

Refs: https://github.com/nodejs/node/issues/25967
PR-URL: https://github.com/nodejs/node/pull/26000
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
2019-02-10 16:34:19 +08:00
Joyee Cheung
84000835e2
process: group main thread execution preparation code
This patch groups the preparation of main thread execution into
`prepareMainThreadExecution()` and removes the cluster IPC
setup in worker thread bootstrap since clusters do not use
worker threads for its implementation and it's unlikely to change.

PR-URL: https://github.com/nodejs/node/pull/26000
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
2019-02-10 16:33:57 +08:00
ZYSzys
70f4f08a9f fs: harden validation of start option in createWriteStream
PR-URL: https://github.com/nodejs/node/pull/25579
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2019-02-10 09:22:36 +01:00
cjihrig
e154176b7c
report: rename setDiagnosticReportOptions()
setDiagnosticReportOptions() is a method on process.report,
making the "DiagnosticReport" part redundant. Rename the
function to setOptions().

PR-URL: https://github.com/nodejs/node/pull/25990
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2019-02-09 17:09:51 -05:00
cjihrig
46c16b3cae
report: refactor report option validation
PR-URL: https://github.com/nodejs/node/pull/25990
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2019-02-09 17:09:03 -05:00
ZYSzys
e34d41e42e fs: remove redundant callback check
PR-URL: https://github.com/nodejs/node/pull/25160
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2019-02-09 20:22:45 +01:00
cjihrig
00366e2acf
test: remove extraneous report validation argument
The second argument passed to validate() and validateContent()
is not used for anything.

PR-URL: https://github.com/nodejs/node/pull/25986
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2019-02-09 12:08:05 -05:00
ZYSzys
3681ddd967 fs: remove useless internalFS
PR-URL: https://github.com/nodejs/node/pull/25161
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-02-09 17:34:28 +01:00
Christopher Jeffrey
2fc759b9b8
worker: no throw on property access/postMessage after termination
PR-URL: https://github.com/nodejs/node/pull/25871
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yuta Hiroto <hello@hiroppy.me>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-02-09 17:27:05 +01:00
Amit Zur
e0a3d74135
crypto: include 'Buffer' in error output of Hash.update method
Fixes: https://github.com/nodejs/node/issues/25487

PR-URL: https://github.com/nodejs/node/pull/25533
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2019-02-09 17:21:41 +01:00
gengjiawen
ea2350bb00
src: fix return type in Hash
PR-URL: https://github.com/nodejs/node/pull/25936
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-02-09 17:19:17 +01:00
gengjiawen
2fa6376ec9
src: refactor macro to std::min in node_buffer.cc
PR-URL: https://github.com/nodejs/node/pull/25919
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
2019-02-09 17:16:22 +01:00
Mark S. Everitt
1aa11e1444
http2: makes response.writeHead return the response
Fixes: https://github.com/nodejs/node/issues/25935

PR-URL: https://github.com/nodejs/node/pull/25974
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2019-02-09 16:34:25 +01:00
Mark S. Everitt
f93df51155
http: makes response.writeHead return the response
Fixes: https://github.com/nodejs/node/issues/25935

PR-URL: https://github.com/nodejs/node/pull/25974
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2019-02-09 16:34:09 +01:00
gengjiawen
c2d374fccc src: remove unused method in env.h
Signed-off-by: gengjiawen <technicalcute@gmail.com>

PR-URL: https://github.com/nodejs/node/pull/25934
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2019-02-09 15:16:05 +01:00
cjihrig
bb11c256d6
doc: edit process.report related documentation
This commit makes several corrections, and generally edits the
documentation for process.report and its methods.

PR-URL: https://github.com/nodejs/node/pull/25983
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2019-02-09 09:07:37 -05:00
Fedor Indutny
8855d1df72 deps: update llhttp to 1.1.1
PR-URL: https://github.com/nodejs/node/pull/25753
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-02-09 14:52:14 +01:00
Andrew Moss
02601c247d doc: clarify http timeouts
Socket timeouts set using the `'connection'` event are replaced by
`server.keepAliveTimeout` when a response is handled.

PR-URL: https://github.com/nodejs/node/pull/25748
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2019-02-09 07:24:39 +01:00
Rich Trott
016c7b9c32 doc: revise Introducing New Modules
Revise "Introducing New Modules" in the Collaborator Guide:

* Improve clarity.
* Remove passive voice.
* Keep sentences short for ease of reading/scanning.

PR-URL: https://github.com/nodejs/node/pull/25975
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2019-02-08 20:46:04 -08:00
Anna Henningsen
de9d5ff287
worker: use correct ctor for error serialization
When serializing errors, use the error constructor that is
closest to the object itself in the prototype chain.

The previous practice of walking downwards meant that
`Error` would usually be the first constructor that is used,
even when a more specific one would be available/appropriate,
because it is the base class of the other common error types.

PR-URL: https://github.com/nodejs/node/pull/25951
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-02-08 21:30:59 +01:00
Anna Henningsen
8b79c15b6f
src: pass along errors from StreamBase req obj creations
PR-URL: https://github.com/nodejs/node/pull/25822
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
2019-02-08 21:03:56 +01:00
Anna Henningsen
63d398c9bb
src: pass along errors from fs object creations
PR-URL: https://github.com/nodejs/node/pull/25822
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
2019-02-08 21:03:55 +01:00