.. |
Make.tags.inc
|
…
|
|
Makefile
|
…
|
|
bufq_disksort.c
|
…
|
|
bufq_fcfs.c
|
…
|
|
bufq_priocscan.c
|
…
|
|
bufq_readprio.c
|
…
|
|
cnmagic.c
|
…
|
|
compat_stub.c
|
Move all non-emulation-specific coredump code into the coredump module,
|
2019-11-20 19:37:51 +00:00 |
core_elf32.c
|
Include XSTATE note in x86 core dumps
|
2020-01-08 17:21:38 +00:00 |
core_elf64.c
|
…
|
|
core_netbsd.c
|
Move all non-emulation-specific coredump code into the coredump module,
|
2019-11-20 19:37:51 +00:00 |
exec_aout.c
|
Move all non-emulation-specific coredump code into the coredump module,
|
2019-11-20 19:37:51 +00:00 |
exec_ecoff.c
|
Move all non-emulation-specific coredump code into the coredump module,
|
2019-11-20 19:37:51 +00:00 |
exec_elf.c
|
Tidy up the vnode locking around execve() on ELF images to acquire and
|
2020-01-12 18:30:58 +00:00 |
exec_elf32.c
|
Move all non-emulation-specific coredump code into the coredump module,
|
2019-11-20 19:37:51 +00:00 |
exec_elf64.c
|
Move all non-emulation-specific coredump code into the coredump module,
|
2019-11-20 19:37:51 +00:00 |
exec_script.c
|
adjust for new check_exec signature.
|
2019-09-15 20:21:12 +00:00 |
exec_subr.c
|
Tidy up the vnode locking around execve() on ELF images to acquire and
|
2020-01-12 18:30:58 +00:00 |
files.kern
|
Retire KLEAK.
|
2020-02-08 07:07:06 +00:00 |
genlintstub.awk
|
…
|
|
init_main.c
|
remove the aiodoned thread. I originally added this to provide a thread context
|
2020-02-18 20:23:17 +00:00 |
init_sysctl.c
|
Use 4K pages on ARM_MMU_EXTENDED platforms (all armv[67] except RPI) by
|
2020-01-18 14:40:03 +00:00 |
init_sysctl_base.c
|
…
|
|
init_sysent.c
|
Regen
|
2020-01-21 02:38:25 +00:00 |
kern_acct.c
|
fix flatly wrong indent
|
2019-05-26 19:23:04 +00:00 |
kern_auth.c
|
Rename min/max -> uimin/uimax for better honesty.
|
2018-09-03 16:29:22 +00:00 |
kern_cctr.c
|
Fix 'unknown' spellos
|
2019-06-24 06:24:33 +00:00 |
kern_cfglock.c
|
…
|
|
kern_clock.c
|
Fix false sharing problems with cpu_info. Identified with tprof(8).
|
2019-12-01 15:34:44 +00:00 |
kern_condvar.c
|
- List all of the syncobjs in syncobj.h.
|
2020-02-15 17:09:24 +00:00 |
kern_core.c
|
Rather than keeping a separate mutex, condvar, and pserialize for each
|
2019-12-12 02:15:42 +00:00 |
kern_cpu.c
|
Fix build failure.
|
2019-12-21 11:35:25 +00:00 |
kern_crashme.c
|
clang does not like to deref a null pointer unless it is qualified volatile
|
2019-01-13 00:11:29 +00:00 |
kern_ctf.c
|
…
|
|
kern_descrip.c
|
Load struct fdfile::ff_file with atomic_load_consume.
|
2020-02-01 02:23:23 +00:00 |
kern_drvctl.c
|
- move export for devmon_insert_vec into sys/device.h.
|
2018-09-18 01:25:09 +00:00 |
kern_event.c
|
Load struct filedesc::fd_dt with atomic_load_consume.
|
2020-02-01 02:23:03 +00:00 |
kern_exec.c
|
PR kern/54922: 9.99.45@20200202 panic: diagnostic assertion linux ldconfig triggers vpp != NULL in exit1()->radixtree.c line 674
|
2020-02-15 17:13:55 +00:00 |
kern_exit.c
|
exit1(): remove from the radix tree before setting zombie status, as
|
2020-02-22 21:07:46 +00:00 |
kern_fileassoc.c
|
…
|
|
kern_fork.c
|
- Track LWPs in a per-process radixtree. It uses no extra memory in the
|
2020-01-29 15:47:51 +00:00 |
kern_history.c
|
Traiing whitespace
|
2019-10-09 05:59:51 +00:00 |
kern_hook.c
|
Add and use __FPTRCAST, requested by uwe@
|
2019-10-16 18:29:49 +00:00 |
kern_idle.c
|
- Move the LW_RUNNING flag back into l_pflag: updating l_flag without lock
|
2020-02-15 18:12:14 +00:00 |
kern_ksyms.c
|
When reading from /dev/ksyms we need to skip over entries that have
|
2020-01-05 21:12:34 +00:00 |
kern_ksyms_buf.c
|
…
|
|
kern_kthread.c
|
Hopefully fix some problems seen with MP support on non-x86, in particular
|
2020-01-08 17:38:41 +00:00 |
kern_ktrace.c
|
Explicitly cast pointers to uintptr_t before casting to enums. They are
|
2020-02-21 00:26:21 +00:00 |
kern_ktrace_vfs.c
|
…
|
|
kern_lock.c
|
Put back the delay hooks which were deleted before. Without them VirtualBox
|
2020-02-10 22:11:09 +00:00 |
kern_lwp.c
|
- Move the LW_RUNNING flag back into l_pflag: updating l_flag without lock
|
2020-02-15 18:12:14 +00:00 |
kern_malloc.c
|
Add support for Kernel Memory Sanitizer (kMSan). It detects uninitialized
|
2019-11-14 16:23:52 +00:00 |
kern_module.c
|
Teach module infrastructure to attach any static evcnts that might be
|
2020-02-22 19:51:57 +00:00 |
kern_module_hook.c
|
Trailing whitespace
|
2019-12-13 08:02:53 +00:00 |
kern_module_vfs.c
|
Merge the [pgoyette-compat] branch
|
2019-01-27 02:08:33 +00:00 |
kern_mutex.c
|
Update a comment.
|
2020-01-23 12:35:23 +00:00 |
kern_mutex_obj.c
|
Add some new functions for lock objects:
|
2020-01-01 21:34:39 +00:00 |
kern_ntptime.c
|
Zero out the ntptimeval structure to prevent a 4 byte kernel stack disclosure.
|
2018-10-29 22:02:25 +00:00 |
kern_pax.c
|
PAX_SEGVGUARD doesn't seem to work properly in testing for me, but at least
|
2020-01-23 10:21:14 +00:00 |
kern_physio.c
|
Revert previous. No performance gain worth the potential headaches
|
2019-12-08 19:52:37 +00:00 |
kern_pmf.c
|
…
|
|
kern_proc.c
|
Explicitly cast pointers to uintptr_t before casting to enums. They are
|
2020-02-21 00:26:21 +00:00 |
kern_prot.c
|
…
|
|
kern_ras.c
|
Remove charade dancing around now-dead RCU patent.
|
2019-12-14 16:58:25 +00:00 |
kern_rate.c
|
…
|
|
kern_reboot.c
|
- Introduce a new global kernel variable "shutting_down" to indicate that
|
2020-01-01 22:57:16 +00:00 |
kern_resource.c
|
Explicitly cast pointers to uintptr_t before casting to enums. They are
|
2020-02-21 00:26:21 +00:00 |
kern_rndpool.c
|
- add or adjust /* FALLTHROUGH */ where appropriate
|
2019-02-03 03:19:25 +00:00 |
kern_rndq.c
|
- Eliminate the global "boottime" variable, which was being accessed
|
2020-01-02 15:42:26 +00:00 |
kern_rndsink.c
|
…
|
|
kern_runq.c
|
sched_takecpu(): for vfork(), when looking at curcpu's runqueue consider
|
2020-01-25 15:09:54 +00:00 |
kern_rwlock.c
|
Add a comment.
|
2020-01-22 12:44:54 +00:00 |
kern_rwlock_obj.c
|
Add some new functions for lock objects:
|
2020-01-01 21:34:39 +00:00 |
kern_scdebug.c
|
syscall debug - fix build when SYSCALL_DEBUG option is present in kernel config file
|
2019-03-14 19:51:49 +00:00 |
kern_sdt.c
|
…
|
|
kern_sig.c
|
Load struct fdfile::ff_file with atomic_load_consume.
|
2020-02-01 02:23:23 +00:00 |
kern_sleepq.c
|
- Move the LW_RUNNING flag back into l_pflag: updating l_flag without lock
|
2020-02-15 18:12:14 +00:00 |
kern_softint.c
|
softint_dispatch(): Temporarily call kernel_lock_plug_leak() since there is
|
2020-02-17 21:44:42 +00:00 |
kern_ssp.c
|
…
|
|
kern_stub.c
|
steal an idea from uwe@ and implement gcc-8 function type cast
|
2019-10-08 07:33:14 +00:00 |
kern_subr.c
|
- Introduce a new global kernel variable "shutting_down" to indicate that
|
2020-01-01 22:57:16 +00:00 |
kern_synch.c
|
nextlwp(): fix a couple of locking bugs including one I introduced yesterday,
|
2020-02-16 21:31:19 +00:00 |
kern_syscall.c
|
xc_barrier - convenience function to xc_broadcast() a nop.
|
2019-10-06 15:11:16 +00:00 |
kern_sysctl.c
|
Invert two conditions, to fix uninitialized memory access. If the node is
|
2019-07-03 17:31:32 +00:00 |
kern_tc.c
|
- Eliminate the global "boottime" variable, which was being accessed
|
2020-01-02 15:42:26 +00:00 |
kern_threadpool.c
|
Switch from ad-hoc logging to dtrace probes.
|
2020-02-09 22:57:39 +00:00 |
kern_time.c
|
- Eliminate the global "boottime" variable, which was being accessed
|
2020-01-02 15:42:26 +00:00 |
kern_timeout.c
|
callout_halt():
|
2020-01-23 20:44:15 +00:00 |
kern_todr.c
|
- In todr_gettime(), in the todr_gettime_ymdhms, pre-zero the clock_ymdhms
|
2020-01-03 01:24:48 +00:00 |
kern_turnstile.c
|
ddb's "show all locks":
|
2020-01-21 20:31:57 +00:00 |
kern_uidinfo.c
|
PR/53998: Joel Bertrand: Limit the number of semaphores on a
|
2019-03-01 03:03:19 +00:00 |
kern_uuid.c
|
…
|
|
kern_veriexec.c
|
Explicitly cast pointers to uintptr_t before casting to enums. They are
|
2020-02-21 00:26:21 +00:00 |
kgdb_stub.c
|
…
|
|
makesyscalls.sh
|
do not try to rm sysautoload when it's not actually used for given compat;
|
2019-11-09 22:05:50 +00:00 |
sched_4bsd.c
|
- Many small tweaks to the SMT awareness in the scheduler. It does a much
|
2020-01-09 16:35:03 +00:00 |
sched_m2.c
|
sched_tick(): don't try to optimise something that's called 10 times a
|
2019-12-06 18:33:19 +00:00 |
subr_asan.c
|
Sync the codes with reality: partial replaced by mid, and use-after-ret
|
2020-02-08 09:05:08 +00:00 |
subr_autoconf.c
|
protect deferred lists' manipulation by config_misc_lock, same as
|
2020-02-20 21:14:23 +00:00 |
subr_blist.c
|
…
|
|
subr_bufq.c
|
rename module_name to strategy_module_name to avoid fatal shadowing of
|
2019-02-17 23:17:41 +00:00 |
subr_callback.c
|
…
|
|
subr_copy.c
|
Exclude references to _ucas_{32,64}_mp() for _RUMPKERNEL.
|
2019-04-07 16:27:41 +00:00 |
subr_cprng.c
|
Disable rngtest on output of cprng_strong.
|
2019-12-04 05:36:34 +00:00 |
subr_cpu.c
|
Remove the 'slow' argument from cpu_topology_set and create a new
|
2020-02-15 07:20:40 +00:00 |
subr_cpufreq.c
|
…
|
|
subr_csan.c
|
Add KCSAN instrumentation for atomic_{load,store}_*.
|
2019-12-01 08:15:58 +00:00 |
subr_debug.c
|
…
|
|
subr_device.c
|
…
|
|
subr_devsw.c
|
…
|
|
subr_disk.c
|
kern/subr_disk: bounds_check_with_label: really protect against div by zero
|
2019-09-30 23:23:59 +00:00 |
subr_disk_mbr.c
|
Revert subr_disk_mbr.c r.1.54
|
2019-11-07 20:34:29 +00:00 |
subr_disk_open.c
|
Fix vnode locking for opendisk(), must lock for VOP_OPEN().
|
2019-02-20 10:02:51 +00:00 |
subr_disklabel.c
|
Fix previous. We define _KERNEL for rump in opt_rumpkernel.h.
|
2019-04-07 02:58:02 +00:00 |
subr_emul.c
|
Merge the [pgoyette-compat] branch
|
2019-01-27 02:08:33 +00:00 |
subr_evcnt.c
|
Fix kernel pointer leaks in sysctl_doevcnt.
|
2018-11-24 17:40:37 +00:00 |
subr_exec_fd.c
|
Load struct fdfile::ff_file with atomic_load_consume.
|
2020-02-01 02:23:23 +00:00 |
subr_extent.c
|
More diagnostic
|
2019-08-15 09:04:22 +00:00 |
subr_hash.c
|
…
|
|
subr_humanize.c
|
This had a similar problem to that reported in PR lib/54053
|
2019-03-12 00:25:44 +00:00 |
subr_interrupt.c
|
…
|
|
subr_iostat.c
|
Implement disk_rename()/iostat_rename() to rename a disk.
|
2019-05-22 08:47:02 +00:00 |
subr_ipi.c
|
Add and use __FPTRCAST, requested by uwe@
|
2019-10-16 18:29:49 +00:00 |
subr_kcov.c
|
Revert the in_interrupt() change to use again the x86 specific code
|
2019-12-07 19:50:33 +00:00 |
subr_kcpuset.c
|
Set kcpuset's bit correctly to avoid undefined behavior. Found by KUBSan.
|
2019-07-26 05:39:55 +00:00 |
subr_kmem.c
|
- Pad kmem cache names with zeros so vmstat -m and -C are readable.
|
2020-01-25 15:08:40 +00:00 |
subr_kobj.c
|
…
|
|
subr_kobj_vfs.c
|
…
|
|
subr_localcount.c
|
…
|
|
subr_lockdebug.c
|
ddb's "show all locks":
|
2020-01-21 20:31:57 +00:00 |
subr_log.c
|
Rename min/max -> uimin/uimax for better honesty.
|
2018-09-03 16:29:22 +00:00 |
subr_lwp_specificdata.c
|
Implement an aggressive psref leak detector
|
2019-05-17 03:34:26 +00:00 |
subr_msan.c
|
Be less strict: when copyinstr() returns ENAMETOOLONG, it does initialize
|
2020-02-22 20:08:39 +00:00 |
subr_once.c
|
add INIT_ONCE(9), FINI_ONCE(9) with changing once_t.
|
2019-03-19 08:16:51 +00:00 |
subr_optstr.c
|
…
|
|
subr_pcq.c
|
pcq_create(): fix broken assertion.
|
2019-12-16 18:50:44 +00:00 |
subr_pcu.c
|
…
|
|
subr_percpu.c
|
Add percpu_foreach_xcall(), which is like percpu_foreach(), except it
|
2020-02-07 11:55:22 +00:00 |
subr_physmap.c
|
…
|
|
subr_pool.c
|
Retire KLEAK.
|
2020-02-08 07:07:06 +00:00 |
subr_prf.c
|
- Introduce a new global kernel variable "shutting_down" to indicate that
|
2020-01-01 22:57:16 +00:00 |
subr_prof.c
|
Overhaul the API used to fetch and store individual memory cells in
|
2019-04-06 03:06:23 +00:00 |
subr_pserialize.c
|
Switch psz_ev_excl to static evcnt.
|
2019-12-05 03:21:29 +00:00 |
subr_psref.c
|
Implement an aggressive psref leak detector
|
2019-05-17 03:34:26 +00:00 |
subr_specificdata.c
|
…
|
|
subr_spldebug.c
|
…
|
|
subr_syscall_stats.c
|
Merge the [pgoyette-compat] branch
|
2019-01-27 02:08:33 +00:00 |
subr_tftproot.c
|
tftproot_getfile(): return E2BIG when bootfile is to long.
|
2019-01-20 21:26:13 +00:00 |
subr_thmap.c
|
pass a pointer to atomic_cas_ptr_p(), not an (equiv) integer.
|
2019-02-04 08:00:27 +00:00 |
subr_time.c
|
Avoid signed integer overflow in ts2timo() for ts->tv_nsec
|
2019-10-04 14:17:07 +00:00 |
subr_userconf.c
|
call cnpollc(1) and cnpollc(0) around cngetc().
|
2018-09-16 23:18:55 +00:00 |
subr_vmem.c
|
Detangle the pagedaemon from uvm_fpageqlock:
|
2019-12-21 14:50:34 +00:00 |
subr_workqueue.c
|
…
|
|
subr_xcall.c
|
Whitespace police (minor infraction).
|
2019-12-19 10:51:54 +00:00 |
sys_aio.c
|
Load struct filedesc::fd_dt with atomic_load_consume.
|
2020-02-01 02:23:03 +00:00 |
sys_descrip.c
|
Load struct filedesc::fd_dt with atomic_load_consume.
|
2020-02-01 02:23:03 +00:00 |
sys_generic.c
|
…
|
|
sys_lwp.c
|
Update comments
|
2020-01-30 12:36:38 +00:00 |
sys_module.c
|
Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly
|
2019-03-01 11:06:55 +00:00 |
sys_mqueue.c
|
Prevent O_EXEC for mq_open(2), and O_EXEC with a writable fd for open(2).
|
2019-09-15 20:51:03 +00:00 |
sys_pipe.c
|
Handle half-closed pipes in FIONWRITE and FIONSPACE.
|
2019-04-26 17:24:23 +00:00 |
sys_process.c
|
…
|
|
sys_process_lwpstatus.c
|
Rename sys_ptrace_lwpstatus.c to sys_process_lwpstatus.c
|
2020-01-04 03:46:19 +00:00 |
sys_pset.c
|
Explicitly cast pointers to uintptr_t before casting to enums. They are
|
2020-02-21 00:26:21 +00:00 |
sys_ptrace.c
|
Introduce PT_LWPSTATUS + PT_LWPNEXT, obsolete PT_LWPINFO
|
2019-12-24 14:50:59 +00:00 |
sys_ptrace_common.c
|
pass the address of the field, instead of relying on it being the first
|
2020-02-22 09:24:05 +00:00 |
sys_sched.c
|
Remove comment that is out of date and I think hinting at something other
|
2020-01-27 22:05:10 +00:00 |
sys_select.c
|
- List all of the syncobjs in syncobj.h.
|
2020-02-15 17:09:24 +00:00 |
sys_sig.c
|
Convert the sendsig_sigcontext_16 function pointer to use the new
|
2019-11-10 13:28:06 +00:00 |
sys_socket.c
|
soo_fcntl is identical to fnullop_fcntl, use the latter
|
2018-12-04 00:18:05 +00:00 |
sys_syscall.c
|
Retire KLEAK.
|
2020-02-08 07:07:06 +00:00 |
syscalls.c
|
Regen
|
2020-01-21 02:38:25 +00:00 |
syscalls.conf
|
Add a new member to struct vfsstat and grow the unused members
|
2019-09-22 22:59:37 +00:00 |
syscalls.master
|
Split the compat_50 module into two, separating the QUOTA-related
|
2020-01-21 02:37:16 +00:00 |
syscalls_autoload.c
|
Regen
|
2020-01-21 02:38:25 +00:00 |
systrace_args.c
|
Regen
|
2020-01-21 02:38:25 +00:00 |
sysv_ipc.c
|
Explicitly cast pointers to uintptr_t before casting to enums. They are
|
2020-02-21 00:26:21 +00:00 |
sysv_msg.c
|
Avoid -LONG_MIN msgtyp in msgrcv(2) and treat it as LONG_MAX
|
2019-10-04 23:20:22 +00:00 |
sysv_sem.c
|
Many years ago someone created a new __link_set_sysctl_funcs to hold
|
2019-08-07 00:38:01 +00:00 |
sysv_shm.c
|
simpler fix for the race between shmat() and shmdt():
|
2019-10-09 17:47:13 +00:00 |
tty.c
|
Don't crash if we are on a hippie trail, head full of zombie
|
2020-01-21 15:25:38 +00:00 |
tty_bsdpty.c
|
…
|
|
tty_conf.c
|
…
|
|
tty_ptm.c
|
VOP_UNLOCK + vrele -> vput
|
2019-11-30 20:45:49 +00:00 |
tty_pty.c
|
Fix reporting EOF via kevent and add a test case
|
2019-02-15 18:57:15 +00:00 |
tty_subr.c
|
s/transfered/transferred/
|
2019-12-27 09:41:48 +00:00 |
tty_tty.c
|
…
|
|
uipc_accf.c
|
…
|
|
uipc_domain.c
|
Fix apparent race.
|
2018-12-27 07:56:43 +00:00 |
uipc_mbuf.c
|
Minor changes, reported by the LGTM bot.
|
2019-12-06 07:27:06 +00:00 |
uipc_mbufdebug.c
|
KNF. No functional change.
|
2018-10-18 05:44:19 +00:00 |
uipc_proto.c
|
…
|
|
uipc_sem.c
|
ksem_sysinit(): more lossage.
|
2019-12-17 18:16:05 +00:00 |
uipc_socket.c
|
Zero out 'tv', to prevent uninitialized bytes in its padding from leaking
|
2020-02-22 08:39:33 +00:00 |
uipc_socket2.c
|
Load struct fdfile::ff_file with atomic_load_consume.
|
2020-02-01 02:23:23 +00:00 |
uipc_syscalls.c
|
sys_recvmmsg: don't defer an error that already gets returned.
|
2018-11-12 09:21:13 +00:00 |
uipc_usrreq.c
|
Load struct fdfile::ff_file with atomic_load_consume.
|
2020-02-01 02:23:23 +00:00 |
vfs_bio.c
|
OOPS -- fix mistake in previous commit.
|
2020-02-21 02:04:40 +00:00 |
vfs_cache.c
|
- options NAMECACHE_ENTER_REVERSE is no more.
|
2020-01-08 12:04:56 +00:00 |
vfs_cwd.c
|
…
|
|
vfs_dirhash.c
|
Introduce PR_ZERO to avoid open-coding memset()s everywhere. OK riastradh@.
|
2019-02-10 17:13:33 +00:00 |
vfs_getcwd.c
|
- options NAMECACHE_ENTER_REVERSE is no more.
|
2020-01-08 12:04:56 +00:00 |
vfs_hooks.c
|
…
|
|
vfs_init.c
|
Explicitly cast pointers to uintptr_t before casting to enums. They are
|
2020-02-21 00:26:21 +00:00 |
vfs_lockf.c
|
…
|
|
vfs_lookup.c
|
VFS_VGET(), VFS_ROOT(), VFS_FHTOVP(): give them a "int lktype" argument, to
|
2020-01-17 20:08:06 +00:00 |
vfs_mount.c
|
VFS_VGET(), VFS_ROOT(), VFS_FHTOVP(): give them a "int lktype" argument, to
|
2020-01-17 20:08:06 +00:00 |
vfs_quotactl.c
|
…
|
|
vfs_subr.c
|
VFS_VGET(), VFS_ROOT(), VFS_FHTOVP(): give them a "int lktype" argument, to
|
2020-01-17 20:08:06 +00:00 |
vfs_syscalls.c
|
Inline the block in the parent block, for clarity, and also to prevent a
|
2020-02-22 08:58:39 +00:00 |
vfs_trans.c
|
Add an owner field to fstrans mount info and use it to hold
|
2019-06-17 08:07:27 +00:00 |
vfs_vnode.c
|
Do not clean up segvguard while holding v_interlock.c
|
2020-01-23 20:53:33 +00:00 |
vfs_vnops.c
|
- Shuffle some items around in struct lwp to save space. Remove an unused
|
2020-01-12 18:37:10 +00:00 |
vfs_wapbl.c
|
constify wapbl_ops
|
2018-12-10 21:19:33 +00:00 |
vfs_xattr.c
|
…
|
|
vnode_if.c
|
Regen for VOP_LOCK & LK_UPGRADE/LK_DOWNGRADE.
|
2019-12-01 13:58:52 +00:00 |
vnode_if.sh
|
Minor vnode locking changes:
|
2019-12-01 13:56:29 +00:00 |
vnode_if.src
|
As VOP_STRATEGY() usually calls itself on the file system holding "/dev"
|
2019-10-11 08:04:52 +00:00 |