Henrixounez
55f6e810cf
repl: moved as a tool and using readline
2019-10-31 19:01:04 +03:00
ytakahashi
114953f28d
match: fix typo and remove arrows
2019-10-31 18:58:19 +03:00
Alvydas Vitkauskas
7fa33fc250
array: fix and document array functions
2019-10-31 15:46:50 +03:00
Don Alfons Nisnoni
0c229aacdd
readline: use new enum syntax
2019-10-31 14:06:48 +03:00
joe-conigliaro
5acdf425ab
parser: move duplicate code into single function
2019-10-31 13:49:57 +03:00
Alexander Medvednikov
b1730b768d
remove a println()
2019-10-31 12:15:45 +03:00
Alexander Medvednikov
d5cf4d6fd5
compiler: -o dir/file: create a new directory if it doesn't exist
2019-10-30 20:53:34 +03:00
Amal Shaji
e8d34002e1
map: fixed deletion of non-existent keys
2019-10-30 20:19:59 +03:00
Alexander Medvednikov
5da3c49497
json: rename jsgen.v to json_gen.v
2019-10-30 19:45:33 +03:00
Alexander Medvednikov
6b4dcb916b
ci: bring back Vid build
2019-10-30 19:36:54 +03:00
Alexander Medvednikov
316cf025ae
arrays: fix range
2019-10-30 17:30:49 +03:00
Alexander Medvednikov
a9ca9f45af
fix enum/match combo in sync_windows.v
2019-10-30 17:29:05 +03:00
Alexander Medvednikov
9044f1437c
v doc
2019-10-30 17:07:41 +03:00
Alexander Medvednikov
08c1f408d3
fix sync_windows.v
2019-10-30 16:43:40 +03:00
Alexander Medvednikov
2bd2501dc0
fix new enums in tests
2019-10-30 16:38:47 +03:00
Alexander Medvednikov
aa39451c8b
arrays.range(min, max)
2019-10-30 16:21:57 +03:00
Alexander Medvednikov
96f7620628
instead of Enum.foo
require .foo
if it's enough + some UI fixes
2019-10-30 15:48:33 +03:00
Delyan Angelov
ba6cc5df2a
compiler: print asserted source line on failure
2019-10-30 12:15:33 +03:00
Don Alfons Nisnoni
ee6ec3faf3
crypto: fix a typo
2019-10-29 19:59:55 +03:00
sunnylcw
79279e01f5
sqlite: add flags for FreeBSD to pass sqlite test
2019-10-29 17:13:56 +03:00
lorenzo pirro
d42c53346d
array: eq() for builtins (byte, string, int, i64, f32)
2019-10-29 14:26:00 +03:00
Danil-Lapirow
f161ff9db5
parser: fix tmp is already started issue
2019-10-28 23:50:58 +03:00
ytakahashi
6a609cb046
log: make const/struct public
2019-10-28 18:53:02 +03:00
Delyan Angelov
3950b10d2a
compiler: make Fn struct public
2019-10-28 16:37:18 +03:00
Alexander Medvednikov
9e9935acbc
math: make consts and structs public
2019-10-28 16:33:36 +03:00
Alexander Medvednikov
33b5afa893
V 0.1.22
2019-10-28 13:12:44 +03:00
Delyan Angelov
15deaa7eb6
compiler: improve errors when building thirdparty .o files
2019-10-28 12:43:57 +03:00
Alexander Medvednikov
44b99bc299
ci: don't run sqlite test on windows for now
2019-10-28 12:32:03 +03:00
Alexander Medvednikov
a7568ea54b
ci: install libsqlite package
2019-10-28 11:45:27 +03:00
Alexander Medvednikov
373873d71f
fix sqlite test
2019-10-28 10:40:48 +03:00
Danil-Lapirow
a2bafaa254
parser: add error on array comparison
2019-10-28 10:26:42 +03:00
Alexander Medvednikov
c5fa99c66c
darwin not supported yet
2019-10-28 10:25:56 +03:00
Alexander Medvednikov
d54bbc8737
fix sqlite test
2019-10-28 10:21:32 +03:00
Alexander Medvednikov
1ac1626357
sqlite example
2019-10-28 00:10:58 +03:00
Alexander Medvednikov
16c4415d4c
a very simple sqlite driver
2019-10-28 00:02:52 +03:00
Alexander Medvednikov
1390a39053
clean up switch tokens
2019-10-27 22:42:52 +03:00
Don Alfons Nisnoni
8358528888
string: add some docs
2019-10-27 22:29:55 +03:00
Alexander Medvednikov
9cddf22fff
glfw: make two structs public
2019-10-27 21:23:33 +03:00
Alexander Medvednikov
9c5abd575f
parser: remove switch_statement()
2019-10-27 13:03:40 +03:00
Alexander Medvednikov
e890f682e2
[if] fn: remove unused expression
2019-10-27 12:42:31 +03:00
Alexander Medvednikov
5946f67328
final switch => match
2019-10-27 12:38:50 +03:00
Don Alfons Nisnoni
acaf66ac80
readline: switch => match
2019-10-27 12:38:36 +03:00
Alexander Medvednikov
293cf18266
enable [if vfmt]
2019-10-27 12:16:33 +03:00
Alexander Medvednikov
d00fdca38f
[if vfmt] for fgen() functions
2019-10-27 12:13:08 +03:00
joe-conigliaro
d81b0675f0
array: bring back left & right method tests
2019-10-27 12:05:19 +03:00
Alexander Medvednikov
efdadc3758
tetris/glfw: fix warnings
2019-10-27 10:13:40 +03:00
joe-conigliaro
59378dce46
compiler/vlib: replace substr/left/right with [start..end]
everywhere
2019-10-27 10:03:15 +03:00
Don Alfons Nisnoni
ed55826686
log/net: switch => match
2019-10-27 09:45:03 +03:00
Nicolas Sauzede
7ba5248e56
os_win.v: switch => match
2019-10-27 09:36:40 +03:00
joe-conigliaro
a075ce160e
compiler: add [..2]
& [2..]
support for slices
2019-10-27 09:36:04 +03:00
Alexander Medvednikov
e80cf185b9
allow public unions and interfaces
2019-10-27 02:23:52 +03:00
Alexander Medvednikov
ef022c2326
[if vfmt] function attribute for skipping functions for performance
2019-10-27 02:11:31 +03:00
Alexander Medvednikov
ee51313e2c
test array and string slices
2019-10-27 01:37:29 +03:00
Alexander Medvednikov
dd12a85429
array: fix a regression
2019-10-26 22:26:30 +03:00
Alexander Medvednikov
570a7aaaf3
a[start..end] slicing
2019-10-26 22:20:13 +03:00
Don Alfons Nisnoni
678ce54e70
os: document functions
2019-10-26 20:21:07 +03:00
Delyan Angelov
2d05c906d5
base64: some optimizations
...
* Add a test for the base64 encoding/decoding of long strings (i.e. mainly memory allocation).
* Make vlib/encoding/base64/base64_memory_test.v resemble more test.v from https://github.com/kostya/benchmarks .
* base64: some optimizations, also add base64.encode_in_buffer and base64.decode_in_buffer .
* Fix tests passing static strings.
* Reduce time needed for base64_memory_test.v .
* Optimize encoding.base64.Index access too (it is static), which speeds up decoding.
2019-10-26 18:20:36 +03:00
vitalyster
272b0aec82
os: fix os.get_error_msg on Windows
2019-10-26 14:58:05 +03:00
Alexander Medvednikov
6944161b15
array: clean up filter()
2019-10-26 14:53:55 +03:00
Alexander Medvednikov
70c9565607
array: fix map() return type and handle []bool
2019-10-26 14:49:36 +03:00
Alexander Medvednikov
f40d672a12
array: map() test
2019-10-26 14:32:56 +03:00
Alexander Medvednikov
4ef10c92f4
array: map() method
2019-10-26 14:28:11 +03:00
Alexander Medvednikov
f6f5b8cfb1
bring back string.h for now
2019-10-26 11:51:22 +03:00
Alexander Medvednikov
fbd41eacba
remove string.h include 1
2019-10-26 11:43:25 +03:00
Alexander Medvednikov
ef45a87882
remove string.h include
2019-10-26 11:29:56 +03:00
Alexander Medvednikov
58f0503f6d
cc.v: bring back implicit fn declaration
2019-10-26 11:09:20 +03:00
Alexander Medvednikov
cba12d0106
macos libproc fix 2
2019-10-26 02:19:14 +03:00
Alexander Medvednikov
203f967677
macos libproc fix 1
2019-10-26 02:16:37 +03:00
Alexander Medvednikov
7de95a642e
remove more C headers
2019-10-26 02:08:46 +03:00
Alexander Medvednikov
dc2c62807a
string: faster int()
2019-10-25 23:41:18 +03:00
Alexander Medvednikov
5510327d70
array_test.v: str() test
2019-10-25 22:40:52 +03:00
Alexander Medvednikov
8d2111169a
fix V.js methods and duplicate .str() in arrays
2019-10-25 22:38:39 +03:00
Mihael Dimoski
b6fa252fc9
time: make Time struct public
2019-10-25 22:04:25 +03:00
Delyan Angelov
8364130a1f
compiler: implement error_with_code(s string, code int)
...
Make available the integer code as errcode to callers/unwrappers
2019-10-25 22:03:42 +03:00
Alexander Medvednikov
9c5a359de3
fix V.js methods after the recent generics fix
2019-10-25 21:57:32 +03:00
Simon Heuser
280c7d396c
generics: generic methods, cast to T
2019-10-25 21:32:27 +03:00
Alexander Medvednikov
7d02eccbce
cc.v: fix tcc check
2019-10-25 20:11:53 +03:00
Alexander Medvednikov
c30f16a038
parser: add ; after a goto label
2019-10-25 18:53:45 +03:00
Alexander Medvednikov
090e1a87b7
linux: use gcc if tcc fails
2019-10-25 18:49:49 +03:00
Alexander Medvednikov
be0830b24f
builtin: do not use backtrace with musl
2019-10-25 18:38:47 +03:00
Alexander Medvednikov
c7e6d379da
$if glibc {
2019-10-25 18:33:02 +03:00
Alexander Medvednikov
ef9cae6dc0
bring back backtrace
2019-10-25 17:59:41 +03:00
Alexander Medvednikov
a83aa28a67
urllib: switch => match
2019-10-25 17:54:34 +03:00
Alexander Medvednikov
d0cbb4041b
disable backtrace for now
2019-10-25 17:38:07 +03:00
Delyan Angelov
32b3611026
sync: new_mutex() and new_waitgroup()
2019-10-25 17:24:40 +03:00
Alexander Medvednikov
e04c4ad852
remove execinfo.h include
2019-10-25 17:20:49 +03:00
joe-conigliaro
7d418e9105
parser: cleanup & reuse
2019-10-25 16:34:12 +03:00
Alexander Medvednikov
784847cf18
make V compile
2019-10-25 16:06:21 +03:00
Alexander Medvednikov
ea3f9b5b9a
remove execinfo.h header
2019-10-25 12:13:38 +03:00
Alexander Medvednikov
4e21e9ed44
minor V.js fixes
2019-10-25 12:13:38 +03:00
Toby Webb
c456ba6bde
parser: fix incorrect unused var message
2019-10-25 10:27:43 +03:00
joe-conigliaro
4443fef6c3
compiler: add const to typo suggestions + small typo format update
2019-10-25 10:26:14 +03:00
Alexander Medvednikov
d4c1bba856
fix V.js
2019-10-24 22:58:01 +03:00
Alexander Medvednikov
892d1c6aab
vweb: first step to revive it
2019-10-24 22:46:58 +03:00
Simon Ernst
2032da7fe2
os: make Result public
2019-10-24 21:58:28 +03:00
Alexander Medvednikov
36eb1b77d0
compiler: remove remaining switch statements and show a warning
2019-10-24 19:26:51 +03:00
Alexander Medvednikov
753fe32793
parser: remove more switch statements
2019-10-24 16:02:24 +03:00
Alexander Medvednikov
695245d307
struct.v
2019-10-24 15:56:10 +03:00
Alexander Medvednikov
bac690bbc8
parser: replace the switch statement in parse()
2019-10-24 15:50:46 +03:00
Alexander Medvednikov
3a929faf26
enums: make in
work without specifying the full type
2019-10-24 15:41:34 +03:00
Alexander Medvednikov
560ae9352c
nice enum works
2019-10-24 15:41:34 +03:00
Alexander Medvednikov
dca49e43d9
c defs
2019-10-24 15:41:34 +03:00
Larpon
98c016b41d
os: walk() function
2019-10-24 15:17:09 +03:00
joe-conigliaro
580abe0de4
lower/snake case consts & enums
2019-10-24 14:48:20 +03:00
joe-conigliaro
fe17dd9a7e
vlib: make more structs, consts, & enums public
2019-10-24 22:35:11 +11:00
Alexander Medvednikov
75a6c759c7
enum snake_case check
2019-10-24 14:25:03 +03:00
Alexander Medvednikov
3d6bdc2dc3
public enums + more public structs (libs/examples/tests)
2019-10-24 13:24:50 +03:00
joe-conigliaro
1a2db54bc1
compiler: cgen - fix typo. dependency was spelled wrong
2019-10-24 21:23:11 +11:00
Alexander Medvednikov
4a88a28a3b
make all necessary structs public
2019-10-24 12:51:00 +03:00
Alexander Medvednikov
dce3275df4
make necessary consts public
2019-10-24 12:36:57 +03:00
Alexander Medvednikov
1c564bc118
compiler: public consts and structs
2019-10-24 12:26:43 +03:00
joe-conigliaro
71d965b6a2
compiler: add hint to use references for dependant struct fields
2019-10-24 11:18:50 +03:00
joe-conigliaro
baf49b2523
show struct dependency cycles in error & update module cycle error ( #2517 )
2019-10-24 15:53:39 +11:00
Alexander Medvednikov
f14425ec18
do not allow one letter struct names
2019-10-23 23:46:07 +03:00
Tony Kostanjsek
c58c03167d
vlib/darwin: remove assert
2019-10-23 23:40:07 +03:00
joe-conigliaro
2f5a742f3e
compiler: generic variadic fix
2019-10-23 19:44:05 +03:00
joe-conigliaro
0cf3e2e677
compiler: add variadic support for generic functions
2019-10-23 17:48:06 +03:00
Alexander Medvednikov
054dd237a4
V.js: remove u8
2019-10-23 15:56:57 +03:00
Alexander Medvednikov
1db1e0f4b7
1
2019-10-23 15:55:14 +03:00
Alexander Medvednikov
6174dfb424
fix V.js
2019-10-23 15:51:52 +03:00
Alexander Medvednikov
e69117a8f3
vh types + fn receiver name check
2019-10-23 15:42:50 +03:00
Alexander Medvednikov
27e254c738
now bring _windows.v back
2019-10-23 12:54:45 +03:00
Alexander Medvednikov
95321f5b33
fix module_test.v
2019-10-23 12:50:18 +03:00
Alexander Medvednikov
1752f6879c
os: remove duplicate consts
2019-10-23 12:45:52 +03:00
Alexander Medvednikov
8021a01365
rename windows files for now
2019-10-23 12:37:42 +03:00
Alexander Medvednikov
b298b397dc
vh gen: consts before fns
2019-10-23 12:35:51 +03:00
Alexander Medvednikov
92185a1a6f
os: move windows consts to a separate file
2019-10-23 12:28:48 +03:00
Alexander Medvednikov
2e28691254
_windows.v fix
2019-10-23 12:25:00 +03:00
Alexander Medvednikov
5ef4b2064f
windows: _win.v => windows.v
2019-10-23 12:21:33 +03:00
Alexander Medvednikov
a6aad880f7
gg: resizable window option
2019-10-23 12:17:08 +03:00
Alexander Medvednikov
8b74c711c6
vh generation: consts + cleanup
2019-10-23 11:09:54 +03:00
Enrico Lefass
fcead2f79e
time: squash three occasions of const(...) into one
2019-10-23 08:41:16 +03:00
Alexander Medvednikov
0806aa353c
match: second step
2019-10-23 01:06:06 +03:00
Alexander Medvednikov
d8edc27805
match: this needs a 2 step PR
2019-10-23 01:00:52 +03:00
Alexander Medvednikov
9743b04fe6
update match statement
2019-10-23 00:56:25 +03:00
Alexander Medvednikov
4574039e4d
new vh generation + simpler match statement
2019-10-23 00:45:17 +03:00
Sergio Abreu García
14c273f273
gg: fix clear function
2019-10-22 23:06:56 +03:00
Alexander Medvednikov
7696a600f6
compiler: fix V build on Windows
2019-10-22 21:29:32 +03:00
Delyan Angelov
eeea257467
clean up empty lines in errors; simplify source line tracking
2019-10-22 18:38:17 +03:00
Arthur Kennedy Otieno
fb89c12d90
V.js: remove a text block resulting in syntax errors
2019-10-22 08:02:31 +03:00
Toby Webb
fdfa564865
parser: minor syntax fix
2019-10-21 22:04:57 +03:00
Alexander Medvednikov
a29c80ca3d
make the unsafe error a warning for now
2019-10-21 18:53:55 +03:00
joe-conigliaro
7680d9a23c
compiler: variadic fn - fix unexpected token ,
error from #2433 ( #2468 )
...
* merge master
* fix unexpected token
2019-10-21 23:30:34 +11:00
Delyan Angelov
eef73eea22
tools: new tool to extracts function names declared in V files
2019-10-21 14:14:28 +03:00
Delyan Angelov
cd8b0d04bb
parser: support for 'enum Color {red = 31 yellow green blue}'
2019-10-21 14:00:41 +03:00
Emily Hudson
a52cb315cb
fix memory bug with generic code generation
2019-10-21 13:54:37 +03:00
Toby Webb
dfc654f84e
const declarations should be order independent
2019-10-21 08:57:29 +03:00
Emily Hudson
2829298de7
live: Fix MSVC hot code reloading ( #2460 )
2019-10-21 12:15:43 +11:00
Alexander Medvednikov
333f0ab89f
fix v.js test
2019-10-20 20:52:31 +03:00
Alexander Medvednikov
3d6b936f38
parser: undefined error
2019-10-20 20:47:27 +03:00
Enrico Lefass
c23155790a
os: add pub fn read_bytes and pub fn read_bytes_at
2019-10-20 20:45:16 +03:00
Alexander Medvednikov
81b1b882fd
bultin: mark unsafe functions
2019-10-20 20:29:24 +03:00
Alexander Medvednikov
c13b58e6db
[deprecated] attribute
2019-10-20 20:15:48 +03:00
Alexander Medvednikov
1b518c158b
unsafe keyword + make array.free() an unsafe method
2019-10-20 20:10:44 +03:00
joe-conigliaro
f7c00b8180
compiler: blank ident - consolidate duplicated code into single function
2019-10-20 12:24:12 +03:00
Simon Heuser
8a31ee4b53
generic functions
2019-10-20 10:19:37 +03:00
Alexander Medvednikov
f63e24e51d
clean up vtest.v a bit
2019-10-20 09:56:33 +03:00
eau
6d8548d7a5
compiler: add missing header file on OpenBSD
2019-10-20 07:00:01 +03:00
Ole-Martin Bratteng
b73387647c
v.js: make eprintln use console.error
2019-10-19 15:42:37 +03:00
Delyan Angelov
5977fc0644
compiler: print relative file paths for files in the current directory
2019-10-19 12:03:04 +03:00
joe-conigliaro
c24d94f87f
compiler: fix mistake in comptime.v ( #2425 )
...
* merge master
* fix mistake in comptime.v
2019-10-19 19:40:01 +11:00
joe-conigliaro
b51b8858d6
compiler: update & enable cflag error ( #2420 )
...
* merge master
* update & enable cflag error
2019-10-19 11:38:02 +11:00
joe-conigliaro
22c7438795
compiler: cflag error - closes #2406 ( #2417 )
...
* merge master
* fix blank ident & add cflag error
* undo cflag changes
* add missing brace
* undo change to comptime
* improve error message
* update
2019-10-19 08:18:08 +11:00
joe-conigliaro
28b24eeef6
compiler: blank ident error fixes + other small cflag / parser fixes ( #2418 )
...
* merge master
* fix blank ident & add cflag error
* undo cflag changes
* fix gen_js
* undo gen_js changes
* fix
* fix
2019-10-19 08:00:47 +11:00
Alexander Medvednikov
c18578af6f
compiler: linux tcc fixes
2019-10-18 20:49:43 +03:00
Danil-Lapirow
bb9d95e9aa
parser: allow '' in attributes
2019-10-18 20:17:23 +03:00
joe-conigliaro
689003454b
only register initial varg struct on first pass ( #2404 )
2019-10-18 19:28:14 +11:00
Alexander Medvednikov
368e8e85a8
compiler: info message when trying to use an old command
2019-10-18 09:56:57 +03:00
joe-conigliaro
6dea2359ab
strconv: optimize functions
...
also make it the responsibility if the caller to properly trim whitespace
2019-10-18 08:20:03 +03:00
Alexander Medvednikov
c355e967ad
move array filter codegen to comptime.v
2019-10-18 07:58:54 +03:00
Alexander Medvednikov
d501dc4c11
compiler: first step to validate cmd flags
2019-10-18 07:48:46 +03:00
Alexander Medvednikov
80e79a3966
array: optimized generic filter()
2019-10-18 07:30:39 +03:00
pfefferminz132
eda0c73bef
compiler: use eprintln for cache diagnostic messages
2019-10-18 06:16:33 +03:00
joe-conigliaro
8d16762f03
strconv module + use it in builtin/string instead of C functions
2019-10-17 19:37:55 +03:00
Simon Ernst
270934441c
os: make ls() return an optional
2019-10-17 14:30:05 +03:00
joe-conigliaro
4932a32d91
compiler: fix os import by default in v scripts
2019-10-17 11:52:46 +03:00
Unknown User
f46b58b09d
int: i64 hex() use PRIx64
2019-10-17 11:06:54 +03:00
joe-conigliaro
b32a462b2e
math: new consts + helpers funcs for string to int / float
2019-10-17 09:04:57 +03:00
Alexander Medvednikov
5cd38ec91b
V shell scripts
2019-10-17 08:27:27 +03:00
Vinicius Rangel
96152510e5
parser: interpolation calling twice fix
...
if string interpolation needs to call a function, it will cache the
return to .len & .str usage in the generated code
2019-10-17 07:02:02 +03:00
Vinicius Rangel
5481f226dd
parser: Infinite multi-dimensional array
2019-10-17 06:52:58 +03:00
Alexander Medvednikov
5faa7e7861
Revert "repl: add readline for user input "
...
This reverts commit 83732642ac
.
2019-10-17 03:37:30 +03:00
Henrixounez
83732642ac
repl: add readline for user input
2019-10-16 18:38:07 +03:00
Henrixounez
99e07718da
readline: fix reading on linux, crash on mac
2019-10-16 12:46:24 +03:00
joe-conigliaro
280ccfa177
math: fns for gettng bit repr of float & vice versa
2019-10-16 11:19:03 +03:00
Alexander Medvednikov
66f36be7d0
Revert "repl: readline line editing "
...
This reverts commit 1956c6f906
.
2019-10-16 03:31:48 +03:00
Alexander Medvednikov
00fd1abf82
readline: fix macos
2019-10-16 03:20:40 +03:00
Alexander Medvednikov
526f1a3172
Revert "Revert "parser: fix programs without fn main""
...
This reverts commit 61af044316
.
2019-10-16 03:20:16 +03:00
vitalyster
9b38f59184
msvc: detect x86 host and use x86 build tools
2019-10-16 02:54:35 +03:00
Henrixounez
1956c6f906
repl: readline line editing
2019-10-16 02:50:48 +03:00
vitalyster
0e0f0ae5ea
escape os.exec('"$vexec"') to support directories with spaces
2019-10-16 02:49:51 +03:00
Simon Heuser
a5d61f6da0
math.complex: make fields public
2019-10-15 12:43:28 +03:00
Alexander Medvednikov
49d6c26da4
parser: do not allow str[i++]; update contributing.md
2019-10-15 11:06:22 +03:00
Henrixounez
bb1eca3564
readline: basic mac and windows version using os.getline
2019-10-15 09:04:22 +03:00
Alexander Medvednikov
75e2a29cb5
string: bring back strtoul for now
2019-10-15 08:53:35 +03:00
Alexander Medvednikov
f9593bd857
builtin: float.v + remove #include <math.h>
2019-10-15 08:41:45 +03:00
Alexander Medvednikov
4b176ba855
string: test i64() and u64()
2019-10-15 04:26:19 +03:00
Alexander Medvednikov
10ed65bc12
fix float.eq()
2019-10-15 03:45:11 +03:00
Alexander Medvednikov
91690a1b54
fix f64 tcc eq crash
2019-10-13 04:27:57 +03:00
joe-conigliaro
ae3ec380f8
add notice about msvc compilation ( #2340 )
2019-10-14 18:36:29 +11:00