Dane Springmeyer
6ae59b80af
iwyu
2014-08-06 12:27:10 -07:00
Dane Springmeyer
d4bb7ee279
remove unused <<operator
2014-08-06 12:26:01 -07:00
Dane Springmeyer
b8b76c1e1c
iwyu
2014-08-06 08:17:31 -07:00
artemp
0490b7887c
text_symbolizer - ``geometry-transform
`` support
2014-08-06 14:54:38 +01:00
artemp
9835057b0f
Use vertex_converters in text placement
2014-08-06 13:10:24 +01:00
artemp
ec97b8b744
c++ style
2014-08-06 12:32:50 +01:00
Dane Springmeyer
ce8aee1994
be explicit about copy needed to safely pass glyph_info into text_line - closes #2337
2014-08-05 17:03:30 -07:00
Dane Springmeyer
d27b45553a
use emplace/emplace_back over insert/push_back - refs #2336
2014-08-05 15:19:37 -07:00
Dane Springmeyer
7a013e8151
switch glyph_info cache to an unordered_map (but no perf diff on osx)
2014-08-05 14:31:29 -07:00
Dane Springmeyer
2a7fc29e42
add support for opacity with svgs in pattern symbolizers - refs #1010
2014-08-05 13:48:40 -07:00
Dane Springmeyer
e111f77310
pedantic fixes to line_pattern_rasterizer
2014-08-05 12:33:39 -07:00
Dane Springmeyer
2c9e089317
move harfbuzz_shaper inc + other iwyu fixups
2014-08-05 11:10:49 -07:00
artemp
c3a83e6f74
re-arrange headers
2014-08-05 18:58:22 +01:00
Mike Morris
617524505b
fix header include comment
2014-08-05 13:15:55 -04:00
artemp
2b90b382e7
move render_pattern into sepratre compilation module
2014-08-05 17:40:15 +01:00
artemp
a8991cd600
refactor clipping_extent into separate header for sharing
2014-08-05 17:22:13 +01:00
artemp
d01a5407ae
remove unused symbolizer hash
2014-08-05 13:05:32 +01:00
artemp
59b666cb77
Cairo : use vertex_converter in line_pattern_symbolizer ( #1386 )
...
fix pattern alignment
2014-08-05 11:48:42 +01:00
Dane Springmeyer
8232180614
c++11 style in harfbuzz_shaper.hpp
2014-08-04 23:42:42 -07:00
Dane Springmeyer
ab1e5def47
text_line: remove unneeded acces to glyph storage
2014-08-04 20:29:25 -07:00
Dane Springmeyer
99a46f6910
re-enable glyph_info caching - refs #2326 , #2265 , #2334
2014-08-04 19:50:16 -07:00
Dane Springmeyer
db96f3c933
drop unnessary use of boost in transform_processor.hpp
2014-08-04 15:09:37 -07:00
Dane Springmeyer
aa63d6c9a0
include cleanups where we used to use boost
2014-08-04 14:42:51 -07:00
Dane Springmeyer
d7c3d8f774
fix std::sort and std::lower_bound usage
2014-08-04 14:42:24 -07:00
Dane Springmeyer
5134fdc0d3
use std::sort over boost::sort
2014-08-04 14:13:33 -07:00
Dane Springmeyer
a73440496a
iwyu
2014-08-04 13:59:13 -07:00
Dane Springmeyer
03429f9bcb
use std::unordered_map in non-perf critical code
2014-08-04 13:59:02 -07:00
Dane Springmeyer
75248e3376
remove obsolete wrap-character option for text symbolizer - closes #2333
2014-08-04 12:52:46 -07:00
artemp
c1c5421fb6
add divide, linear-dodge and linear-burn blending modes (needs testing)
2014-08-04 12:33:37 +01:00
Dane Springmeyer
9f05389754
fix handling of all sym enums as expressions - fixes tests from #2328
2014-08-03 21:28:36 -07:00
jhollinger2
0aad860a75
Add repeat-distance to text symbolizer properties.
...
Update collision detector to handle minimum-distance and repeat-distance seperately.
Update placement_finder to use repeat-distance.
Update group symbolizer to handle minimum-distance and repeat-distance.
2014-08-03 16:10:21 -04:00
artemp
f2db42d5e4
support image-transform for vector patterns
2014-08-01 13:39:29 +01:00
artemp
a9f0408e4f
polygon_pattern_symbolizer: use set_symbolizer_property + add image-transform
2014-08-01 10:05:30 +01:00
artemp
18a7731d42
AGG line/polygon_pattern_symbolizer add support for SVG patterns
2014-07-31 15:25:22 +01:00
Dane Springmeyer
c6a291271f
fix conditional pixel snapping for marker rasters
2014-07-31 00:49:00 -07:00
Dane Springmeyer
3412c071ab
initialize default black square in marker cache - refs #952
2014-07-31 00:41:27 -07:00
Dane Springmeyer
6078f4cef1
more marker bbox fixes
2014-07-30 23:43:48 -07:00
Dane Springmeyer
d685307250
fix regression in raster marker collision box placement - refs #2295
2014-07-30 22:50:01 -07:00
Dane Springmeyer
6070c9caf0
fix compile
2014-07-30 16:25:21 -07:00
Dane Springmeyer
2a18280dc5
Add support for dynamic expressions for dasharrays - closes #2168
2014-07-30 16:02:23 -07:00
Dane Springmeyer
b7ecd00c31
complete support for face-name/fontset-name in <Format> node - closes #1900
2014-07-30 14:16:32 -07:00
Dane Springmeyer
350c2c29bd
drop karma confix + solve conflicting spirit headers - closes #2323
2014-07-30 13:06:08 -07:00
Dane Springmeyer
da457eba81
Merge branch 'master' of github.com:mapnik/mapnik
2014-07-30 08:42:03 -07:00
artemp
3f5344ca82
geojson - make feature_collection_grammar not dependend on mapnik::context
2014-07-30 11:01:54 +01:00
Dane Springmeyer
8646ccc83f
start passing fontsets down to format and layout - refs #1900
2014-07-29 18:29:20 -07:00
Dane Springmeyer
e7c6d84028
Avoid -Wdelete-non-virtual-dtor warning
2014-07-29 17:17:45 -07:00
Dane Springmeyer
acbebcdd79
Merge branch 'master' of github.com:mapnik/mapnik
2014-07-29 17:07:09 -07:00
Dane Springmeyer
673bd4fd8f
use detail namespace in json/geometry_generator_parser.hpp
2014-07-29 17:06:54 -07:00
Dane Springmeyer
ba999ff4be
Merge pull request #2295 from mapycz/3.x-szn-markers-symbolizer
...
refactor markers placements
2014-07-29 17:04:27 -07:00
Dane Springmeyer
1fa31d5d20
remove force-odd-labels - refs #2120
2014-07-29 14:37:29 -07:00
artemp
08c3dd1f88
convert remaining text properties to expressions
2014-07-29 14:43:26 +01:00
artemp
c565aa8722
move symbolizer property handling to symbolizer_utils
2014-07-29 13:31:07 +01:00
Jiri Drbalek
6730408039
fix include
2014-07-29 11:52:43 +00:00
Jiri Drbalek
6a17e17c04
fix markers transforms calc
2014-07-29 11:52:43 +00:00
Jiri Drbalek
2940de0b0b
refactor markers placements
2014-07-29 11:52:39 +00:00
artemp
97f87b1946
aggregate text symbolizer properties loading
2014-07-29 10:09:54 +01:00
Dane Springmeyer
e525ca28b5
Re-instate skipping of proj_transform failures - closes #2147
2014-07-28 20:46:30 -07:00
Dane Springmeyer
cdb075f75f
make clipping off by default - closes #2146
2014-07-28 20:31:10 -07:00
Dane Springmeyer
8feedd94cd
rename mapnik::boolean to mapnik::boolean_type - closes #1899
2014-07-28 19:46:49 -07:00
Dane Springmeyer
04115c5838
fix #2290
2014-07-28 19:06:56 -07:00
Dane Springmeyer
b0f722a30b
fix #2299
2014-07-28 17:09:51 -07:00
Dane Springmeyer
d55a0010dc
also move feature_collection_grammar to impl file
2014-07-28 16:51:24 -07:00
artemp
f338028802
fix init order
2014-07-28 17:50:44 +01:00
artemp
0cf6e47006
c++ char_properties -> evaluated_format_properties
2014-07-28 17:22:32 +01:00
artemp
fb3d9cd7b6
convert horizontal/vertical/justify_alignment properties to expressions
2014-07-28 15:09:29 +01:00
artemp
61c0344dd6
generic set_property_from_xml implementation
2014-07-28 15:08:28 +01:00
artemp
51cf60125e
rename source files to reflect class name e.g layout -> text_layout
2014-07-28 12:10:34 +01:00
Dane Springmeyer
0d95f038a7
shuffle the cost of spirit grammars
2014-07-25 16:15:18 -07:00
Dane Springmeyer
bbc57f442c
fix -Wsign-compare warnings in several grammars
2014-07-25 15:49:50 -07:00
Dane Springmeyer
d598a2bb55
iwyu
2014-07-25 15:35:27 -07:00
Dane Springmeyer
34bbf36e3a
Revert "return code 0 to gracefully exit if python bindings are not available"
...
This reverts commit 2f08dc29ef
.
Conflicts:
tests/run_tests.py
tests/visual_tests/test.py
2014-07-25 11:49:05 -07:00
artemp
70059cc346
remove redundant ExpressionFormat node
2014-07-25 14:26:13 +01:00
artemp
37245fdde1
text properties : add framework to handle expressions in enumerations
...
+ make text-transform an expression
2014-07-25 14:19:41 +01:00
Dane Springmeyer
2f08dc29ef
return code 0 to gracefully exit if python bindings are not available
2014-07-24 18:58:03 -07:00
Dane Springmeyer
99de69d96f
Merge branch 'master' of github.com:mapnik/mapnik into grammar-refactor
2014-07-24 14:55:30 -07:00
Dane Springmeyer
c5be70ff65
refactor spirit grammars
2014-07-24 14:31:59 -07:00
artemp
b53572ab9c
update text/formatting/format
2014-07-24 14:45:02 +01:00
artemp
9c39d4ebd2
collect expressions from format_properties
2014-07-24 12:00:46 +01:00
artemp
1927a00ee0
text-properties : make fill and halo-fill expressions
2014-07-24 11:37:16 +01:00
Dane Springmeyer
f8ccbf3ded
fix compile of graphics.hpp
2014-07-23 14:32:48 -07:00
Dane Springmeyer
3defa77d88
remove big endian support - closes #2313
2014-07-23 14:16:44 -07:00
Dane Springmeyer
133f399777
iwyu
2014-07-23 14:16:11 -07:00
Dane Springmeyer
8dcd85a708
iwyu
2014-07-23 14:02:36 -07:00
Dane Springmeyer
9959006e61
remove boost::lexical_cast
2014-07-23 10:54:02 -07:00
Dane Springmeyer
bf8572fac6
remove boost::lexical_cast
2014-07-23 10:53:47 -07:00
Dane Springmeyer
2d2eec48c4
iwyu
2014-07-23 10:34:45 -07:00
artemp
8502019310
more format_properties expessions
2014-07-23 18:09:18 +01:00
artemp
e67f046a0e
start re-factoring char_property (TODO: change name!)
2014-07-23 16:19:14 +01:00
Dane Springmeyer
265043e4d7
iwyu
2014-07-22 23:57:06 -07:00
Dane Springmeyer
148007cc48
iwyu + fwd declares
2014-07-22 23:36:54 -07:00
Dane Springmeyer
3de2457799
fwd declare layer
2014-07-22 23:11:12 -07:00
Dane Springmeyer
58163a583c
clean up tuple includes
2014-07-22 23:01:31 -07:00
Dane Springmeyer
64e70fb374
iwyu
2014-07-22 22:40:39 -07:00
Dane Springmeyer
a80d7c9602
std::unordered_map for non-perf critical debug code
2014-07-22 22:39:49 -07:00
Dane Springmeyer
95aa4c709d
use std::unique_lock instead of boost::unique_lock
2014-07-22 20:06:13 -07:00
Dane Springmeyer
6c6b1bd650
iwyu
2014-07-22 19:45:54 -07:00
Dane Springmeyer
28a05c96ef
iwyu + faster compile
2014-07-22 19:36:39 -07:00
Dane Springmeyer
6a8b3e9cf9
fix clipping default until #2146
2014-07-22 12:15:45 -07:00
Dane Springmeyer
006c460c9c
fix use of comp-op as data-driven expression
2014-07-22 10:52:30 -07:00
Dane Springmeyer
7744a65536
remove uneeded usage of boost::ignore_unused_variable_warning
2014-07-22 10:51:31 -07:00
artemp
498bba7cf8
c++ : pass arg by const ref
2014-07-22 16:09:10 +01:00
artemp
f12b5e06dd
c++ style
2014-07-22 15:58:37 +01:00
artemp
bfc6c61d62
c++ - pass by const ref etc.
2014-07-21 14:46:54 +01:00
artemp
eacde4fe43
remove dummy_shaper
2014-07-21 12:41:31 +01:00
artemp
ee58762bd9
add property_serializer impl
2014-07-21 11:19:26 +01:00
artemp
93d40323c5
orientation -> symbolizer_base::value_type
2014-07-18 15:48:56 +01:00
artemp
594470ee17
expressions in text/formatting/layout (work-in-progress)
2014-07-18 11:18:54 +01:00
artemp
f9ed5d4027
add has_attribute(std::string const&) member function
2014-07-18 11:17:48 +01:00
artemp
56381b5770
make set_property_from_xml more generic
...
(e.g work with symbolizer_base::value_type and optional<symbolizer_base::value_type>)
2014-07-18 11:15:30 +01:00
artemp
efe0cf57b4
move set_property_from_xml into separate header for re-use
2014-07-18 11:14:28 +01:00
artemp
dcb60d5842
make add_expressions pure virtual in base class
2014-07-17 17:26:54 +01:00
artemp
18d1d0b8d5
fix path_move_dx
2014-07-17 17:26:20 +01:00
artemp
620aa62ab5
remove unused member variable
2014-07-17 17:01:03 +01:00
artemp
21986e5d4a
refactor pass
2014-07-17 16:55:22 +01:00
artemp
79c1ac96b4
avoid captures in displacement_evaluator
2014-07-17 16:55:22 +01:00
Dane Springmeyer
8eab2d31de
remove dead code
2014-07-16 16:13:56 -07:00
artemp
8a01cce2f7
move displacement_evaluator_ initialisation
...
c++ style fixes
2014-07-16 16:34:42 +01:00
artemp
4166fcdd5d
store displacement logic in std::function and delay calc until dx/dy are evaluated (layout)
2014-07-16 14:24:00 +01:00
artemp
6c03a617a5
text displacement expr : more re-factoring and various fixes
2014-07-15 16:31:43 +01:00
artemp
1f17620e18
make methods pure virtual where appropriate
...
pass std::string by const ref (!)
c++ style
2014-07-15 11:15:26 +01:00
artemp
72bae0d6b8
text properties : displacement expr
2014-07-15 10:15:56 +01:00
artemp
a66c1ddb06
convert to expressions: text-ratio, wrap-before, rotate-displacement
2014-07-14 16:51:11 +01:00
artemp
0524a31d02
cleanup
2014-07-14 16:08:21 +01:00
artemp
00175c9e5f
symbolizer : is_expression helper function
2014-07-14 14:15:06 +01:00
artemp
ee6d394321
color : add hash support
2014-07-14 12:36:04 +01:00
artemp
e066aa924f
text_properties : wrap-width
2014-07-11 15:44:44 +01:00
artemp
4afd98a34a
text_properties : store 'orientation' parameter in symbolizer_base::value_type
2014-07-11 14:43:56 +01:00
artemp
64ef711b76
move enumerations into separate compilation unit
2014-07-11 10:26:51 +01:00
artemp
c79e74116d
cleanups
2014-07-11 09:51:34 +01:00
artemp
484c1fab50
c++ style
2014-07-10 17:14:34 +01:00
artemp
9e84b6101b
store const* in glyph_t
2014-07-10 12:46:42 +01:00
artemp
6cd7026aac
pass text_placement_info by ref to placement_finder + formatting
2014-07-10 11:44:46 +01:00
artemp
8c6015ec60
first take at cleaning-up text placement code
...
(NOTE: get_text_info is temp disabled in python bindings)
2014-07-09 11:31:03 +01:00
artemp
9e76ca7870
color : add move ctor
2014-07-08 18:13:44 +01:00
artemp
04facd3542
mode range ``for loops
``
2014-07-08 17:02:22 +01:00
artemp
65ee7ea005
range based for loops for better readability
2014-07-08 16:39:22 +01:00
artemp
81f7e69088
coord_arrat<T> : add support for range based for loop interface
...
update wkb parser to use it ^^
2014-07-08 16:22:24 +01:00
artemp
ebdfc5b11a
use c++ casts
2014-07-07 19:23:28 +01:00
artemp
4556921e9a
remove typedef usage
...
(FIXME: revisit yes/no hacky implementation with c++11 features)
2014-07-07 19:15:52 +01:00
artemp
fe215a684e
c++11 style : replace (almost) all typedef with type alias's
2014-07-07 18:23:15 +01:00
artemp
0f01000570
prefer using type alias's instead of ``typedef
``
...
e.g
```c++
using identifier attr(optional) = type-id ;
```
2014-07-07 11:56:16 +01:00
artemp
673c8edbb5
set_symbolizer_property_impl - pre-evaluate expressions when is_enum = false
2014-07-07 11:30:08 +01:00
artemp
0f9ff9fe5e
typo
2014-07-07 11:30:08 +01:00
artemp
1f2f17160e
initial implementation to pre-evaluate symbolizer properties where possible
...
FIXME: generic version needs needs help type deduction
2014-07-03 16:35:18 +01:00
artemp
6d1422c5bb
c++ style : pre-increment
2014-07-03 10:16:11 +01:00
artemp
ab3aad38ad
symbolizer properties : image_transform, cleanups
2014-07-03 09:06:24 +01:00
artemp
5ef8078252
markers_symbolizer properties update
2014-07-02 13:08:05 +01:00
artemp
13d3465000
update point_placement_enum, gamma_method_enum, line_rasterizer_enum parsing, gamma-method
2014-07-02 11:01:38 +01:00
artemp
504c6fdabd
make ``simplify_algorithm
`` an expression
2014-07-02 10:15:44 +01:00
artemp
e052b6c6cf
Merge branch 'master' of git://github.com/romanustinov9/mapnik into romanustinov9-master
2014-07-01 14:03:31 +01:00
Roman Ustinov
595e8915a5
Made save_to_stream function available outside of library
2014-07-01 14:45:52 +04:00
artemp
2271e7413c
ENUM_FROM_STRING macro to keep things tidy and scalable
2014-06-30 17:41:33 +01:00
artemp
79fa672843
support expressions in stroke-linejoin and stroke-linecap properties
2014-06-30 14:06:34 +01:00
artemp
19b38c2ed9
more generic expressions in enum
...
support expressions in halo-comp-op symbolizer property
2014-06-27 16:11:30 +01:00
artemp
aa9966ed88
parse comp-op property as enumeration_wrapper or expression_str
2014-06-27 13:58:03 +01:00
artemp
b197cbcdb7
tidy up
2014-06-25 09:01:20 +01:00
artemp
a49abab7ed
use std::uniqure_ptr<char[]> to store memory fonts
2014-06-24 12:05:53 +01:00
Dane Springmeyer
4c4ce5a04c
windows build fixes in palette and miniz_png headers
2014-06-21 14:08:14 -07:00
Dane Springmeyer
34f1cc57c0
windows fix: declar miniz PNGWriter
2014-06-21 14:08:06 -07:00
Dane Springmeyer
184d9dd43b
fix unicode handling in is_regular_file check - refs #2273
2014-06-20 22:26:33 -07:00
artemp
b0980ac329
cairo renderer: comp_op/halo_comp_op support in text_symbolizer
2014-06-20 09:55:10 +01:00
Mike Morris
2eafed2991
remove all rounding in glyph_info methods
2014-06-19 16:39:32 -04:00
Mike Morris
b8b22afbbc
remove advance rounding
2014-06-19 16:38:15 -04:00
Mike Morris
24a7e87f1c
Merge pull request #2272 from mapnik/unscaled-glyphs
...
Unscaled glyphs
2014-06-19 16:35:06 -04:00
artemp
68a5cc55a6
image_filters : agg-stack-blur requires premultiplied pixels - move de/pre multipling into apply_filter()
2014-06-19 15:40:54 +01:00
artemp
2fb3069825
image-filters: apply image-filters in demultiplied colour space
2014-06-19 13:26:40 +01:00
Dane Springmeyer
8da2805d42
Merge branch 'master' into unscaled-glyphs
...
Conflicts:
include/mapnik/text/dummy_shaper.hpp
include/mapnik/text/harfbuzz_shaper.hpp
include/mapnik/text/icu_shaper.hpp
2014-06-18 20:40:33 -07:00
artemp
2f15631182
premultiply R,G,B channels after applying filters
2014-06-18 19:06:53 +01:00
artemp
666a926864
moving instead of copying mapnik::glyph_info
...
Conflicts:
include/mapnik/text/dummy_shaper.hpp
include/mapnik/text/harfbuzz_shaper.hpp
include/mapnik/text/icu_shaper.hpp
2014-06-18 14:23:18 +01:00
artemp
3c72aedba0
moving instead of copying mapnik::glyph_info
2014-06-18 14:15:12 +01:00
artemp
a5547b0473
Merge branch 'master' into unscaled-glyphs
2014-06-18 10:18:16 +01:00
Dane Springmeyer
6571508576
Merge branch 'master' of github.com:mapnik/mapnik
2014-06-17 21:42:42 -07:00
Mike Morris
f797c320ff
remove unecessary x_scale/y_scale multiplication
2014-06-17 15:57:11 -04:00
artemp
2c3173c1aa
support halo-comp-op property ( #2267 )
2014-06-17 15:11:34 +01:00
artemp
d9597972d4
prefer c++ style comments
2014-06-17 14:25:02 +01:00
Mike Morris
28a3f4d2a2
fix line height
2014-06-16 18:47:16 -04:00
Dane Springmeyer
8bb77bce92
image readers: ability to check if image has alpha before full read
...
Conflicts:
src/webp_reader.cpp
2014-06-16 09:52:26 -07:00
Dane Springmeyer
cc874364b2
allow external image data - refs #2002
...
Conflicts:
include/mapnik/image_data.hpp
tests/cpp_tests/image_io_test.cpp
2014-06-16 09:52:25 -07:00
artemp
7cc87c2196
fix compilation warnings
2014-06-16 11:45:33 +01:00
artemp
6bb47d9f5e
add 'cairo' subdir
2014-06-16 11:45:10 +01:00
artemp
cbab56fa79
text symbilizer : add halo-opactity property ( #2268 )
2014-06-16 11:24:16 +01:00
artemp
91a523733b
fix unused parameter warnings
2014-06-16 11:23:50 +01:00
Dane Springmeyer
e5dd7e0ec7
attempt to fix compile on linux
2014-06-12 19:08:30 -07:00
Mike Morris
a99905cff5
fix char_height zero
2014-06-12 19:10:18 -04:00
Mike Morris
38966674f1
line_height, ymin, ymax and advance all look right now
2014-06-12 16:16:02 -04:00
Mike Morris
3948e01c97
set glyph advance to floor for mapnik 2.x parity
2014-06-12 12:24:20 -04:00
artemp
3ded23fbab
move make_unique out of std namespace and allow building with c++14 compilers
...
( -std=c++1y )
2014-06-12 15:14:05 +01:00
Mike Morris
2b843ec6a9
first attempt at unscaled glyph dimensions
2014-06-11 19:56:55 -04:00
artemp
d2eca542a9
formatting
2014-06-10 09:15:50 +01:00
artemp
b6bab7d0bb
move cairo renderer into its own subdir
2014-06-06 13:38:00 +01:00
artemp
de90d0ee2a
fix markers transforms calc
2014-06-05 16:47:40 +01:00
artemp
bbb727e39a
update cairo_renderer
2014-06-05 15:15:36 +01:00
artemp
961bc69a1c
cleanup+format
2014-06-05 15:15:36 +01:00
artemp
27b4faf4e7
remove dead code
2014-06-04 18:12:35 +01:00
artemp
a49e1d075e
initial refactor pass ( fixes #2235 )
2014-06-04 18:05:27 +01:00
Dane Springmeyer
1acd49d630
fix spelling in comment
2014-06-03 22:06:49 -07:00
artemp
bedd275e95
more const correctness + cleaups
2014-06-02 17:09:12 +01:00
artemp
526e03d8c1
pedantic : use const quialifier where appropriate
2014-06-02 16:47:55 +01:00
artemp
ed8bfcabe4
feature_impl : make context() method const
2014-06-02 16:47:11 +01:00
artemp
08a1a4392c
c++ formatting
2014-06-02 12:34:25 +01:00