summaryrefslogtreecommitdiff
path: root/src/3rdparty
Commit message (Collapse)AuthorAgeFilesLines
* Add missing overrideAlexander Volkov2020-06-291-1/+1
| | | | | Change-Id: Ieae01bc4669cdd503f97399c622989795a0ad734 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Merge 5.15 to dev and fix resulting compile issuesQt Forward Merge Bot2020-04-022-0/+40
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/location/location.cpp The change fixes the bare minimum of what needs to be done to compile and run. This includes the following issues: 1. Fix build failures as a result of QMetaType changes in qtbase moc now stores the QMetaType of properties as a result of 46f407126ef3e94d59254012cdc34d6a4ad2faf2 in qtbase, which requires full type information about the property type inside the moc generated source file. Many of the property types were forward-declared, and this resulted in build errors like: "invalid application of 'sizeof' to an incomplete type 'QDeclarativeGeoMap'" 2. Adopts QtQML API changes. A private QJSValue ctor was removed. The "replacement" is QJSValuePrivate::fromReturnedValue(..). 3. The mapboxgl 3rdparty backend does not compile at this point in time and seems unmaintained. For the time being, the mapboxgl backend is disabled in the interest of keeping qtlocation closer to dev HEAD of other Qt modules. Change-Id: I756e1c2effb29eaaf96a61a28c1c17338774b77c
| * Add geometry simplification to MapPolyline/MapPolylineObjectQSGPaolo Angelelli2020-02-122-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change introduces a metric-based implementation of the Ramer-Douglas-Peucker line simplification algorithm to generate a LOD pyramid for the polyline geometries. This comes with a related property (in MapItemBase), lodThreshold, that can be used to change the threshold after which no simplification will be used. By default the value of this property is 0, meaning that the behavior will be unchanged and no LOD will be used. This change also introduces LOD on map polyine objects QSG, for which no property is introduced, and there's a default threshold set to zoom level 12 (which appear to produce acceptable results). Finally, this patch makes use of a threadpool with 1 thread to enqueue geometry simplification tasks, which would otherwise freeze the UI when computing for the first time. Support for geometry simplification is currently added only to polylines. It might be of interest extending it to polygons as well, once a proper strategy for handling the simplification of inner holes has been identified. Finally, extending it to circles could be of interest, while potentially bringing only minor benefits, as circle geometries are currently fixed to 128 vertices. Also adds a MapObject-based delegate to the geojson viewer example. Task-number: QTBUG-46652 Task-number: QTBUG-38459 Task-number: QTBUG-49303 Change-Id: I64b5db4577962db17e5388812909285c9356ef0d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-02-011-70/+128
|\ \ | |/ | | | | Change-Id: I453207cbd09ee4901def858193f33d8cef80a2dc
| * Update earcut 3rd party libraryPaolo Angelelli2020-01-231-70/+128
| | | | | | | | | | Change-Id: I1705757d3530ed595912dba726cab50f003f103d Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Fix build with latest qtbase and qtdeclarativeQt Submodule Update Bot2020-01-271-0/+0
|/ | | | | | | | | | | | * Bump the submodule to include the one build fix for sqlite3. * Rename VisualDataModel to DelegateModel (it's been the latter for many years and now the old name vanished) * Fix dangling pointers into QList. In clearMapItems() we iterate over m_mapItems and call removeMapItems(), which also removes from the same QList (now vector). The same goes for m_mapItemGroups. Change-Id: I4c229fd2cf1bce76d6ad5ffae4bdbda7fe8e6a18 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QtLocation: Update mapbox-gl-native submoduleCristian Adam2019-11-081-0/+0
| | | | | | | | | | [qt] Fix building on Windows with Clang and libc++ [qt] Make image source url update possible Change-Id: Ie9a562dffc1389c864fc08b3157a45ebf061960b Reviewed-by: Tadej Novak <tadej@tano.si> Reviewed-by: Thiago Marcos P. Santos <tmpsantos@gmail.com> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Update SHA of mapbox-gl-native to the upsteram versionSona Kurazyan2019-09-051-0/+0
| | | | | | | Bumps Mapbox GL to a new version that fixes the Qt version comparison. Change-Id: Ia6df7a461fc2358cda7e3ac7aa0d58c2b5b8fcfb Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Bump Mapbox GL to the latest versionSudarsana Babu Nagineni2018-08-141-0/+0
| | | | | | | | | | | | | | Bumps Mapbox GL to a new version that fixes the compilation errors on QNX 7. Also, enable Mapbox GL Native plugin for QNX. mapbox-gl-native @ 27b21363e62c105db0b040b4c5a5ef31170ebd30 Task-number: QTBUG-59685 Change-Id: Icc70ab53ba6f76e319feb53858f3614f3edca3e1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Improve the Clipper dependency’s qt_attribution.json fileNicolas Ettlin2018-07-051-4/+4
| | | | | | | | | | | | | | This commit fixes many issues in the qt_attribution.json file of the Clipper dependency: - It adds a new description to match the Clipper project (the old one referred to the Clip2Tri project) - It changes the website URL so the Clipper project is easier to find - It adds a version number field - It updates the Copyright field to match the version used in Qt Task-number: QTBUG-69262 Change-Id: I661a9b81609bc4fb02d15b2139390991505e1c82 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Bump Mapbox GL to the latest versionThiago Marcos P. Santos2018-05-161-0/+0
| | | | | | | | | | | | | | New features like: - Heatmaps - Better label rendering - Bugfixes mapbox-gl-native @ 27b21363e62c105db0b040b4c5a5ef31170ebd30 Change-Id: I443fb91ba42065b0de101d13c3bf51713ed01a89 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix build with clangAllan Sandfeld Jensen2018-04-291-0/+0
| | | | | | | | | | The code uses both deprecated C++98 std::auto_ptr and C++14 TR std::experimental::optional and thus depends rather heavily on being compiled with an exact C++ version. Task-number: QTBUG-67810 Change-Id: I599b4a16f93ded6a9fb8fcf24c43c25f83a9f2fd Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Bump Mapbox GL to fix issue on Windowsv5.10.15.10.1Bruno de Oliveira Abinader2018-02-081-0/+0
| | | | | | | | mapbox-gl-native @ 8757164ac8f2b033b2b12d4baf075ed18cfeb2b4 Task-number: QTBUG-64632 Change-Id: I00038790fcfbaa3b91aee6c23e46b654b7e71ad1 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-262-2/+2
|\ | | | | | | | | | | | | | | Conflicts: tests/auto/qgeotiledmap/tst_qgeotiledmap.cpp tests/plugins/declarativetestplugin/testhelper.h Change-Id: Ie218ab1dc68642a6922e05e5688c20b90440b72e
| * Use custom namespace in QtLocation's earcutBruno de Oliveira Abinader2018-01-092-2/+2
| | | | | | | | | | | | | | | | | | The custom namespace avoids clashes with mapbox-gl-native's own earcut.hpp dependency. Task-number: QTBUG-65262 Change-Id: Ic5121e88dca45c01af7ce26e38a99a0cd2d1c88e Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Paolo Angelelli2017-12-151-0/+0
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I8300f5fcbbe3064049e11d2b04c10e35c9945c8d
| * Remove OpenGL ES limitation for Mapbox GL on WindowsBruno de Oliveira Abinader2017-11-301-0/+0
| | | | | | | | | | | | | | | | | | | | Also fixes an issue preventing GL native from working on MinGW. mapbox-gl-native @ 8757164ac8f2b033b2b12d4baf075ed18cfeb2b4 Task-number: QTBUG-64632 Change-Id: Iab9a560adcd54194cd9829a326b325856f8c8cc2 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-11-152-13/+0
|\ \ | |/ | | | | Change-Id: Id7d47d95c8dc6a696b79812573e50c572593123e
| * Bump Mapbox GL versionBruno de Oliveira Abinader2017-11-141-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Bumps Mapbox GL to a new version that fixes the Qt-based database SQLite query binding for text data. Also, replaces 'QImage::byteCount()' with 'QImage::sizeInBytes()' to avoid deprecation warnings in Qt 5.10 onwards. mapbox-gl-native @ 3bef7593a64a51e86dd5a2ed9fd36b4a143350b0 Task-number: QTBUG-63013 Change-Id: I81fb4d8a7cb36fe96e28e28692411460edde5c96 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
| * Fix ICU linkage on the Mapbox GL pluginThiago Marcos P. Santos2017-11-032-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes both the Mapbox GL plugin and the Mapbox GL engine at src/3rdparty/mapbox-gl-native use ICU in the same way as qtbase. QMAKE_USE_PRIVATE += icu This should fix build errors when using an ICU that doesn't have headers installed on the default header lookup path. That assumption was specially true for the Mapbox GL engine 3rdparty submodule. Task-number: QTBUG-63571 Change-Id: Id0ab4cb8fb42b8eda8afb9650cd678ee7c5c45ad Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
| * Bump Mapbox GL to v1.1.0Thiago Marcos P. Santos2017-08-221-0/+0
| | | | | | | | | | | | | | | | mapbox-gl-native @ bd15e273dce767458d335aeb1f50aa081390d593 Task-number: QTBUG-62454 Change-Id: I241ae47d8590a5de7da95f39ae056abeab9c172b Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | Update Mapbox GL versionThiago Marcos P. Santos2017-08-221-0/+0
| | | | | | | | | | | | | | | | | | Includes the patch that removes incompatible caches when downgrading Mapbox GL to a version that uses an older cache database schema. Task-number: QTBUG-62454 Change-Id: I666777ff8a984e4acee9f585c191e7204cbbadb7 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devPaolo Angelelli2017-08-103-0/+807
|\ \ | |/ | | | | | | | | | | Conflicts: tests/auto/declarative_ui/tst_map.qml Change-Id: If408b8242b39f78926b5373393f3b1f65b262499
| * Fix dragging items out of map boundsPaolo Angelelli2017-07-283-0/+807
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 5.9.0 map items are clipped against the visible region. This implies that their geometry is also clipped against the visible region. This is problematic in ::geometryChanged, since the old geometry is always clipped in this way. This patch clips items against a "projectable" region instead, that is the part of the map that is in front of the camera. Since this can produce very large vertices, mapbox earcut 3rd party library is pulled in, to replace qTriangulate that only supports coordinates up to 1<<21. This patch also contains a fix for earcut.hpp to make it build also on QNX6.6 Task-number: QTBUG-61727 Change-Id: Iffc95fdae88fef982c1eb86db567b326b5e51057 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
| * Revert "Fix dragging items out of map bounds"Paolo Angelelli2017-07-193-803/+0
| | | | | | | | | | | | | | | | This reverts commit 2ab93acd9751b3ffe2c36a4a0e37dc792686a08f. Reason being: not passing QNX6 bot Change-Id: If45fe095b6e6959f7c40e3e0ed7a14d278bbb230 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Remove dead code in QDeclarativePolygon/Polyline MapItemsPaolo Angelelli2017-07-171-1/+3
| | | | | | | | | | Change-Id: I95c1d361bd6ba43a3eed5465fc2f74b7a622af72 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * Fix dragging items out of map boundsPaolo Angelelli2017-07-173-0/+801
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 5.9.0 map items are clipped against the visible region. This implies that their geometry is also clipped against the visible region. This is problematic in ::geometryChanged, since the old geometry is always clipped in this way. This patch clips items against a "projectable" region instead, that is the part of the map that is in front of the camera. Since this can produce very large vertices, mapbox earcut 3rd party library is pulled in, to replace qTriangulate that only supports coordinates up to 1<<21. Task-number: QTBUG-61727 Change-Id: I7449e755a4848a2b2107c5de4e27821e3e887bfb Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | Bump Mapbox GL to v1.1.0Thiago Marcos P. Santos2017-08-091-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mapbox-gl-native @ edd7948893fcd40a24d96b790e21d3dd028cecbe New features include: - 3D extrusions - Data driven styles - Style transitions - Bug fixes [ChangeLog][QtLocation][MapboxGL] Updated Mapbox GL Native to v1.1.0 Change-Id: Ib4f88f382dc726e4b229dfe41530034009d7c12b Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | Add QGeoPolygon to QtPositioningPaolo Angelelli2017-08-042-0/+7
|/ | | | | | | | | | | This patch introduces a new QGeoShape, QGeoPolygon, together with helper functions in the location singleton (QtPositioning.*) to create and convert geopolygons from QML. [ChangeLog][QtPositioning][QGeoPolygon] Added QGeoPolygon shape. Change-Id: I111c576d7428f2a953f0459d16c25eea7ab2bd7c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* More detailed attribution file for Mapbox GLThiago Marcos P. Santos2017-05-251-0/+0
| | | | | | | | | Add individual entries for all the Mapbox GL own dependencies used when building the Mapbox GL plugin. Task-number: QTBUG-60821 Change-Id: I1da2617eed6eabd3ef35c6b23db3418bf56370a0 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.9.0' into 5.9" into ↵Liang Qi2017-05-241-0/+0
|\ | | | | | | refs/staging/5.9
| * Fix build on Android with clangThiago Marcos P. Santos2017-05-091-0/+0
| | | | | | | | | | | | | | | | | | Qt builds Android with clang using libstdc++ instead of libc++. This bumps mapbox-gl-native to a version with a fix that takes that into account. Task-number: QTBUG-60533 Change-Id: I7379cbb43623a745d221cbcdb8bf748486e6cbac Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | Use appropriate qmake flags for optimizationsAllan Sandfeld Jensen2017-05-243-11/+12
|/ | | | | | | | | | Using optimize_full gives us -O3 also on icc and clang, and -O3 already implies -ftree-vectorize, and -ffast-math already implies unsafe-math- optimizations. Change-Id: Ieb1a6841da1ea3513ae624bf2468554bc62318c9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix build on OpenSuSE 13.2 + GCC 4.9Thiago Marcos P. Santos2017-05-031-0/+0
| | | | | | | | Changes on Mapbox GL to make GCC 4.9.0 happy. Task-number: QTBUG-60378 Change-Id: Id5ba2e725caa8b54fee651a21ff76c81af02da43 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Enable Mapbox GL plugin on MinGW buildsThiago Marcos P. Santos2017-04-281-0/+0
| | | | | | | | | | | | Qt CI is using MinGW 5.3.0 that should do the job compiling Mapbox GL. For now, only the ANGLE OpenGL backend is supported on Windows for this plugin. I.e. you need to set QT_OPENGL=angle or Qt::AA_UseOpenGLES. Task-number: QTBUG-60110 Change-Id: Iebd4d1569191f47a14b264c489b5d3fb23338d78 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Rename libclipper namespaceThiago Marcos P. Santos2017-04-104-14/+14
| | | | | | | | | | | So it won't clash with the libclipper used by the Mapbox GL plugin when linking Qt with -static. With -static, all the plugins are linked together instead of each one having its own shared library, thus, hiding private symbols. Change-Id: I33ee4afd4b83741c5f3fae32a88da7f4a7fee75f Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Mapbox GL static/debug build fixesBruno de Oliveira Abinader2017-04-071-0/+0
| | | | | | Task-number: QTBUG-59281 Change-Id: I3605265ca9c330ea782bdda53ce5af004ef35a22 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Disable warnings in third-party codeThiago Macieira2017-04-033-3/+3
| | | | | | | | | | We don't care to fix them. clipper.cpp:3665:13: warning: unused variable 'firstLeft' [-Wunused-variable] sweep.cpp:706:8: warning: reference cannot be bound to dereferenced null pointer in well-defined C++ code; comparison may be assumed to always evaluate to false [-Wtautological-undefined-compare] Change-Id: I27b55fdf514247549455fffd14b17ba6040ac332 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix islands disappearing at certain zoom levelsThiago Marcos P. Santos2017-03-151-0/+0
| | | | | | | Bump Mapbox GL Native to a new hash that includes the fix. Change-Id: I95ab18c898b0643372cc94645cb8931b3976677d Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix build when building with -qt-zlibThiago Marcos P. Santos2017-03-142-0/+6
| | | | | | | | | | Qt configures zlib to prefix symbols with z_ and that was messing with mapbox-gl-native own function names due to preprocessor sorcery. Task-number: QTBUG-59447 Change-Id: Ib664a33103990f262b6979953d1415d06f230fd3 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Use $$MODULE_BASE_OUTDIR/lib in Mapbox GL nativeBruno de Oliveira Abinader2017-03-081-0/+0
| | | | | | Task-number: QTBUG-59281 Change-Id: Iec3a1fefb029e9eb0386b29b40e7844eba04bbd7 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Remove dependency on QtWidgetsThiago Marcos P. Santos2017-03-061-0/+0
| | | | | | | | | Mapbox GL Native was using QtOpenGL and that was pulling in the dependency on QtWidgets. Now we use only QtGui. Task-number: QTBUG-58821 Change-Id: Iae4c0d6de24988180fd8c837ff53ffc426831a30 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* ICU support in Mapbox GL Native upon availabilityBruno de Oliveira Abinader2017-03-032-0/+13
| | | | | | | Change-Id: I5102b3013263a3cb5158673b19ef7b89655d7fa7 Reviewed-by: Bruno de Oliveira Abinader <brunoabinader@gmail.com> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io> Reviewed-by: Thiago Marcos P. Santos <tmpsantos@gmail.com>
* Better dependency tracking when building 3rdparty modulesThiago Marcos P. Santos2017-02-241-20/+0
| | | | | | | | | | | | Make the component using the 3rdparty module depend directly on the module instead of depending on the 3rdparty directory as a whole. This will speedup compiling time when doing parallel builds and make build more consistent when building only selected pieces of QtLocation. Task-number: QTBUG-58943 Change-Id: I95b5ef8302109fb0c5fad760027a7a53d021bfa4 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Bump mapbox-gl-native package versionThiago Marcos P. Santos2017-02-201-0/+0
| | | | | | | | | | | Fixed few nits caused by Mapbox GL Native 3rd party package when packaging Qt. Task-number: QTBUG-59035 Task-number: QTBUG-59027 Task-number: QTBUG-58864 Change-Id: I4fe1d985183c027e69303663839ae517a9c1a1be Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Support for Mapbox GL Native rendering of QML Map{Polygon,Polyline} itemsBruno de Oliveira Abinader2017-02-141-0/+0
| | | | | | | | | | | | Replaces Mapbox GL Native annotations with runtime styles API. Missing: - Map{Polygon,Rectangle} border width property - see QTBUG-58872 for details. - MapCircle support - see QTBUG-58869 for detais. Change-Id: I77c9daee813a63efc60104f94f440f00ac3cf70f Reviewed-by: Thiago Marcos P. Santos <tmpsantos@gmail.com> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* mapbox-gl-native and mapboxgl depend on opengl (attempt 2)Liang Qi2017-02-131-1/+1
| | | | | | | | | This amends c3eb798dc7b4e82b86169533ae59648205d88d48. Task-number: QTBUG-58807 Change-Id: I1bd0785331d9b66420758023c73100e04fa01658 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* mapbox-gl-native and mapboxgl depend on openglLiang Qi2017-02-131-8/+10
| | | | | | | Task-number: QTBUG-58807 Change-Id: I64f66024e83eaf6414a80085ef98d1ad041464dd Reviewed-by: Thiago Marcos P. Santos <tmpsantos@gmail.com> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Fix per-thread unique QSqlDatabase connection names in Mapbox GL pluginBruno de Oliveira Abinader2017-02-011-0/+0
| | | | | | Task-number: QTBUG-58552 Change-Id: I0bae1579e316c5663145274fc651a74fdfbc37ba Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Add support for native polylines in Mapbox GL pluginBruno de Oliveira Abinader2017-01-311-0/+0
| | | | | Change-Id: I14240e095bb6260d56925c026cf78fc1a3ceacdb Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>