diff options
author | zheng_wenlong <wenlong_zheng@nexty-ele.com> | 2018-07-10 18:11:51 +0900 |
---|---|---|
committer | zheng_wenlong <wenlong_zheng@nexty-ele.com> | 2018-07-10 18:21:05 +0900 |
commit | 85392e71f90a0322fdc08359ef1d829cdcf67381 (patch) | |
tree | dfe40b0d945a671af3a9dd60b691cef6a664ad46 /homescreen | |
parent | 69be38c5d975c96eee7adab238ffd608b99d8514 (diff) |
Copy source code from homescreen-2017flounder_5.99.2flounder/5.99.25.99.2
We decide to use homescreen instead of homescreen-2017.
Copy the source code from homescreen-2017 and delete word "-2017".
Revision: b4db06287bc997ded71deab50ff0ff5889b09e1f
Bug-AGL: SPEC-1549
Change-Id: Id77226b7ce35bbc29c868281c37b76ea3f930ad5
Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com>
Diffstat (limited to 'homescreen')
81 files changed, 2252 insertions, 2050 deletions
diff --git a/homescreen/conf/HomeScreen.service b/homescreen/conf/HomeScreen.service deleted file mode 100644 index 3a89242..0000000 --- a/homescreen/conf/HomeScreen.service +++ /dev/null @@ -1,17 +0,0 @@ -[Unit] -Description=AGL reference HomeScreen -Requires=dbus.service afm-user-daemon.service InputEventManager.service HomeScreenAppFrameworkBinderAGL.service -After=dbus.service afm-user-daemon.service InputEventManager.service HomeScreenAppFrameworkBinderAGL.service WindowManager.service -ConditionKernelCommandLine=!agl.nogfx - -[Service] -Type=dbus -BusName=org.agl.homescreen -ExecStart=/usr/AGL/homescreen/HomeScreen -# 4194304(= 1 << 22) is special surface id for HomeScreen -Environment=QT_IVI_SURFACE_ID=4194304 QT_WAYLAND_SHELL_INTEGRATION=ivi-shell LD_PRELOAD=/usr/lib/libEGL.so.1 -Restart=on-failure -RestartSec=5 - -[Install] -WantedBy=default.target diff --git a/homescreen/homescreen.pro b/homescreen/homescreen.pro index 061d2fb..0e5bb58 100644 --- a/homescreen/homescreen.pro +++ b/homescreen/homescreen.pro @@ -1,4 +1,5 @@ # Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH +# Copyright (c) 2017 TOYOTA MOTOR CORPORATION # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,40 +15,34 @@ TEMPLATE = app TARGET = HomeScreen -QT = qml quick dbus +QT = qml quick dbus websockets CONFIG += c++11 link_pkgconfig -PKGCONFIG += libpulse +DESTDIR = $${OUT_PWD}/../package/root/bin +PKGCONFIG += qlibwindowmanager qtappfw + +LIBS += -lhomescreen include(../interfaces/interfaces.pri) SOURCES += \ src/main.cpp \ - src/homescreencontrolinterface.cpp \ - src/layouthandler.cpp \ - src/applicationmodel.cpp \ - src/appinfo.cpp \ src/statusbarmodel.cpp \ src/statusbarserver.cpp \ src/applicationlauncher.cpp \ src/mastervolume.cpp \ - src/paclient.cpp + src/homescreenhandler.cpp HEADERS += \ - src/homescreencontrolinterface.h \ - src/layouthandler.h \ src/statusbarmodel.h \ src/statusbarserver.h \ src/applicationlauncher.h \ - src/applicationmodel.h \ - src/appinfo.h \ src/mastervolume.h \ - src/paclient.h + src/homescreenhandler.h OTHER_FILES += \ README.md RESOURCES += \ - qml/images/Home/home.qrc \ qml/images/MediaPlayer/mediaplayer.qrc \ qml/images/MediaMusic/mediamusic.qrc \ qml/images/Weather/weather.qrc \ diff --git a/homescreen/qml/Home.qml b/homescreen/qml/Home.qml deleted file mode 100644 index de8b9bb..0000000 --- a/homescreen/qml/Home.qml +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (C) 2016 The Qt Company Ltd. - * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import QtQuick 2.2 -import Home 1.0 - -Item { - id: root - - Image { - anchors.fill: parent - anchors.topMargin: -218 - anchors.bottomMargin: -215 - source: './images/AGL_HMI_Background_Car-01.png' - } - - property int pid: -1 - - GridView { - id: grid - anchors.centerIn: parent - width: cellHeight * 3 - height: cellHeight * 3 - cellWidth: 320 - cellHeight: 320 - interactive: false - - model: ApplicationModel { id: applicationModel } - delegate: IconItem { - width: grid.cellWidth - height: grid.cellHeight - } - - MouseArea { - id: loc - anchors.fill: parent - property string currentId: '' - property int newIndex: -1 - property int index: grid.indexAt(loc.mouseX, loc.mouseY) - onPressAndHold: currentId = applicationModel.id(newIndex = index) - onReleased: { - if (currentId === '') { - pid = launcher.launch(applicationModel.id(loc.index)) - if (1 < pid) { - layoutHandler.makeMeVisible(pid) - - applicationArea.visible = true - appLauncherAreaLauncher.visible = false - layoutHandler.showAppLayer(applicationModel.id(loc.index), pid) - } - else { - console.warn("app cannot be launched!") - } - } else { - currentId = '' - } - } - onPositionChanged: { - if (loc.currentId === '') return - if (index < 0) return - if (index === newIndex) return - applicationModel.move(newIndex, newIndex = index) - } - } - } -} diff --git a/homescreen/qml/IconItem.qml b/homescreen/qml/IconItem.qml index 59131c0..a5c032e 100644 --- a/homescreen/qml/IconItem.qml +++ b/homescreen/qml/IconItem.qml @@ -1,13 +1,74 @@ import QtQuick 2.0 +import QtQuick.Controls 2.0 +import QtGraphicalEffects 1.0 Item { id: main - Image { - id: item; parent: loc - x: main.x + 5; y: main.y + 5 - width: main.width - 10; height: main.height - 10; - source: './images/HMI_AppLauncher_%1_%2-01.png'.arg(model.icon).arg(loc.pressed && (loc.index === model.index || loc.currentId === model.id) ? 'Active' : 'Inactive') - antialiasing: item.state !== '' + width: 320 + height: 320 + property string icon: model.icon + + Item { + id: container + parent: loc + x: main.x + y: main.y + width: main.width + height: main.height + + Image { + id: item + anchors.top: parent.top + anchors.topMargin: 20 + anchors.horizontalCenter: parent.horizontalCenter + width: 220 + height: width + source: './images/%1_%2.svg'.arg(model.icon).arg(loc.pressed && (loc.index === model.index || loc.currentId === model.id) ? 'active' : 'inactive') + antialiasing: item.state !== '' + + property string initial: model.name.substring(0,1).toUpperCase() + + Item { + id: title + width: 125 + height: 125 + anchors.centerIn: parent + Repeater { + delegate: Label { + style: Text.Outline + styleColor: 'red' + color: 'transparent' + font.pixelSize: 125 + anchors.centerIn: parent + anchors.horizontalCenterOffset: model.index / 3 - 1 + anchors.verticalCenterOffset: model.index % 3 - 1 + text: item.initial + } + model: main.icon === 'blank' ? 9 : 0 + } + layer.enabled: true + layer.effect: LinearGradient { + gradient: Gradient { + GradientStop { position: -0.5; color: "#6BFBFF" } + GradientStop { position: +1.5; color: "#00ADDC" } + } + } + } + } + Label { + id: name + anchors.top: item.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.margins: 20 + font.pixelSize: 25 + font.letterSpacing: 5 + wrapMode: Text.WordWrap + horizontalAlignment: Text.AlignHCenter + color: "white" + text: qsTr(model.name.toUpperCase()) + } + Behavior on x { enabled: item.state !== 'active'; NumberAnimation { duration: 400; easing.type: Easing.OutCubic } } Behavior on y { enabled: item.state !== 'active'; NumberAnimation { duration: 400; easing.type: Easing.OutCubic } } SequentialAnimation on rotation { @@ -21,12 +82,18 @@ Item { State { name: 'active' when: loc.currentId == model.id - PropertyChanges { target: item; x: loc.mouseX - width/2; y: loc.mouseY - height/2; scale: 1.15; z: 10 } + PropertyChanges { + target: container + x: loc.mouseX - width/2 + y: loc.mouseY - height/2 + scale: 1.15 + z: 10 + } }, State { when: loc.currentId !== '' PropertyChanges { - target: item + target: container scale: 0.85 opacity: 0.75 } diff --git a/homescreen/qml/MediaArea.qml b/homescreen/qml/MediaArea.qml index d7159d2..0447589 100644 --- a/homescreen/qml/MediaArea.qml +++ b/homescreen/qml/MediaArea.qml @@ -16,7 +16,7 @@ */ import QtQuick 2.2 -import QtQuick.Controls 1.0 +import QtQuick.Controls 2.0 StackView { id: root diff --git a/homescreen/qml/MediaAreaBlank.qml b/homescreen/qml/MediaAreaBlank.qml index 51fa657..2b888c8 100644 --- a/homescreen/qml/MediaAreaBlank.qml +++ b/homescreen/qml/MediaAreaBlank.qml @@ -42,7 +42,7 @@ Image { Image { id: logo_image anchors.centerIn: parent - source: './images/Utility_Logo_Colour-01.png' + source: './images/Utility_Logo_Grey-01.svg' } Timer { @@ -84,7 +84,7 @@ Image { font.pixelSize: 36 anchors.horizontalCenter: parent.horizontalCenter color: "white" - text: "Master Volume" + text: qsTr("Master Volume") } RowLayout { @@ -110,20 +110,6 @@ Image { if (pressed) {volume_timer.stop()} else {volume_timer.restart()} } - background: Rectangle { - id: slider_bg - height: 16 - color: "#59FF7F" - } - handle: Rectangle { - anchors.verticalCenter: slider_bg.verticalCenter - width: 48 - height: 48 - radius: 24 - x: slider.leftPadding + slider.visualPosition * (slider.availableWidth - width) - y: slider.topPadding + slider.availableHeight / 2 - height / 2 - color: "white" - } } Label { font.pixelSize: 36 diff --git a/homescreen/qml/MediaAreaMusic.qml b/homescreen/qml/MediaAreaMusic.qml index 927e82c..c0408e6 100644 --- a/homescreen/qml/MediaAreaMusic.qml +++ b/homescreen/qml/MediaAreaMusic.qml @@ -17,7 +17,7 @@ import QtQuick 2.2 import QtQuick.Layouts 1.1 -import QtQuick.Controls 1.0 +import QtQuick.Controls 2.0 Image { width: 1080 diff --git a/homescreen/qml/ShortcutArea.qml b/homescreen/qml/ShortcutArea.qml index 9be3fd0..e0c9182 100644 --- a/homescreen/qml/ShortcutArea.qml +++ b/homescreen/qml/ShortcutArea.qml @@ -1,6 +1,7 @@ /* * Copyright (C) 2016 The Qt Company Ltd. * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH + * Copyright (c) 2017 TOYOTA MOTOR CORPORATION * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,11 +28,11 @@ Item { ListModel { id: applicationModel ListElement { - name: 'Home' - application: '' + name: 'launcher' + application: 'launcher@0.1' } ListElement { - name: 'Multimedia' + name: 'MediaPlayer' application: 'mediaplayer@0.1' } ListElement { @@ -55,26 +56,17 @@ Item { Layout.fillWidth: true Layout.fillHeight: true name: model.name - active: model.application === launcher.current + active: model.name === launcher.current onClicked: { - if (0 === model.index) { - appLauncherAreaLauncher.visible = true - applicationArea.visible = false - layoutHandler.hideAppLayer() - launcher.current = '' + pid = launcher.launch(model.application) + if (1 < pid) { + applicationArea.visible = true } else { - pid = launcher.launch(model.application) - if (1 < pid) { - applicationArea.visible = true - appLauncherAreaLauncher.visible = false - layoutHandler.makeMeVisible(pid) - layoutHandler.showAppLayer(model.application, pid) - } - else { - console.warn("app cannot be launched!") - } + console.warn(model.application) + console.warn("app cannot be launched!") } + homescreenHandler.tapShortcut(model.name) } } } diff --git a/homescreen/qml/ShortcutIcon.qml b/homescreen/qml/ShortcutIcon.qml index 6f8e05e..1100a7c 100644 --- a/homescreen/qml/ShortcutIcon.qml +++ b/homescreen/qml/ShortcutIcon.qml @@ -16,6 +16,8 @@ */ import QtQuick 2.2 +import QtQuick.Controls 2.0 +import QtGraphicalEffects 1.0 MouseArea { id: root @@ -23,23 +25,62 @@ MouseArea { height: 216.8 property string name: 'Home' property bool active: false - Image { + Item { id: icon + property real desaturation: 0 anchors.fill: parent - source: './images/Shortcut/HMI_Shortcut_%1-01.png'.arg(root.name) + Image { + id: inactiveIcon + anchors.fill: parent + source: './images/Shortcut/%1.svg'.arg(root.name.toLowerCase()) + } + Image { + id: activeIcon + anchors.fill: parent + source: './images/Shortcut/%1_active.svg'.arg(root.name.toLowerCase()) + opacity: 0.0 + } + layer.enabled: true + layer.effect: Desaturate { + id: desaturate + desaturation: icon.desaturation + cached: true + } } - Image { - anchors.fill: parent - source: './images/Shortcut/HMI_Shortcut_%1_Active-01.png'.arg(root.name) - opacity: 1.0 - icon.opacity + Label { + id: name + y: 160 + width: root.width - 10 + font.pixelSize: 15 + font.letterSpacing: 5 + // wrapMode: Text.WordWrap + anchors.horizontalCenter: parent.horizontalCenter + horizontalAlignment: Text.AlignHCenter + color: "white" + text: qsTr(model.name.toUpperCase()) } states: [ State { - when: root.active + when: launcher.launching + PropertyChanges { + target: root + enabled: false + } PropertyChanges { target: icon + desaturation: 1.0 + } + }, + State { + when: root.active + PropertyChanges { + target: inactiveIcon opacity: 0.0 } + PropertyChanges { + target: activeIcon + opacity: 1.0 + } } ] @@ -47,8 +88,13 @@ MouseArea { Transition { NumberAnimation { properties: 'opacity' + duration: 500 easing.type: Easing.OutExpo } + NumberAnimation { + properties: 'desaturation' + duration: 250 + } } ] } diff --git a/homescreen/qml/StatusArea.qml b/homescreen/qml/StatusArea.qml index 3fc3079..ab14a23 100644 --- a/homescreen/qml/StatusArea.qml +++ b/homescreen/qml/StatusArea.qml @@ -17,7 +17,6 @@ import QtQuick 2.2 import QtQuick.Layouts 1.1 -import QtQuick.Controls 1.0 import HomeScreen 1.0 Item { @@ -31,6 +30,30 @@ Item { onTriggered: root.now = new Date } + Connections { + target: weather + + onConditionChanged: { + var icon = '' + + if (condition.indexOf("clouds") != -1) { + icon = "WeatherIcons_Cloudy-01.png" + } else if (condition.indexOf("thunderstorm") != -1) { + icon = "WeatherIcons_Thunderstorm-01.png" + } else if (condition.indexOf("snow") != -1) { + icon = "WeatherIcons_Snow-01.png" + } else if (condition.indexOf("rain") != -1) { + icon = "WeatherIcons_Rain-01.png" + } + + condition_item.source = icon ? './images/Weather/' + icon : '' + } + + onTemperatureChanged: { + temperature_item.text = temperature.split(".")[0] + '°F' + } + } + RowLayout { anchors.fill: parent spacing: 0 @@ -74,9 +97,11 @@ Item { Layout.fillHeight: true Layout.preferredHeight: 20 Image { + id: condition_item source: './images/Weather/WeatherIcons_Rain-01.png' } Text { + id: temperature_item text: '64°F' color: 'white' font.family: 'Helvetica' diff --git a/homescreen/qml/TopArea.qml b/homescreen/qml/TopArea.qml index 922742d..9cff3ed 100644 --- a/homescreen/qml/TopArea.qml +++ b/homescreen/qml/TopArea.qml @@ -17,6 +17,7 @@ import QtQuick 2.2 import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.0 Image { width: 1920 @@ -40,4 +41,19 @@ Image { Layout.preferredWidth: 295 } } + + Timer { + id: launching + interval: 500 + running: launcher.launching + } + + ProgressBar { + id: progressBar + anchors.verticalCenter: parent.bottom + anchors.left: parent.left + anchors.right: parent.right + indeterminate: visible + visible: launcher.launching && !launching.running + } } diff --git a/homescreen/qml/images/AGL_HMI_Background_NoCar-01.png b/homescreen/qml/images/AGL_HMI_Background_NoCar-01.png Binary files differdeleted file mode 100644 index 595f742..0000000 --- a/homescreen/qml/images/AGL_HMI_Background_NoCar-01.png +++ /dev/null diff --git a/homescreen/qml/images/AGL_HMI_Blue_Background_NoCar-01.png b/homescreen/qml/images/AGL_HMI_Blue_Background_NoCar-01.png Binary files differnew file mode 100644 index 0000000..357c204 --- /dev/null +++ b/homescreen/qml/images/AGL_HMI_Blue_Background_NoCar-01.png diff --git a/homescreen/qml/images/Home/AGL_HMI_Background_Car-01.png b/homescreen/qml/images/Home/AGL_HMI_Background_Car-01.png Binary files differdeleted file mode 100644 index b0072d8..0000000 --- a/homescreen/qml/images/Home/AGL_HMI_Background_Car-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_Connectivity_Active-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_Connectivity_Active-01.png Binary files differdeleted file mode 100644 index 888d0bd..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_Connectivity_Active-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_Connectivity_Inactive-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_Connectivity_Inactive-01.png Binary files differdeleted file mode 100644 index ab83b0e..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_Connectivity_Inactive-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_Dashboard_Active-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_Dashboard_Active-01.png Binary files differdeleted file mode 100644 index 11d39e5..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_Dashboard_Active-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_Dashboard_Inactive-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_Dashboard_Inactive-01.png Binary files differdeleted file mode 100644 index 6c0b914..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_Dashboard_Inactive-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_HVAC_Active-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_HVAC_Active-01.png Binary files differdeleted file mode 100644 index efc11e9..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_HVAC_Active-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_HVAC_Inactive-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_HVAC_Inactive-01.png Binary files differdeleted file mode 100644 index b528376..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_HVAC_Inactive-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_Mixer_Active-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_Mixer_Active-01.png Binary files differdeleted file mode 100644 index 41c499d..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_Mixer_Active-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_Mixer_Inactive-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_Mixer_Inactive-01.png Binary files differdeleted file mode 100644 index 93f81af..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_Mixer_Inactive-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_Multimedia_Active-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_Multimedia_Active-01.png Binary files differdeleted file mode 100644 index 1c99ac4..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_Multimedia_Active-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_Multimedia_Inactive-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_Multimedia_Inactive-01.png Binary files differdeleted file mode 100644 index 0bed61d..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_Multimedia_Inactive-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_Navigation_Active-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_Navigation_Active-01.png Binary files differdeleted file mode 100644 index e7ad085..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_Navigation_Active-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_Navigation_Inactive-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_Navigation_Inactive-01.png Binary files differdeleted file mode 100644 index dd40750..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_Navigation_Inactive-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_POI_Active-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_POI_Active-01.png Binary files differdeleted file mode 100644 index 2df01d3..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_POI_Active-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_POI_Inactive-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_POI_Inactive-01.png Binary files differdeleted file mode 100644 index ec62b87..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_POI_Inactive-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_Phone_Active-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_Phone_Active-01.png Binary files differdeleted file mode 100644 index 2150581..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_Phone_Active-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_Phone_Inactive-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_Phone_Inactive-01.png Binary files differdeleted file mode 100644 index 61dcedc..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_Phone_Inactive-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_Radio_Active-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_Radio_Active-01.png Binary files differdeleted file mode 100644 index 1aa5a01..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_Radio_Active-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_Radio_Inactive-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_Radio_Inactive-01.png Binary files differdeleted file mode 100644 index 616983e..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_Radio_Inactive-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_Settings_Active-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_Settings_Active-01.png Binary files differdeleted file mode 100644 index 1d13fd6..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_Settings_Active-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/HMI_AppLauncher_Settings_Inactive-01.png b/homescreen/qml/images/Home/HMI_AppLauncher_Settings_Inactive-01.png Binary files differdeleted file mode 100644 index 027f1fe..0000000 --- a/homescreen/qml/images/Home/HMI_AppLauncher_Settings_Inactive-01.png +++ /dev/null diff --git a/homescreen/qml/images/Home/home.qrc b/homescreen/qml/images/Home/home.qrc deleted file mode 100644 index e73633e..0000000 --- a/homescreen/qml/images/Home/home.qrc +++ /dev/null @@ -1,25 +0,0 @@ -<RCC> - <qresource prefix="/images"> - <file>AGL_HMI_Background_Car-01.png</file> - <file>HMI_AppLauncher_Connectivity_Active-01.png</file> - <file>HMI_AppLauncher_Connectivity_Inactive-01.png</file> - <file>HMI_AppLauncher_Dashboard_Active-01.png</file> - <file>HMI_AppLauncher_Dashboard_Inactive-01.png</file> - <file>HMI_AppLauncher_HVAC_Active-01.png</file> - <file>HMI_AppLauncher_HVAC_Inactive-01.png</file> - <file>HMI_AppLauncher_Mixer_Active-01.png</file> - <file>HMI_AppLauncher_Mixer_Inactive-01.png</file> - <file>HMI_AppLauncher_Multimedia_Active-01.png</file> - <file>HMI_AppLauncher_Multimedia_Inactive-01.png</file> - <file>HMI_AppLauncher_Navigation_Active-01.png</file> - <file>HMI_AppLauncher_Navigation_Inactive-01.png</file> - <file>HMI_AppLauncher_Phone_Active-01.png</file> - <file>HMI_AppLauncher_Phone_Inactive-01.png</file> - <file>HMI_AppLauncher_POI_Active-01.png</file> - <file>HMI_AppLauncher_POI_Inactive-01.png</file> - <file>HMI_AppLauncher_Radio_Active-01.png</file> - <file>HMI_AppLauncher_Radio_Inactive-01.png</file> - <file>HMI_AppLauncher_Settings_Active-01.png</file> - <file>HMI_AppLauncher_Settings_Inactive-01.png</file> - </qresource> -</RCC> diff --git a/homescreen/qml/images/Shortcut/HMI_Shortcut_HVAC-01.png b/homescreen/qml/images/Shortcut/HMI_Shortcut_HVAC-01.png Binary files differdeleted file mode 100644 index f5188f5..0000000 --- a/homescreen/qml/images/Shortcut/HMI_Shortcut_HVAC-01.png +++ /dev/null diff --git a/homescreen/qml/images/Shortcut/HMI_Shortcut_HVAC_Active-01.png b/homescreen/qml/images/Shortcut/HMI_Shortcut_HVAC_Active-01.png Binary files differdeleted file mode 100644 index abe92d2..0000000 --- a/homescreen/qml/images/Shortcut/HMI_Shortcut_HVAC_Active-01.png +++ /dev/null diff --git a/homescreen/qml/images/Shortcut/HMI_Shortcut_Home-01.png b/homescreen/qml/images/Shortcut/HMI_Shortcut_Home-01.png Binary files differdeleted file mode 100644 index 9aca151..0000000 --- a/homescreen/qml/images/Shortcut/HMI_Shortcut_Home-01.png +++ /dev/null diff --git a/homescreen/qml/images/Shortcut/HMI_Shortcut_Home_Active-01.png b/homescreen/qml/images/Shortcut/HMI_Shortcut_Home_Active-01.png Binary files differdeleted file mode 100644 index 696168f..0000000 --- a/homescreen/qml/images/Shortcut/HMI_Shortcut_Home_Active-01.png +++ /dev/null diff --git a/homescreen/qml/images/Shortcut/HMI_Shortcut_Multimedia-01.png b/homescreen/qml/images/Shortcut/HMI_Shortcut_Multimedia-01.png Binary files differdeleted file mode 100644 index 229860c..0000000 --- a/homescreen/qml/images/Shortcut/HMI_Shortcut_Multimedia-01.png +++ /dev/null diff --git a/homescreen/qml/images/Shortcut/HMI_Shortcut_Multimedia_Active-01.png b/homescreen/qml/images/Shortcut/HMI_Shortcut_Multimedia_Active-01.png Binary files differdeleted file mode 100644 index b0a023c..0000000 --- a/homescreen/qml/images/Shortcut/HMI_Shortcut_Multimedia_Active-01.png +++ /dev/null diff --git a/homescreen/qml/images/Shortcut/HMI_Shortcut_Navigation-01.png b/homescreen/qml/images/Shortcut/HMI_Shortcut_Navigation-01.png Binary files differdeleted file mode 100644 index 34b0671..0000000 --- a/homescreen/qml/images/Shortcut/HMI_Shortcut_Navigation-01.png +++ /dev/null diff --git a/homescreen/qml/images/Shortcut/HMI_Shortcut_Navigation_Active-01.png b/homescreen/qml/images/Shortcut/HMI_Shortcut_Navigation_Active-01.png Binary files differdeleted file mode 100644 index 98e6146..0000000 --- a/homescreen/qml/images/Shortcut/HMI_Shortcut_Navigation_Active-01.png +++ /dev/null diff --git a/homescreen/qml/images/Shortcut/hvac.svg b/homescreen/qml/images/Shortcut/hvac.svg new file mode 100644 index 0000000..5c76e85 --- /dev/null +++ b/homescreen/qml/images/Shortcut/hvac.svg @@ -0,0 +1,600 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/"> + <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/"> + <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/"> + <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/"> + <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/"> + <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/"> + <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/"> + <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/"> +]> +<svg version="1.1" id="HVAC" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 195 216.8" + style="enable-background:new 0 0 195 216.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} + .st1{font-family:'Roboto-Regular';} + .st2{font-size:11px;} + .st3{letter-spacing:2;} + .st4{fill:url(#SVGID_1_);} + .st5{fill:url(#SVGID_2_);} + .st6{fill:url(#SVGID_3_);} + .st7{fill:url(#SVGID_4_);} + .st8{fill:url(#SVGID_5_);} + .st9{fill:url(#SVGID_6_);} + .st10{fill:url(#SVGID_7_);} + .st11{fill:url(#SVGID_8_);} + .st12{fill:url(#SVGID_9_);} + .st13{fill:url(#SVGID_10_);} + .st14{fill:url(#SVGID_11_);} + .st15{fill:url(#SVGID_12_);} + .st16{fill:url(#SVGID_13_);} + .st17{fill:url(#SVGID_14_);} + .st18{fill:url(#SVGID_15_);} + .st19{fill:url(#SVGID_16_);} +</style> +<switch> + <g i:extraneous="self"> + <g> + <g id="HVAC_Icon_2_"> + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="97.4991" y1="166.6087" x2="97.4991" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st4" d="M106.2,113.4V81.3c0-4.9-3.9-8.8-8.7-8.8c-4.8,0-8.7,4-8.7,8.8v1.2H91v-1.2c0-3.7,2.9-6.6,6.5-6.6 + c3.6,0,6.5,3,6.5,6.6v33.3l0.5,0.3c3.8,2.4,6.1,6.5,6.1,11c0,7.2-5.8,13.1-13,13.1c-7.3,0-13.2-5.9-13.2-13.1 + c0-4.6,2.3-8.8,6-11.1l0.5-0.3V88.3h-2.2v25c-4.1,2.8-6.5,7.5-6.5,12.6c0,8.4,6.9,15.3,15.3,15.3c8.4,0,15.2-6.9,15.2-15.3 + C112.8,120.9,110.3,116.2,106.2,113.4z"/> + <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="97.4991" y1="166.6087" x2="97.4991" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st5" d="M97.6,98.6c-4,0-4.4,2.4-4.4,3.5v13.7l-1.4,0.9c-3.2,2-5.2,5.5-5.2,9.3c0,6,4.9,10.9,10.9,10.9 + c2,0,4-0.6,5.8-1.6l-1.2-1.9c-1.4,0.9-3,1.3-4.6,1.3c-4.8,0-8.7-3.9-8.7-8.7c0-3,1.5-5.8,4.1-7.4l2.5-1.5v-14.9 + c0-0.4,0-1.3,2.2-1.3c2.1,0,2.1,0.6,2.1,1.2V117l2.5,1.6c2.5,1.6,4,4.4,4,7.3h2.2c0-3.7-1.9-7.2-5-9.2l-1.5-1V102 + C101.9,100.5,101.1,98.6,97.6,98.6z"/> + <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="82.7742" y1="166.6087" x2="82.7742" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st6" points="80.1,80.1 80.1,80.1 80.2,80.1 80.2,80.1 80.2,80.1 80.2,80.1 80.3,80.1 80.3,80.1 80.3,80.1 + 80.4,80.1 80.4,80.1 80.4,80.1 80.4,80.1 80.5,80.1 80.5,80.1 80.5,80.1 80.6,80.1 80.6,80.1 80.6,80.1 80.6,80.1 80.7,80.1 + 80.7,80.1 80.7,80.1 80.8,80.1 80.8,80.1 80.8,80.1 80.8,80.1 80.9,80.1 80.9,80.1 80.9,80.1 81,80.1 81,80.1 81,80.1 81,80.1 + 81.1,80.1 81.1,80.1 81.1,80.1 81.2,80.1 81.2,80.1 81.2,80.1 81.2,80.1 81.3,80.1 81.3,80.1 81.3,80.1 81.4,80.1 81.4,80.1 + 81.4,80.1 81.4,80.1 81.5,80.1 81.5,80.1 81.5,80.1 81.6,80.1 81.6,80.1 81.6,80.1 81.6,80.1 81.7,80.1 81.7,80.1 81.7,80.1 + 81.8,80.1 81.8,80.1 81.8,80.1 81.8,80.1 81.9,80.1 81.9,80.1 81.9,80.1 82,80.1 82,80.1 82,80.1 82,80.1 82.1,80.1 82.1,80.1 + 82.1,80.1 82.1,80.1 82.2,80.1 82.2,80.1 82.2,80.1 82.3,80.1 82.3,80.1 82.3,80.1 82.3,80.1 82.4,80.1 82.4,80.1 82.4,80.1 + 82.5,80.1 82.5,80.1 82.5,80.1 82.5,80.1 82.6,80.1 82.6,80.1 82.6,80.1 82.7,80.1 82.7,80.1 82.7,80.1 82.7,80.1 82.8,80.1 + 82.8,80.1 82.8,80.1 82.9,80.1 82.9,80.1 82.9,80.1 82.9,80.1 83,80.1 83,80.1 83,80.1 83.1,80.1 83.1,80.1 83.1,80.1 + 83.1,80.1 83.2,80.1 83.2,80.1 83.2,80.1 83.3,80.1 83.3,80.1 83.3,80.1 83.3,80.1 83.4,80.1 83.4,80.1 83.4,80.1 83.5,80.1 + 83.5,80.1 83.5,80.1 83.5,80.1 83.6,80.1 83.6,80.1 83.6,80.1 83.7,80.1 83.7,80.1 83.7,80.1 83.7,80.1 83.8,80.1 83.8,80.1 + 83.8,80.1 83.9,80.1 83.9,80.1 83.9,80.1 83.9,80.1 84,80.1 84,80.1 84,80.1 84.1,80.1 84.1,80.1 84.1,80.1 84.1,80.1 + 84.2,80.1 84.2,80.1 84.2,80.1 84.3,80.1 84.3,80.1 84.3,80.1 84.3,80.1 84.4,80.1 84.4,80.1 84.4,80.1 84.5,80.1 84.5,80.1 + 84.5,80.1 84.5,80.1 84.6,80.1 84.6,80.1 84.6,80.1 84.6,80.1 84.7,80.1 84.7,80.1 84.7,80.1 84.8,80.1 84.8,80.1 84.8,80.1 + 84.8,80.1 84.9,80.1 84.9,80.1 84.9,80.1 85,80.1 85,80.1 85,80.1 85,80.1 85.1,80.1 85.1,80.1 85.1,80.1 85.2,80.1 85.2,80.1 + 85.2,80.1 85.2,80.1 85.3,80.1 85.3,80.1 85.3,80.1 85.4,80.1 85.4,80.1 85.4,80.1 85.4,80.1 85.5,80.1 85.5,80.1 85.5,78 + 85.5,78 85.4,78 85.4,78 85.4,78 85.4,78 85.3,78 85.3,78 85.3,78 85.2,78 85.2,78 85.2,78 85.2,78 85.1,78 85.1,78 85.1,78 + 85,78 85,78 85,78 85,78 84.9,78 84.9,78 84.9,78 84.8,78 84.8,78 84.8,78 84.8,78 84.7,78 84.7,78 84.7,78 84.6,78 84.6,78 + 84.6,78 84.6,78 84.5,78 84.5,78 84.5,78 84.5,78 84.4,78 84.4,78 84.4,78 84.3,78 84.3,78 84.3,78 84.3,78 84.2,78 84.2,78 + 84.2,78 84.1,78 84.1,78 84.1,78 84.1,78 84,78 84,78 84,78 83.9,78 83.9,78 83.9,78 83.9,78 83.8,78 83.8,78 83.8,78 83.7,78 + 83.7,78 83.7,78 83.7,78 83.6,78 83.6,78 83.6,78 83.5,78 83.5,78 83.5,78 83.5,78 83.4,78 83.4,78 83.4,78 83.3,78 83.3,78 + 83.3,78 83.3,78 83.2,78 83.2,78 83.2,78 83.1,78 83.1,78 83.1,78 83.1,78 83,78 83,78 83,78 82.9,78 82.9,78 82.9,78 82.9,78 + 82.8,78 82.8,78 82.8,78 82.7,78 82.7,78 82.7,78 82.7,78 82.6,78 82.6,78 82.6,78 82.5,78 82.5,78 82.5,78 82.5,78 82.4,78 + 82.4,78 82.4,78 82.3,78 82.3,78 82.3,78 82.3,78 82.2,78 82.2,78 82.2,78 82.1,78 82.1,78 82.1,78 82.1,78 82,78 82,78 82,78 + 82,78 81.9,78 81.9,78 81.9,78 81.8,78 81.8,78 81.8,78 81.8,78 81.7,78 81.7,78 81.7,78 81.6,78 81.6,78 81.6,78 81.6,78 + 81.5,78 81.5,78 81.5,78 81.4,78 81.4,78 81.4,78 81.4,78 81.3,78 81.3,78 81.3,78 81.2,78 81.2,78 81.2,78 81.2,78 81.1,78 + 81.1,78 81.1,78 81,78 81,78 81,78 81,78 80.9,78 80.9,78 80.9,78 80.8,78 80.8,78 80.8,78 80.8,78 80.7,78 80.7,78 80.7,78 + 80.6,78 80.6,78 80.6,78 80.6,78 80.5,78 80.5,78 80.5,78 80.4,78 80.4,78 80.4,78 80.4,78 80.3,78 80.3,78 80.3,78 80.2,78 + 80.2,78 80.2,78 80.2,78 80.1,78 80.1,78 80.1,78 80,78 80,80.1 80.1,80.1 "/> + <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="83.865" y1="166.6087" x2="83.865" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st7" points="85.4,83.5 85.4,83.5 85.4,83.5 85.4,83.5 85.4,83.5 85.4,83.5 85.3,83.5 85.3,83.5 85.3,83.5 + 85.3,83.5 85.3,83.5 85.3,83.5 85.2,83.5 85.2,83.5 85.2,83.5 85.2,83.5 85.2,83.5 85.2,83.5 85.1,83.5 85.1,83.5 85.1,83.5 + 85.1,83.5 85.1,83.5 85.1,83.5 85,83.5 85,83.5 85,83.5 85,83.5 85,83.5 85,83.5 84.9,83.5 84.9,83.5 84.9,83.5 84.9,83.5 + 84.9,83.5 84.9,83.5 84.8,83.5 84.8,83.5 84.8,83.5 84.8,83.5 84.8,83.5 84.8,83.5 84.7,83.5 84.7,83.5 84.7,83.5 84.7,83.5 + 84.7,83.5 84.6,83.5 84.6,83.5 84.6,83.5 84.6,83.5 84.6,83.5 84.6,83.5 84.5,83.5 84.5,83.5 84.5,83.5 84.5,83.5 84.5,83.5 + 84.5,83.5 84.4,83.5 84.4,83.5 84.4,83.5 84.4,83.5 84.4,83.5 84.4,83.5 84.3,83.5 84.3,83.5 84.3,83.5 84.3,83.5 84.3,83.5 + 84.3,83.5 84.2,83.5 84.2,83.5 84.2,83.5 84.2,83.5 84.2,83.5 84.2,83.5 84.1,83.5 84.1,83.5 84.1,83.5 84.1,83.5 84.1,83.5 + 84.1,83.5 84,83.5 84,83.5 84,83.5 84,83.5 84,83.5 84,83.5 83.9,83.5 83.9,83.5 83.9,83.5 83.9,83.5 83.9,83.5 83.8,83.5 + 83.8,83.5 83.8,83.5 83.8,83.5 83.8,83.5 83.8,83.5 83.7,83.5 83.7,83.5 83.7,83.5 83.7,83.5 83.7,83.5 83.7,83.5 83.6,83.5 + 83.6,83.5 83.6,83.5 83.6,83.5 83.6,83.5 83.6,83.5 83.5,83.5 83.5,83.5 83.5,83.5 83.5,83.5 83.5,83.5 83.5,83.5 83.4,83.5 + 83.4,83.5 83.4,83.5 83.4,83.5 83.4,83.5 83.4,83.5 83.3,83.5 83.3,83.5 83.3,83.5 83.3,83.5 83.3,83.5 83.3,83.5 83.2,83.5 + 83.2,83.5 83.2,83.5 83.2,83.5 83.2,83.5 83.1,83.5 83.1,83.5 83.1,83.5 83.1,83.5 83.1,83.5 83.1,83.5 83,83.5 83,83.5 + 83,83.5 83,83.5 83,83.5 83,83.5 82.9,83.5 82.9,83.5 82.9,83.5 82.9,83.5 82.9,83.5 82.9,83.5 82.8,83.5 82.8,83.5 82.8,83.5 + 82.8,83.5 82.8,83.5 82.8,83.5 82.7,83.5 82.7,83.5 82.7,83.5 82.7,83.5 82.7,83.5 82.7,83.5 82.6,83.5 82.6,83.5 82.6,83.5 + 82.6,83.5 82.6,83.5 82.6,83.5 82.5,83.5 82.5,83.5 82.5,83.5 82.5,83.5 82.5,83.5 82.5,83.5 82.4,83.5 82.4,83.5 82.4,83.5 + 82.4,83.5 82.4,83.5 82.3,83.5 82.3,83.5 82.3,83.5 82.3,83.5 82.3,83.5 82.3,83.5 82.2,83.5 82.2,83.5 82.2,85.5 82.2,85.5 + 82.3,85.5 82.3,85.5 82.3,85.5 82.3,85.5 82.3,85.5 82.3,85.5 82.4,85.5 82.4,85.5 82.4,85.5 82.4,85.5 82.4,85.5 82.5,85.5 + 82.5,85.5 82.5,85.5 82.5,85.5 82.5,85.5 82.5,85.5 82.6,85.5 82.6,85.5 82.6,85.5 82.6,85.5 82.6,85.5 82.6,85.5 82.7,85.5 + 82.7,85.5 82.7,85.5 82.7,85.5 82.7,85.5 82.7,85.5 82.8,85.5 82.8,85.5 82.8,85.5 82.8,85.5 82.8,85.5 82.8,85.5 82.9,85.5 + 82.9,85.5 82.9,85.5 82.9,85.5 82.9,85.5 82.9,85.5 83,85.5 83,85.5 83,85.5 83,85.5 83,85.5 83,85.5 83.1,85.5 83.1,85.5 + 83.1,85.5 83.1,85.5 83.1,85.5 83.1,85.5 83.2,85.5 83.2,85.5 83.2,85.5 83.2,85.5 83.2,85.5 83.3,85.5 83.3,85.5 83.3,85.5 + 83.3,85.5 83.3,85.5 83.3,85.5 83.4,85.5 83.4,85.5 83.4,85.5 83.4,85.5 83.4,85.5 83.4,85.5 83.5,85.5 83.5,85.5 83.5,85.5 + 83.5,85.5 83.5,85.5 83.5,85.5 83.6,85.5 83.6,85.5 83.6,85.5 83.6,85.5 83.6,85.5 83.6,85.5 83.7,85.5 83.7,85.5 83.7,85.5 + 83.7,85.5 83.7,85.5 83.7,85.5 83.8,85.5 83.8,85.5 83.8,85.5 83.8,85.5 83.8,85.5 83.8,85.5 83.9,85.5 83.9,85.5 83.9,85.5 + 83.9,85.5 83.9,85.5 84,85.5 84,85.5 84,85.5 84,85.5 84,85.5 84,85.5 84.1,85.5 84.1,85.5 84.1,85.5 84.1,85.5 84.1,85.5 + 84.1,85.5 84.2,85.5 84.2,85.5 84.2,85.5 84.2,85.5 84.2,85.5 84.2,85.5 84.3,85.5 84.3,85.5 84.3,85.5 84.3,85.5 84.3,85.5 + 84.3,85.5 84.4,85.5 84.4,85.5 84.4,85.5 84.4,85.5 84.4,85.5 84.4,85.5 84.5,85.5 84.5,85.5 84.5,85.5 84.5,85.5 84.5,85.5 + 84.5,85.5 84.6,85.5 84.6,85.5 84.6,85.5 84.6,85.5 84.6,85.5 84.6,85.5 84.7,85.5 84.7,85.5 84.7,85.5 84.7,85.5 84.7,85.5 + 84.8,85.5 84.8,85.5 84.8,85.5 84.8,85.5 84.8,85.5 84.8,85.5 84.9,85.5 84.9,85.5 84.9,85.5 84.9,85.5 84.9,85.5 84.9,85.5 + 85,85.5 85,85.5 85,85.5 85,85.5 85,85.5 85,85.5 85.1,85.5 85.1,85.5 85.1,85.5 85.1,85.5 85.1,85.5 85.1,85.5 85.2,85.5 + 85.2,85.5 85.2,85.5 85.2,85.5 85.2,85.5 85.2,85.5 85.3,85.5 85.3,85.5 85.3,85.5 85.3,85.5 85.3,85.5 85.3,85.5 85.4,85.5 + 85.4,85.5 85.4,85.5 85.4,85.5 85.4,85.5 85.4,85.5 85.5,85.5 85.5,85.5 85.5,85.5 85.5,83.5 85.5,83.5 85.5,83.5 "/> + <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="82.7742" y1="166.6087" x2="82.7742" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st8" points="80.1,91 80.1,91 80.2,91 80.2,91 80.2,91 80.2,91 80.3,91 80.3,91 80.3,91 80.4,91 80.4,91 + 80.4,91 80.4,91 80.5,91 80.5,91 80.5,91 80.6,91 80.6,91 80.6,91 80.6,91 80.7,91 80.7,91 80.7,91 80.8,91 80.8,91 80.8,91 + 80.8,91 80.9,91 80.9,91 80.9,91 81,91 81,91 81,91 81,91 81.1,91 81.1,91 81.1,91 81.2,91 81.2,91 81.2,91 81.2,91 81.3,91 + 81.3,91 81.3,91 81.4,91 81.4,91 81.4,91 81.4,91 81.5,91 81.5,91 81.5,91 81.6,91 81.6,91 81.6,91 81.6,91 81.7,91 81.7,91 + 81.7,91 81.8,91 81.8,91 81.8,91 81.8,91 81.9,91 81.9,91 81.9,91 82,91 82,91 82,91 82,91 82.1,91 82.1,91 82.1,91 82.1,91 + 82.2,91 82.2,91 82.2,91 82.3,91 82.3,91 82.3,91 82.3,91 82.4,91 82.4,91 82.4,91 82.5,91 82.5,91 82.5,91 82.5,91 82.6,91 + 82.6,91 82.6,91 82.7,91 82.7,91 82.7,91 82.7,91 82.8,91 82.8,91 82.8,91 82.9,91 82.9,91 82.9,91 82.9,91 83,91 83,91 83,91 + 83.1,91 83.1,91 83.1,91 83.1,91 83.2,91 83.2,91 83.2,91 83.3,91 83.3,91 83.3,91 83.3,91 83.4,91 83.4,91 83.4,91 83.5,91 + 83.5,91 83.5,91 83.5,91 83.6,91 83.6,91 83.6,91 83.7,91 83.7,91 83.7,91 83.7,91 83.8,91 83.8,91 83.8,91 83.9,91 83.9,91 + 83.9,91 83.9,91 84,91 84,91 84,91 84.1,91 84.1,91 84.1,91 84.1,91 84.2,91 84.2,91 84.2,91 84.3,91 84.3,91 84.3,91 84.3,91 + 84.4,91 84.4,91 84.4,91 84.5,91 84.5,91 84.5,91 84.5,91 84.6,91 84.6,91 84.6,91 84.6,91 84.7,91 84.7,91 84.7,91 84.8,91 + 84.8,91 84.8,91 84.8,91 84.9,91 84.9,91 84.9,91 85,91 85,91 85,91 85,91 85.1,91 85.1,91 85.1,91 85.2,91 85.2,91 85.2,91 + 85.2,91 85.3,91 85.3,91 85.3,91 85.4,91 85.4,91 85.4,91 85.4,91 85.5,91 85.5,91 85.5,88.9 85.5,88.9 85.4,88.9 85.4,88.9 + 85.4,88.9 85.4,88.9 85.3,88.9 85.3,88.9 85.3,88.9 85.2,88.9 85.2,88.9 85.2,88.9 85.2,88.9 85.1,88.9 85.1,88.9 85.1,88.9 + 85,88.9 85,88.9 85,88.9 85,88.9 84.9,88.9 84.9,88.9 84.9,88.9 84.8,88.9 84.8,88.9 84.8,88.9 84.8,88.9 84.7,88.9 84.7,88.9 + 84.7,88.9 84.6,88.9 84.6,88.9 84.6,88.9 84.6,88.9 84.5,88.9 84.5,88.9 84.5,88.9 84.5,88.9 84.4,88.9 84.4,88.9 84.4,88.9 + 84.3,88.9 84.3,88.9 84.3,88.9 84.3,88.9 84.2,88.9 84.2,88.9 84.2,88.9 84.1,88.9 84.1,88.9 84.1,88.9 84.1,88.9 84,88.9 + 84,88.9 84,88.9 83.9,88.9 83.9,88.9 83.9,88.9 83.9,88.9 83.8,88.9 83.8,88.9 83.8,88.9 83.7,88.9 83.7,88.9 83.7,88.9 + 83.7,88.9 83.6,88.9 83.6,88.9 83.6,88.9 83.5,88.9 83.5,88.9 83.5,88.9 83.5,88.9 83.4,88.9 83.4,88.9 83.4,88.9 83.3,88.9 + 83.3,88.9 83.3,88.9 83.3,88.9 83.2,88.9 83.2,88.9 83.2,88.9 83.1,88.9 83.1,88.9 83.1,88.9 83.1,88.9 83,88.9 83,88.9 + 83,88.9 82.9,88.9 82.9,88.9 82.9,88.9 82.9,88.9 82.8,88.9 82.8,88.9 82.8,88.9 82.7,88.9 82.7,88.9 82.7,88.9 82.7,88.9 + 82.6,88.9 82.6,88.9 82.6,88.9 82.5,88.9 82.5,88.9 82.5,88.9 82.5,88.9 82.4,88.9 82.4,88.9 82.4,88.9 82.3,88.9 82.3,88.9 + 82.3,88.9 82.3,88.9 82.2,88.9 82.2,88.9 82.2,88.9 82.1,88.9 82.1,88.9 82.1,88.9 82.1,88.9 82,88.9 82,88.9 82,88.9 82,88.9 + 81.9,88.9 81.9,88.9 81.9,88.9 81.8,88.9 81.8,88.9 81.8,88.9 81.8,88.9 81.7,88.9 81.7,88.9 81.7,88.9 81.6,88.9 81.6,88.9 + 81.6,88.9 81.6,88.9 81.5,88.9 81.5,88.9 81.5,88.9 81.4,88.9 81.4,88.9 81.4,88.9 81.4,88.9 81.3,88.9 81.3,88.9 81.3,88.9 + 81.2,88.9 81.2,88.9 81.2,88.9 81.2,88.9 81.1,88.9 81.1,88.9 81.1,88.9 81,88.9 81,88.9 81,88.9 81,88.9 80.9,88.9 80.9,88.9 + 80.9,88.9 80.8,88.9 80.8,88.9 80.8,88.9 80.8,88.9 80.7,88.9 80.7,88.9 80.7,88.9 80.6,88.9 80.6,88.9 80.6,88.9 80.6,88.9 + 80.5,88.9 80.5,88.9 80.5,88.9 80.4,88.9 80.4,88.9 80.4,88.9 80.4,88.9 80.3,88.9 80.3,88.9 80.3,88.9 80.2,88.9 80.2,88.9 + 80.2,88.9 80.2,88.9 80.1,88.9 80.1,88.9 80.1,88.9 80,88.9 80,91 80.1,91 "/> + <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="83.865" y1="166.6087" x2="83.865" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st9" points="85.4,94.4 85.4,94.4 85.4,94.4 85.4,94.4 85.4,94.4 85.4,94.4 85.3,94.4 85.3,94.4 85.3,94.4 + 85.3,94.4 85.3,94.4 85.3,94.4 85.2,94.4 85.2,94.4 85.2,94.4 85.2,94.4 85.2,94.4 85.2,94.4 85.1,94.4 85.1,94.4 85.1,94.4 + 85.1,94.4 85.1,94.4 85.1,94.4 85,94.4 85,94.4 85,94.4 85,94.4 85,94.4 85,94.4 84.9,94.4 84.9,94.4 84.9,94.4 84.9,94.4 + 84.9,94.4 84.9,94.4 84.8,94.4 84.8,94.4 84.8,94.4 84.8,94.4 84.8,94.4 84.8,94.4 84.7,94.4 84.7,94.4 84.7,94.4 84.7,94.4 + 84.7,94.4 84.6,94.4 84.6,94.4 84.6,94.4 84.6,94.4 84.6,94.4 84.6,94.4 84.5,94.4 84.5,94.4 84.5,94.4 84.5,94.4 84.5,94.4 + 84.5,94.4 84.4,94.4 84.4,94.4 84.4,94.4 84.4,94.4 84.4,94.4 84.4,94.4 84.3,94.4 84.3,94.4 84.3,94.4 84.3,94.4 84.3,94.4 + 84.3,94.4 84.2,94.4 84.2,94.4 84.2,94.4 84.2,94.4 84.2,94.4 84.2,94.4 84.1,94.4 84.1,94.4 84.1,94.4 84.1,94.4 84.1,94.4 + 84.1,94.4 84,94.4 84,94.4 84,94.4 84,94.4 84,94.4 84,94.4 83.9,94.4 83.9,94.4 83.9,94.4 83.9,94.4 83.9,94.4 83.8,94.4 + 83.8,94.4 83.8,94.4 83.8,94.4 83.8,94.4 83.8,94.4 83.7,94.4 83.7,94.4 83.7,94.4 83.7,94.4 83.7,94.4 83.7,94.4 83.6,94.4 + 83.6,94.4 83.6,94.4 83.6,94.4 83.6,94.4 83.6,94.4 83.5,94.4 83.5,94.4 83.5,94.4 83.5,94.4 83.5,94.4 83.5,94.4 83.4,94.4 + 83.4,94.4 83.4,94.4 83.4,94.4 83.4,94.4 83.4,94.4 83.3,94.4 83.3,94.4 83.3,94.4 83.3,94.4 83.3,94.4 83.3,94.4 83.2,94.4 + 83.2,94.4 83.2,94.4 83.2,94.4 83.2,94.4 83.1,94.4 83.1,94.4 83.1,94.4 83.1,94.4 83.1,94.4 83.1,94.4 83,94.4 83,94.4 + 83,94.4 83,94.4 83,94.4 83,94.4 82.9,94.4 82.9,94.4 82.9,94.4 82.9,94.4 82.9,94.4 82.9,94.4 82.8,94.4 82.8,94.4 82.8,94.4 + 82.8,94.4 82.8,94.4 82.8,94.4 82.7,94.4 82.7,94.4 82.7,94.4 82.7,94.4 82.7,94.4 82.7,94.4 82.6,94.4 82.6,94.4 82.6,94.4 + 82.6,94.4 82.6,94.4 82.6,94.4 82.5,94.4 82.5,94.4 82.5,94.4 82.5,94.4 82.5,94.4 82.5,94.4 82.4,94.4 82.4,94.4 82.4,94.4 + 82.4,94.4 82.4,94.4 82.3,94.4 82.3,94.4 82.3,94.4 82.3,94.4 82.3,94.4 82.3,94.4 82.2,94.4 82.2,94.4 82.2,96.5 82.2,96.5 + 82.3,96.5 82.3,96.5 82.3,96.5 82.3,96.5 82.3,96.5 82.3,96.5 82.4,96.5 82.4,96.5 82.4,96.5 82.4,96.5 82.4,96.5 82.5,96.5 + 82.5,96.5 82.5,96.5 82.5,96.5 82.5,96.5 82.5,96.5 82.6,96.5 82.6,96.5 82.6,96.5 82.6,96.5 82.6,96.5 82.6,96.5 82.7,96.5 + 82.7,96.5 82.7,96.5 82.7,96.5 82.7,96.5 82.7,96.5 82.8,96.5 82.8,96.5 82.8,96.5 82.8,96.5 82.8,96.5 82.8,96.5 82.9,96.5 + 82.9,96.5 82.9,96.5 82.9,96.5 82.9,96.5 82.9,96.5 83,96.5 83,96.5 83,96.5 83,96.5 83,96.5 83,96.5 83.1,96.5 83.1,96.5 + 83.1,96.5 83.1,96.5 83.1,96.5 83.1,96.5 83.2,96.5 83.2,96.5 83.2,96.5 83.2,96.5 83.2,96.5 83.3,96.5 83.3,96.5 83.3,96.5 + 83.3,96.5 83.3,96.5 83.3,96.5 83.4,96.5 83.4,96.5 83.4,96.5 83.4,96.5 83.4,96.5 83.4,96.5 83.5,96.5 83.5,96.5 83.5,96.5 + 83.5,96.5 83.5,96.5 83.5,96.5 83.6,96.5 83.6,96.5 83.6,96.5 83.6,96.5 83.6,96.5 83.6,96.5 83.7,96.5 83.7,96.5 83.7,96.5 + 83.7,96.5 83.7,96.5 83.7,96.5 83.8,96.5 83.8,96.5 83.8,96.5 83.8,96.5 83.8,96.5 83.8,96.5 83.9,96.5 83.9,96.5 83.9,96.5 + 83.9,96.5 83.9,96.5 84,96.5 84,96.5 84,96.5 84,96.5 84,96.5 84,96.5 84.1,96.5 84.1,96.5 84.1,96.5 84.1,96.5 84.1,96.5 + 84.1,96.5 84.2,96.5 84.2,96.5 84.2,96.5 84.2,96.5 84.2,96.5 84.2,96.5 84.3,96.5 84.3,96.5 84.3,96.5 84.3,96.5 84.3,96.5 + 84.3,96.5 84.4,96.5 84.4,96.5 84.4,96.5 84.4,96.5 84.4,96.5 84.4,96.5 84.5,96.5 84.5,96.5 84.5,96.5 84.5,96.5 84.5,96.5 + 84.5,96.5 84.6,96.5 84.6,96.5 84.6,96.5 84.6,96.5 84.6,96.5 84.6,96.5 84.7,96.5 84.7,96.5 84.7,96.5 84.7,96.5 84.7,96.5 + 84.8,96.5 84.8,96.5 84.8,96.5 84.8,96.5 84.8,96.5 84.8,96.5 84.9,96.5 84.9,96.5 84.9,96.5 84.9,96.5 84.9,96.5 84.9,96.5 + 85,96.5 85,96.5 85,96.5 85,96.5 85,96.5 85,96.5 85.1,96.5 85.1,96.5 85.1,96.5 85.1,96.5 85.1,96.5 85.1,96.5 85.2,96.5 + 85.2,96.5 85.2,96.5 85.2,96.5 85.2,96.5 85.2,96.5 85.3,96.5 85.3,96.5 85.3,96.5 85.3,96.5 85.3,96.5 85.3,96.5 85.4,96.5 + 85.4,96.5 85.4,96.5 85.4,96.5 85.4,96.5 85.4,96.5 85.5,96.5 85.5,96.5 85.5,96.5 85.5,94.4 85.5,94.4 85.5,94.4 "/> + <linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="82.7742" y1="166.6087" x2="82.7742" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st10" points="80.1,101.9 80.1,101.9 80.2,101.9 80.2,101.9 80.2,101.9 80.2,101.9 80.3,101.9 80.3,101.9 + 80.3,101.9 80.4,101.9 80.4,101.9 80.4,101.9 80.4,101.9 80.5,101.9 80.5,101.9 80.5,101.9 80.6,101.9 80.6,101.9 80.6,101.9 + 80.6,101.9 80.7,101.9 80.7,101.9 80.7,101.9 80.8,101.9 80.8,101.9 80.8,101.9 80.8,101.9 80.9,101.9 80.9,101.9 80.9,101.9 + 81,101.9 81,101.9 81,101.9 81,101.9 81.1,101.9 81.1,101.9 81.1,101.9 81.2,101.9 81.2,101.9 81.2,101.9 81.2,101.9 + 81.3,101.9 81.3,101.9 81.3,101.9 81.4,101.9 81.4,101.9 81.4,101.9 81.4,101.9 81.5,101.9 81.5,101.9 81.5,101.9 81.6,101.9 + 81.6,101.9 81.6,101.9 81.6,101.9 81.7,101.9 81.7,101.9 81.7,101.9 81.8,101.9 81.8,101.9 81.8,101.9 81.8,101.9 81.9,101.9 + 81.9,101.9 81.9,101.9 82,101.9 82,101.9 82,101.9 82,101.9 82.1,101.9 82.1,101.9 82.1,101.9 82.1,101.9 82.2,101.9 + 82.2,101.9 82.2,101.9 82.3,101.9 82.3,101.9 82.3,101.9 82.3,101.9 82.4,101.9 82.4,101.9 82.4,101.9 82.5,101.9 82.5,101.9 + 82.5,101.9 82.5,101.9 82.6,101.9 82.6,101.9 82.6,101.9 82.7,101.9 82.7,101.9 82.7,101.9 82.7,101.9 82.8,101.9 82.8,101.9 + 82.8,101.9 82.9,101.9 82.9,101.9 82.9,101.9 82.9,101.9 83,101.9 83,101.9 83,101.9 83.1,101.9 83.1,101.9 83.1,101.9 + 83.1,101.9 83.2,101.9 83.2,101.9 83.2,101.9 83.3,101.9 83.3,101.9 83.3,101.9 83.3,101.9 83.4,101.9 83.4,101.9 83.4,101.9 + 83.5,101.9 83.5,101.9 83.5,101.9 83.5,101.9 83.6,101.9 83.6,101.9 83.6,101.9 83.7,101.9 83.7,101.9 83.7,101.9 83.7,101.9 + 83.8,101.9 83.8,101.9 83.8,101.9 83.9,101.9 83.9,101.9 83.9,101.9 83.9,101.9 84,101.9 84,101.9 84,101.9 84.1,101.9 + 84.1,101.9 84.1,101.9 84.1,101.9 84.2,101.9 84.2,101.9 84.2,101.9 84.3,101.9 84.3,101.9 84.3,101.9 84.3,101.9 84.4,101.9 + 84.4,101.9 84.4,101.9 84.5,101.9 84.5,101.9 84.5,101.9 84.5,101.9 84.6,101.9 84.6,101.9 84.6,101.9 84.6,101.9 84.7,101.9 + 84.7,101.9 84.7,101.9 84.8,101.9 84.8,101.9 84.8,101.9 84.8,101.9 84.9,101.9 84.9,101.9 84.9,101.9 85,101.9 85,101.9 + 85,101.9 85,101.9 85.1,101.9 85.1,101.9 85.1,101.9 85.2,101.9 85.2,101.9 85.2,101.9 85.2,101.9 85.3,101.9 85.3,101.9 + 85.3,101.9 85.4,101.9 85.4,101.9 85.4,101.9 85.4,101.9 85.5,101.9 85.5,101.9 85.5,99.8 85.5,99.8 85.4,99.8 85.4,99.8 + 85.4,99.8 85.4,99.8 85.3,99.8 85.3,99.8 85.3,99.8 85.2,99.8 85.2,99.8 85.2,99.8 85.2,99.8 85.1,99.8 85.1,99.8 85.1,99.8 + 85,99.8 85,99.8 85,99.8 85,99.8 84.9,99.8 84.9,99.8 84.9,99.8 84.8,99.8 84.8,99.8 84.8,99.8 84.8,99.8 84.7,99.8 84.7,99.8 + 84.7,99.8 84.6,99.8 84.6,99.8 84.6,99.8 84.6,99.8 84.5,99.8 84.5,99.8 84.5,99.8 84.5,99.8 84.4,99.8 84.4,99.8 84.4,99.8 + 84.3,99.8 84.3,99.8 84.3,99.8 84.3,99.8 84.2,99.8 84.2,99.8 84.2,99.8 84.1,99.8 84.1,99.8 84.1,99.8 84.1,99.8 84,99.8 + 84,99.8 84,99.8 83.9,99.8 83.9,99.8 83.9,99.8 83.9,99.8 83.8,99.8 83.8,99.8 83.8,99.8 83.7,99.8 83.7,99.8 83.7,99.8 + 83.7,99.8 83.6,99.8 83.6,99.8 83.6,99.8 83.5,99.8 83.5,99.8 83.5,99.8 83.5,99.8 83.4,99.8 83.4,99.8 83.4,99.8 83.3,99.8 + 83.3,99.8 83.3,99.8 83.3,99.8 83.2,99.8 83.2,99.8 83.2,99.8 83.1,99.8 83.1,99.8 83.1,99.8 83.1,99.8 83,99.8 83,99.8 + 83,99.8 82.9,99.8 82.9,99.8 82.9,99.8 82.9,99.8 82.8,99.8 82.8,99.8 82.8,99.8 82.7,99.8 82.7,99.8 82.7,99.8 82.7,99.8 + 82.6,99.8 82.6,99.8 82.6,99.8 82.5,99.8 82.5,99.8 82.5,99.8 82.5,99.8 82.4,99.8 82.4,99.8 82.4,99.8 82.3,99.8 82.3,99.8 + 82.3,99.8 82.3,99.8 82.2,99.8 82.2,99.8 82.2,99.8 82.1,99.8 82.1,99.8 82.1,99.8 82.1,99.8 82,99.8 82,99.8 82,99.8 82,99.8 + 81.9,99.8 81.9,99.8 81.9,99.8 81.8,99.8 81.8,99.8 81.8,99.8 81.8,99.8 81.7,99.8 81.7,99.8 81.7,99.8 81.6,99.8 81.6,99.8 + 81.6,99.8 81.6,99.8 81.5,99.8 81.5,99.8 81.5,99.8 81.4,99.8 81.4,99.8 81.4,99.8 81.4,99.8 81.3,99.8 81.3,99.8 81.3,99.8 + 81.2,99.8 81.2,99.8 81.2,99.8 81.2,99.8 81.1,99.8 81.1,99.8 81.1,99.8 81,99.8 81,99.8 81,99.8 81,99.8 80.9,99.8 80.9,99.8 + 80.9,99.8 80.8,99.8 80.8,99.8 80.8,99.8 80.8,99.8 80.7,99.8 80.7,99.8 80.7,99.8 80.6,99.8 80.6,99.8 80.6,99.8 80.6,99.8 + 80.5,99.8 80.5,99.8 80.5,99.8 80.4,99.8 80.4,99.8 80.4,99.8 80.4,99.8 80.3,99.8 80.3,99.8 80.3,99.8 80.2,99.8 80.2,99.8 + 80.2,99.8 80.2,99.8 80.1,99.8 80.1,99.8 80.1,99.8 80,99.8 80,101.9 80.1,101.9 "/> + <linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="83.865" y1="166.6087" x2="83.865" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st11" points="85.4,105.3 85.4,105.3 85.4,105.3 85.4,105.3 85.4,105.3 85.4,105.3 85.3,105.3 85.3,105.3 + 85.3,105.3 85.3,105.3 85.3,105.3 85.3,105.3 85.2,105.3 85.2,105.3 85.2,105.3 85.2,105.3 85.2,105.3 85.2,105.3 85.1,105.3 + 85.1,105.3 85.1,105.3 85.1,105.3 85.1,105.3 85.1,105.3 85,105.3 85,105.3 85,105.3 85,105.3 85,105.3 85,105.3 84.9,105.3 + 84.9,105.3 84.9,105.3 84.9,105.3 84.9,105.3 84.9,105.3 84.8,105.3 84.8,105.3 84.8,105.3 84.8,105.3 84.8,105.3 84.8,105.3 + 84.7,105.3 84.7,105.3 84.7,105.3 84.7,105.3 84.7,105.3 84.6,105.3 84.6,105.3 84.6,105.3 84.6,105.3 84.6,105.3 84.6,105.3 + 84.5,105.3 84.5,105.3 84.5,105.3 84.5,105.3 84.5,105.3 84.5,105.3 84.4,105.3 84.4,105.3 84.4,105.3 84.4,105.3 84.4,105.3 + 84.4,105.3 84.3,105.3 84.3,105.3 84.3,105.3 84.3,105.3 84.3,105.3 84.3,105.3 84.2,105.3 84.2,105.3 84.2,105.3 84.2,105.3 + 84.2,105.3 84.2,105.3 84.1,105.3 84.1,105.3 84.1,105.3 84.1,105.3 84.1,105.3 84.1,105.3 84,105.3 84,105.3 84,105.3 + 84,105.3 84,105.3 84,105.3 83.9,105.3 83.9,105.3 83.9,105.3 83.9,105.3 83.9,105.3 83.8,105.3 83.8,105.3 83.8,105.3 + 83.8,105.3 83.8,105.3 83.8,105.3 83.7,105.3 83.7,105.3 83.7,105.3 83.7,105.3 83.7,105.3 83.7,105.3 83.6,105.3 83.6,105.3 + 83.6,105.3 83.6,105.3 83.6,105.3 83.6,105.3 83.5,105.3 83.5,105.3 83.5,105.3 83.5,105.3 83.5,105.3 83.5,105.3 83.4,105.3 + 83.4,105.3 83.4,105.3 83.4,105.3 83.4,105.3 83.4,105.3 83.3,105.3 83.3,105.3 83.3,105.3 83.3,105.3 83.3,105.3 83.3,105.3 + 83.2,105.3 83.2,105.3 83.2,105.3 83.2,105.3 83.2,105.3 83.1,105.3 83.1,105.3 83.1,105.3 83.1,105.3 83.1,105.3 83.1,105.3 + 83,105.3 83,105.3 83,105.3 83,105.3 83,105.3 83,105.3 82.9,105.3 82.9,105.3 82.9,105.3 82.9,105.3 82.9,105.3 82.9,105.3 + 82.8,105.3 82.8,105.3 82.8,105.3 82.8,105.3 82.8,105.3 82.8,105.3 82.7,105.3 82.7,105.3 82.7,105.3 82.7,105.3 82.7,105.3 + 82.7,105.3 82.6,105.3 82.6,105.3 82.6,105.3 82.6,105.3 82.6,105.3 82.6,105.3 82.5,105.3 82.5,105.3 82.5,105.3 82.5,105.3 + 82.5,105.3 82.5,105.3 82.4,105.3 82.4,105.3 82.4,105.3 82.4,105.3 82.4,105.3 82.3,105.3 82.3,105.3 82.3,105.3 82.3,105.3 + 82.3,105.3 82.3,105.3 82.2,105.3 82.2,105.3 82.2,107.4 82.2,107.4 82.3,107.4 82.3,107.4 82.3,107.4 82.3,107.4 82.3,107.4 + 82.3,107.4 82.4,107.4 82.4,107.4 82.4,107.4 82.4,107.4 82.4,107.4 82.5,107.4 82.5,107.4 82.5,107.4 82.5,107.4 82.5,107.4 + 82.5,107.4 82.6,107.4 82.6,107.4 82.6,107.4 82.6,107.4 82.6,107.4 82.6,107.4 82.7,107.4 82.7,107.4 82.7,107.4 82.7,107.4 + 82.7,107.4 82.7,107.4 82.8,107.4 82.8,107.4 82.8,107.4 82.8,107.4 82.8,107.4 82.8,107.4 82.9,107.4 82.9,107.4 82.9,107.4 + 82.9,107.4 82.9,107.4 82.9,107.4 83,107.4 83,107.4 83,107.4 83,107.4 83,107.4 83,107.4 83.1,107.4 83.1,107.4 83.1,107.4 + 83.1,107.4 83.1,107.4 83.1,107.4 83.2,107.4 83.2,107.4 83.2,107.4 83.2,107.4 83.2,107.4 83.3,107.4 83.3,107.4 83.3,107.4 + 83.3,107.4 83.3,107.4 83.3,107.4 83.4,107.4 83.4,107.4 83.4,107.4 83.4,107.4 83.4,107.4 83.4,107.4 83.5,107.4 83.5,107.4 + 83.5,107.4 83.5,107.4 83.5,107.4 83.5,107.4 83.6,107.4 83.6,107.4 83.6,107.4 83.6,107.4 83.6,107.4 83.6,107.4 83.7,107.4 + 83.7,107.4 83.7,107.4 83.7,107.4 83.7,107.4 83.7,107.4 83.8,107.4 83.8,107.4 83.8,107.4 83.8,107.4 83.8,107.4 83.8,107.4 + 83.9,107.4 83.9,107.4 83.9,107.4 83.9,107.4 83.9,107.4 84,107.4 84,107.4 84,107.4 84,107.4 84,107.4 84,107.4 84.1,107.4 + 84.1,107.4 84.1,107.4 84.1,107.4 84.1,107.4 84.1,107.4 84.2,107.4 84.2,107.4 84.2,107.4 84.2,107.4 84.2,107.4 84.2,107.4 + 84.3,107.4 84.3,107.4 84.3,107.4 84.3,107.4 84.3,107.4 84.3,107.4 84.4,107.4 84.4,107.4 84.4,107.4 84.4,107.4 84.4,107.4 + 84.4,107.4 84.5,107.4 84.5,107.4 84.5,107.4 84.5,107.4 84.5,107.4 84.5,107.4 84.6,107.4 84.6,107.4 84.6,107.4 84.6,107.4 + 84.6,107.4 84.6,107.4 84.7,107.4 84.7,107.4 84.7,107.4 84.7,107.4 84.7,107.4 84.8,107.4 84.8,107.4 84.8,107.4 84.8,107.4 + 84.8,107.4 84.8,107.4 84.9,107.4 84.9,107.4 84.9,107.4 84.9,107.4 84.9,107.4 84.9,107.4 85,107.4 85,107.4 85,107.4 + 85,107.4 85,107.4 85,107.4 85.1,107.4 85.1,107.4 85.1,107.4 85.1,107.4 85.1,107.4 85.1,107.4 85.2,107.4 85.2,107.4 + 85.2,107.4 85.2,107.4 85.2,107.4 85.2,107.4 85.3,107.4 85.3,107.4 85.3,107.4 85.3,107.4 85.3,107.4 85.3,107.4 85.4,107.4 + 85.4,107.4 85.4,107.4 85.4,107.4 85.4,107.4 85.4,107.4 85.5,107.4 85.5,107.4 85.5,107.4 85.5,105.3 85.5,105.3 85.5,105.3 + "/> + <linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="82.7742" y1="166.6087" x2="82.7742" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st12" points="82.3,112.8 82.3,112.8 82.3,112.8 82.3,112.8 82.4,112.8 82.4,112.8 82.4,112.8 82.5,112.8 + 82.5,112.8 82.5,112.8 82.5,112.8 82.6,112.8 82.6,112.8 82.6,112.8 82.7,112.8 82.7,112.8 82.7,112.8 82.7,112.8 82.8,112.8 + 82.8,112.8 82.8,112.8 82.9,112.8 82.9,112.8 82.9,112.8 82.9,112.8 83,112.8 83,112.8 83,112.8 83.1,112.8 83.1,112.8 + 83.1,112.8 83.1,112.8 83.2,112.8 83.2,112.8 83.2,112.8 83.3,112.8 83.3,112.8 83.3,112.8 83.3,112.8 83.4,112.8 83.4,112.8 + 83.4,112.8 83.5,112.8 83.5,112.8 83.5,112.8 83.5,112.8 83.6,112.8 83.6,112.8 83.6,112.8 83.7,112.8 83.7,112.8 83.7,112.8 + 83.7,112.8 83.8,112.8 83.8,112.8 83.8,112.8 83.9,112.8 83.9,112.8 83.9,112.8 83.9,112.8 84,112.8 84,112.8 84,112.8 + 84.1,112.8 84.1,112.8 84.1,112.8 84.1,112.8 84.2,112.8 84.2,112.8 84.2,112.8 84.3,112.8 84.3,112.8 84.3,112.8 84.3,112.8 + 84.4,112.8 84.4,112.8 84.4,112.8 84.5,112.8 84.5,112.8 84.5,112.8 84.5,112.8 84.6,112.8 84.6,112.8 84.6,112.8 84.6,112.8 + 84.7,112.8 84.7,112.8 84.7,112.8 84.8,112.8 84.8,112.8 84.8,112.8 84.8,112.8 84.9,112.8 84.9,112.8 84.9,112.8 85,112.8 + 85,112.8 85,112.8 85,112.8 85.1,112.8 85.1,112.8 85.1,112.8 85.2,112.8 85.2,112.8 85.2,112.8 85.2,112.8 85.3,112.8 + 85.3,112.8 85.3,112.8 85.4,112.8 85.4,112.8 85.4,112.8 85.4,112.8 85.5,112.8 85.5,112.8 85.5,110.7 85.5,110.7 85.4,110.7 + 85.4,110.7 85.4,110.7 85.4,110.7 85.3,110.7 85.3,110.7 85.3,110.7 85.2,110.7 85.2,110.7 85.2,110.7 85.2,110.7 85.1,110.7 + 85.1,110.7 85.1,110.7 85,110.7 85,110.7 85,110.7 85,110.7 84.9,110.7 84.9,110.7 84.9,110.7 84.8,110.7 84.8,110.7 + 84.8,110.7 84.8,110.7 84.7,110.7 84.7,110.7 84.7,110.7 84.6,110.7 84.6,110.7 84.6,110.7 84.6,110.7 84.5,110.7 84.5,110.7 + 84.5,110.7 84.5,110.7 84.4,110.7 84.4,110.7 84.4,110.7 84.3,110.7 84.3,110.7 84.3,110.7 84.3,110.7 84.2,110.7 84.2,110.7 + 84.2,110.7 84.1,110.7 84.1,110.7 84.1,110.7 84.1,110.7 84,110.7 84,110.7 84,110.7 83.9,110.7 83.9,110.7 83.9,110.7 + 83.9,110.7 83.8,110.7 83.8,110.7 83.8,110.7 83.7,110.7 83.7,110.7 83.7,110.7 83.7,110.7 83.6,110.7 83.6,110.7 83.6,110.7 + 83.5,110.7 83.5,110.7 83.5,110.7 83.5,110.7 83.4,110.7 83.4,110.7 83.4,110.7 83.3,110.7 83.3,110.7 83.3,110.7 83.3,110.7 + 83.2,110.7 83.2,110.7 83.2,110.7 83.1,110.7 83.1,110.7 83.1,110.7 83.1,110.7 83,110.7 83,110.7 83,110.7 82.9,110.7 + 82.9,110.7 82.9,110.7 82.9,110.7 82.8,110.7 82.8,110.7 82.8,110.7 82.7,110.7 82.7,110.7 82.7,110.7 82.7,110.7 82.6,110.7 + 82.6,110.7 82.6,110.7 82.5,110.7 82.5,110.7 82.5,110.7 82.5,110.7 82.4,110.7 82.4,110.7 82.4,110.7 82.3,110.7 82.3,110.7 + 82.3,110.7 82.3,110.7 82.2,110.7 82.2,110.7 82.2,110.7 82.1,110.7 82.1,110.7 82.1,110.7 82.1,110.7 82,110.7 82,110.7 + 82,110.7 82,110.7 81.9,110.7 81.9,110.7 81.9,110.7 81.8,110.7 81.8,110.7 81.8,110.7 81.8,110.7 81.7,110.7 81.7,110.7 + 81.7,110.7 81.6,110.7 81.6,110.7 81.6,110.7 81.6,110.7 81.5,110.7 81.5,110.7 81.5,110.7 81.4,110.7 81.4,110.7 81.4,110.7 + 81.4,110.7 81.3,110.7 81.3,110.7 81.3,110.7 81.2,110.7 81.2,110.7 81.2,110.7 81.2,110.7 81.1,110.7 81.1,110.7 81.1,110.7 + 81,110.7 81,110.7 81,110.7 81,110.7 80.9,110.7 80.9,110.7 80.9,110.7 80.8,110.7 80.8,110.7 80.8,110.7 80.8,110.7 + 80.7,110.7 80.7,110.7 80.7,110.7 80.6,110.7 80.6,110.7 80.6,110.7 80.6,110.7 80.5,110.7 80.5,110.7 80.5,110.7 80.4,110.7 + 80.4,110.7 80.4,110.7 80.4,110.7 80.3,110.7 80.3,110.7 80.3,110.7 80.2,110.7 80.2,110.7 80.2,110.7 80.2,110.7 80.1,110.7 + 80.1,110.7 80.1,110.7 80,110.7 80,112.8 80.1,112.8 80.1,112.8 80.1,112.8 80.2,112.8 80.2,112.8 80.2,112.8 80.2,112.8 + 80.3,112.8 80.3,112.8 80.3,112.8 80.4,112.8 80.4,112.8 80.4,112.8 80.4,112.8 80.5,112.8 80.5,112.8 80.5,112.8 80.6,112.8 + 80.6,112.8 80.6,112.8 80.6,112.8 80.7,112.8 80.7,112.8 80.7,112.8 80.8,112.8 80.8,112.8 80.8,112.8 80.8,112.8 80.9,112.8 + 80.9,112.8 80.9,112.8 81,112.8 81,112.8 81,112.8 81,112.8 81.1,112.8 81.1,112.8 81.1,112.8 81.2,112.8 81.2,112.8 + 81.2,112.8 81.2,112.8 81.3,112.8 81.3,112.8 81.3,112.8 81.4,112.8 81.4,112.8 81.4,112.8 81.4,112.8 81.5,112.8 81.5,112.8 + 81.5,112.8 81.6,112.8 81.6,112.8 81.6,112.8 81.6,112.8 81.7,112.8 81.7,112.8 81.7,112.8 81.8,112.8 81.8,112.8 81.8,112.8 + 81.8,112.8 81.9,112.8 81.9,112.8 81.9,112.8 82,112.8 82,112.8 82,112.8 82,112.8 82.1,112.8 82.1,112.8 82.1,112.8 + 82.1,112.8 82.2,112.8 82.2,112.8 82.2,112.8 "/> + <linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="112.2248" y1="166.6087" x2="112.2248" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st13" points="114.9,78 114.9,78 114.9,78 114.8,78 114.8,78 114.8,78 114.8,78 114.7,78 114.7,78 114.7,78 + 114.6,78 114.6,78 114.6,78 114.6,78 114.5,78 114.5,78 114.5,78 114.4,78 114.4,78 114.4,78 114.4,78 114.3,78 114.3,78 + 114.3,78 114.2,78 114.2,78 114.2,78 114.2,78 114.1,78 114.1,78 114.1,78 114,78 114,78 114,78 114,78 113.9,78 113.9,78 + 113.9,78 113.8,78 113.8,78 113.8,78 113.8,78 113.7,78 113.7,78 113.7,78 113.6,78 113.6,78 113.6,78 113.6,78 113.5,78 + 113.5,78 113.5,78 113.4,78 113.4,78 113.4,78 113.4,78 113.3,78 113.3,78 113.3,78 113.2,78 113.2,78 113.2,78 113.2,78 + 113.1,78 113.1,78 113.1,78 113,78 113,78 113,78 113,78 112.9,78 112.9,78 112.9,78 112.8,78 112.8,78 112.8,78 112.8,78 + 112.7,78 112.7,78 112.7,78 112.7,78 112.6,78 112.6,78 112.6,78 112.5,78 112.5,78 112.5,78 112.5,78 112.4,78 112.4,78 + 112.4,78 112.3,78 112.3,78 112.3,78 112.3,78 112.2,78 112.2,78 112.2,78 112.1,78 112.1,78 112.1,78 112.1,78 112,78 112,78 + 112,78 111.9,78 111.9,78 111.9,78 111.9,78 111.8,78 111.8,78 111.8,78 111.7,78 111.7,78 111.7,78 111.7,78 111.6,78 + 111.6,78 111.6,78 111.5,78 111.5,78 111.5,78 111.5,78 111.4,78 111.4,78 111.4,78 111.3,78 111.3,78 111.3,78 111.3,78 + 111.2,78 111.2,78 111.2,78 111.1,78 111.1,78 111.1,78 111.1,78 111,78 111,78 111,78 110.9,78 110.9,78 110.9,78 110.9,78 + 110.8,78 110.8,78 110.8,78 110.7,78 110.7,78 110.7,78 110.7,78 110.6,78 110.6,78 110.6,78 110.5,78 110.5,78 110.5,78 + 110.5,78 110.4,78 110.4,78 110.4,78 110.4,78 110.3,78 110.3,78 110.3,78 110.2,78 110.2,78 110.2,78 110.2,78 110.1,78 + 110.1,78 110.1,78 110,78 110,78 110,78 110,78 109.9,78 109.9,78 109.9,78 109.8,78 109.8,78 109.8,78 109.8,78 109.7,78 + 109.7,78 109.7,78 109.6,78 109.6,78 109.6,78 109.6,78 109.5,78 109.5,78 109.5,80.1 109.5,80.1 109.6,80.1 109.6,80.1 + 109.6,80.1 109.6,80.1 109.7,80.1 109.7,80.1 109.7,80.1 109.8,80.1 109.8,80.1 109.8,80.1 109.8,80.1 109.9,80.1 109.9,80.1 + 109.9,80.1 110,80.1 110,80.1 110,80.1 110,80.1 110.1,80.1 110.1,80.1 110.1,80.1 110.2,80.1 110.2,80.1 110.2,80.1 + 110.2,80.1 110.3,80.1 110.3,80.1 110.3,80.1 110.4,80.1 110.4,80.1 110.4,80.1 110.4,80.1 110.5,80.1 110.5,80.1 110.5,80.1 + 110.5,80.1 110.6,80.1 110.6,80.1 110.6,80.1 110.7,80.1 110.7,80.1 110.7,80.1 110.7,80.1 110.8,80.1 110.8,80.1 110.8,80.1 + 110.9,80.1 110.9,80.1 110.9,80.1 110.9,80.1 111,80.1 111,80.1 111,80.1 111.1,80.1 111.1,80.1 111.1,80.1 111.1,80.1 + 111.2,80.1 111.2,80.1 111.2,80.1 111.3,80.1 111.3,80.1 111.3,80.1 111.3,80.1 111.4,80.1 111.4,80.1 111.4,80.1 111.5,80.1 + 111.5,80.1 111.5,80.1 111.5,80.1 111.6,80.1 111.6,80.1 111.6,80.1 111.7,80.1 111.7,80.1 111.7,80.1 111.7,80.1 111.8,80.1 + 111.8,80.1 111.8,80.1 111.9,80.1 111.9,80.1 111.9,80.1 111.9,80.1 112,80.1 112,80.1 112,80.1 112.1,80.1 112.1,80.1 + 112.1,80.1 112.1,80.1 112.2,80.1 112.2,80.1 112.2,80.1 112.3,80.1 112.3,80.1 112.3,80.1 112.3,80.1 112.4,80.1 112.4,80.1 + 112.4,80.1 112.5,80.1 112.5,80.1 112.5,80.1 112.5,80.1 112.6,80.1 112.6,80.1 112.6,80.1 112.7,80.1 112.7,80.1 112.7,80.1 + 112.7,80.1 112.8,80.1 112.8,80.1 112.8,80.1 112.8,80.1 112.9,80.1 112.9,80.1 112.9,80.1 113,80.1 113,80.1 113,80.1 + 113,80.1 113.1,80.1 113.1,80.1 113.1,80.1 113.2,80.1 113.2,80.1 113.2,80.1 113.2,80.1 113.3,80.1 113.3,80.1 113.3,80.1 + 113.4,80.1 113.4,80.1 113.4,80.1 113.4,80.1 113.5,80.1 113.5,80.1 113.5,80.1 113.6,80.1 113.6,80.1 113.6,80.1 113.6,80.1 + 113.7,80.1 113.7,80.1 113.7,80.1 113.8,80.1 113.8,80.1 113.8,80.1 113.8,80.1 113.9,80.1 113.9,80.1 113.9,80.1 114,80.1 + 114,80.1 114,80.1 114,80.1 114.1,80.1 114.1,80.1 114.1,80.1 114.2,80.1 114.2,80.1 114.2,80.1 114.2,80.1 114.3,80.1 + 114.3,80.1 114.3,80.1 114.4,80.1 114.4,80.1 114.4,80.1 114.4,80.1 114.5,80.1 114.5,80.1 114.5,80.1 114.6,80.1 114.6,80.1 + 114.6,80.1 114.6,80.1 114.7,80.1 114.7,80.1 114.7,80.1 114.8,80.1 114.8,80.1 114.8,80.1 114.8,80.1 114.9,80.1 114.9,80.1 + 114.9,80.1 115,80.1 115,78 "/> + <linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="111.134" y1="166.6087" x2="111.134" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st14" points="109.5,85.5 109.5,85.5 109.6,85.5 109.6,85.5 109.6,85.5 109.6,85.5 109.6,85.5 109.7,85.5 + 109.7,85.5 109.7,85.5 109.7,85.5 109.7,85.5 109.7,85.5 109.8,85.5 109.8,85.5 109.8,85.5 109.8,85.5 109.8,85.5 109.8,85.5 + 109.9,85.5 109.9,85.5 109.9,85.5 109.9,85.5 109.9,85.5 109.9,85.5 110,85.5 110,85.5 110,85.5 110,85.5 110,85.5 110,85.5 + 110.1,85.5 110.1,85.5 110.1,85.5 110.1,85.5 110.1,85.5 110.1,85.5 110.2,85.5 110.2,85.5 110.2,85.5 110.2,85.5 110.2,85.5 + 110.2,85.5 110.3,85.5 110.3,85.5 110.3,85.5 110.3,85.5 110.3,85.5 110.4,85.5 110.4,85.5 110.4,85.5 110.4,85.5 110.4,85.5 + 110.4,85.5 110.5,85.5 110.5,85.5 110.5,85.5 110.5,85.5 110.5,85.5 110.5,85.5 110.6,85.5 110.6,85.5 110.6,85.5 110.6,85.5 + 110.6,85.5 110.6,85.5 110.7,85.5 110.7,85.5 110.7,85.5 110.7,85.5 110.7,85.5 110.7,85.5 110.8,85.5 110.8,85.5 110.8,85.5 + 110.8,85.5 110.8,85.5 110.8,85.5 110.9,85.5 110.9,85.5 110.9,85.5 110.9,85.5 110.9,85.5 110.9,85.5 111,85.5 111,85.5 + 111,85.5 111,85.5 111,85.5 111,85.5 111.1,85.5 111.1,85.5 111.1,85.5 111.1,85.5 111.1,85.5 111.2,85.5 111.2,85.5 + 111.2,85.5 111.2,85.5 111.2,85.5 111.2,85.5 111.3,85.5 111.3,85.5 111.3,85.5 111.3,85.5 111.3,85.5 111.3,85.5 111.4,85.5 + 111.4,85.5 111.4,85.5 111.4,85.5 111.4,85.5 111.4,85.5 111.5,85.5 111.5,85.5 111.5,85.5 111.5,85.5 111.5,85.5 111.5,85.5 + 111.6,85.5 111.6,85.5 111.6,85.5 111.6,85.5 111.6,85.5 111.6,85.5 111.7,85.5 111.7,85.5 111.7,85.5 111.7,85.5 111.7,85.5 + 111.7,85.5 111.8,85.5 111.8,85.5 111.8,85.5 111.8,85.5 111.8,85.5 111.8,85.5 111.9,85.5 111.9,85.5 111.9,85.5 111.9,85.5 + 111.9,85.5 112,85.5 112,85.5 112,85.5 112,85.5 112,85.5 112,85.5 112.1,85.5 112.1,85.5 112.1,85.5 112.1,85.5 112.1,85.5 + 112.1,85.5 112.2,85.5 112.2,85.5 112.2,85.5 112.2,85.5 112.2,85.5 112.2,85.5 112.3,85.5 112.3,85.5 112.3,85.5 112.3,85.5 + 112.3,85.5 112.3,85.5 112.4,85.5 112.4,85.5 112.4,85.5 112.4,85.5 112.4,85.5 112.4,85.5 112.5,85.5 112.5,85.5 112.5,85.5 + 112.5,85.5 112.5,85.5 112.5,85.5 112.6,85.5 112.6,85.5 112.6,85.5 112.6,85.5 112.6,85.5 112.7,85.5 112.7,85.5 112.7,85.5 + 112.7,85.5 112.7,85.5 112.7,85.5 112.8,85.5 112.8,85.5 112.8,83.5 112.8,83.5 112.7,83.5 112.7,83.5 112.7,83.5 112.7,83.5 + 112.7,83.5 112.7,83.5 112.6,83.5 112.6,83.5 112.6,83.5 112.6,83.5 112.6,83.5 112.5,83.5 112.5,83.5 112.5,83.5 112.5,83.5 + 112.5,83.5 112.5,83.5 112.4,83.5 112.4,83.5 112.4,83.5 112.4,83.5 112.4,83.5 112.4,83.5 112.3,83.5 112.3,83.5 112.3,83.5 + 112.3,83.5 112.3,83.5 112.3,83.5 112.2,83.5 112.2,83.5 112.2,83.5 112.2,83.5 112.2,83.5 112.2,83.5 112.1,83.5 112.1,83.5 + 112.1,83.5 112.1,83.5 112.1,83.5 112.1,83.5 112,83.5 112,83.5 112,83.5 112,83.5 112,83.5 112,83.5 111.9,83.5 111.9,83.5 + 111.9,83.5 111.9,83.5 111.9,83.5 111.8,83.5 111.8,83.5 111.8,83.5 111.8,83.5 111.8,83.5 111.8,83.5 111.7,83.5 111.7,83.5 + 111.7,83.5 111.7,83.5 111.7,83.5 111.7,83.5 111.6,83.5 111.6,83.5 111.6,83.5 111.6,83.5 111.6,83.5 111.6,83.5 111.5,83.5 + 111.5,83.5 111.5,83.5 111.5,83.5 111.5,83.5 111.5,83.5 111.4,83.5 111.4,83.5 111.4,83.5 111.4,83.5 111.4,83.5 111.4,83.5 + 111.3,83.5 111.3,83.5 111.3,83.5 111.3,83.5 111.3,83.5 111.3,83.5 111.2,83.5 111.2,83.5 111.2,83.5 111.2,83.5 111.2,83.5 + 111.2,83.5 111.1,83.5 111.1,83.5 111.1,83.5 111.1,83.5 111.1,83.5 111,83.5 111,83.5 111,83.5 111,83.5 111,83.5 111,83.5 + 110.9,83.5 110.9,83.5 110.9,83.5 110.9,83.5 110.9,83.5 110.9,83.5 110.8,83.5 110.8,83.5 110.8,83.5 110.8,83.5 110.8,83.5 + 110.8,83.5 110.7,83.5 110.7,83.5 110.7,83.5 110.7,83.5 110.7,83.5 110.7,83.5 110.6,83.5 110.6,83.5 110.6,83.5 110.6,83.5 + 110.6,83.5 110.6,83.5 110.5,83.5 110.5,83.5 110.5,83.5 110.5,83.5 110.5,83.5 110.5,83.5 110.4,83.5 110.4,83.5 110.4,83.5 + 110.4,83.5 110.4,83.5 110.4,83.5 110.3,83.5 110.3,83.5 110.3,83.5 110.3,83.5 110.3,83.5 110.2,83.5 110.2,83.5 110.2,83.5 + 110.2,83.5 110.2,83.5 110.2,83.5 110.1,83.5 110.1,83.5 110.1,83.5 110.1,83.5 110.1,83.5 110.1,83.5 110,83.5 110,83.5 + 110,83.5 110,83.5 110,83.5 110,83.5 109.9,83.5 109.9,83.5 109.9,83.5 109.9,83.5 109.9,83.5 109.9,83.5 109.8,83.5 + 109.8,83.5 109.8,83.5 109.8,83.5 109.8,83.5 109.8,83.5 109.7,83.5 109.7,83.5 109.7,83.5 109.7,83.5 109.7,83.5 109.7,83.5 + 109.6,83.5 109.6,83.5 109.6,83.5 109.6,83.5 109.6,83.5 109.5,83.5 109.5,83.5 109.5,83.5 109.5,83.5 109.5,85.5 109.5,85.5 + "/> + <linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="112.2248" y1="166.6087" x2="112.2248" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st15" points="114.9,88.9 114.9,88.9 114.8,88.9 114.8,88.9 114.8,88.9 114.8,88.9 114.7,88.9 114.7,88.9 + 114.7,88.9 114.6,88.9 114.6,88.9 114.6,88.9 114.6,88.9 114.5,88.9 114.5,88.9 114.5,88.9 114.4,88.9 114.4,88.9 114.4,88.9 + 114.4,88.9 114.3,88.9 114.3,88.9 114.3,88.9 114.2,88.9 114.2,88.9 114.2,88.9 114.2,88.9 114.1,88.9 114.1,88.9 114.1,88.9 + 114,88.9 114,88.9 114,88.9 114,88.9 113.9,88.9 113.9,88.9 113.9,88.9 113.8,88.9 113.8,88.9 113.8,88.9 113.8,88.9 + 113.7,88.9 113.7,88.9 113.7,88.9 113.6,88.9 113.6,88.9 113.6,88.9 113.6,88.9 113.5,88.9 113.5,88.9 113.5,88.9 113.4,88.9 + 113.4,88.9 113.4,88.9 113.4,88.9 113.3,88.9 113.3,88.9 113.3,88.9 113.2,88.9 113.2,88.9 113.2,88.9 113.2,88.9 113.1,88.9 + 113.1,88.9 113.1,88.9 113,88.9 113,88.9 113,88.9 113,88.9 112.9,88.9 112.9,88.9 112.9,88.9 112.8,88.9 112.8,88.9 + 112.8,88.9 112.8,88.9 112.7,88.9 112.7,88.9 112.7,88.9 112.7,88.9 112.6,88.9 112.6,88.9 112.6,88.9 112.5,88.9 112.5,88.9 + 112.5,88.9 112.5,88.9 112.4,88.9 112.4,88.9 112.4,88.9 112.3,88.9 112.3,88.9 112.3,88.9 112.3,88.9 112.2,88.9 112.2,88.9 + 112.2,88.9 112.1,88.9 112.1,88.9 112.1,88.9 112.1,88.9 112,88.9 112,88.9 112,88.9 111.9,88.9 111.9,88.9 111.9,88.9 + 111.9,88.9 111.8,88.9 111.8,88.9 111.8,88.9 111.7,88.9 111.7,88.9 111.7,88.9 111.7,88.9 111.6,88.9 111.6,88.9 111.6,88.9 + 111.5,88.9 111.5,88.9 111.5,88.9 111.5,88.9 111.4,88.9 111.4,88.9 111.4,88.9 111.3,88.9 111.3,88.9 111.3,88.9 111.3,88.9 + 111.2,88.9 111.2,88.9 111.2,88.9 111.1,88.9 111.1,88.9 111.1,88.9 111.1,88.9 111,88.9 111,88.9 111,88.9 110.9,88.9 + 110.9,88.9 110.9,88.9 110.9,88.9 110.8,88.9 110.8,88.9 110.8,88.9 110.7,88.9 110.7,88.9 110.7,88.9 110.7,88.9 110.6,88.9 + 110.6,88.9 110.6,88.9 110.5,88.9 110.5,88.9 110.5,88.9 110.5,88.9 110.4,88.9 110.4,88.9 110.4,88.9 110.4,88.9 110.3,88.9 + 110.3,88.9 110.3,88.9 110.2,88.9 110.2,88.9 110.2,88.9 110.2,88.9 110.1,88.9 110.1,88.9 110.1,88.9 110,88.9 110,88.9 + 110,88.9 110,88.9 109.9,88.9 109.9,88.9 109.9,88.9 109.8,88.9 109.8,88.9 109.8,88.9 109.8,88.9 109.7,88.9 109.7,88.9 + 109.7,88.9 109.6,88.9 109.6,88.9 109.6,88.9 109.6,88.9 109.5,88.9 109.5,88.9 109.5,91 109.5,91 109.6,91 109.6,91 109.6,91 + 109.6,91 109.7,91 109.7,91 109.7,91 109.8,91 109.8,91 109.8,91 109.8,91 109.9,91 109.9,91 109.9,91 110,91 110,91 110,91 + 110,91 110.1,91 110.1,91 110.1,91 110.2,91 110.2,91 110.2,91 110.2,91 110.3,91 110.3,91 110.3,91 110.4,91 110.4,91 + 110.4,91 110.4,91 110.5,91 110.5,91 110.5,91 110.5,91 110.6,91 110.6,91 110.6,91 110.7,91 110.7,91 110.7,91 110.7,91 + 110.8,91 110.8,91 110.8,91 110.9,91 110.9,91 110.9,91 110.9,91 111,91 111,91 111,91 111.1,91 111.1,91 111.1,91 111.1,91 + 111.2,91 111.2,91 111.2,91 111.3,91 111.3,91 111.3,91 111.3,91 111.4,91 111.4,91 111.4,91 111.5,91 111.5,91 111.5,91 + 111.5,91 111.6,91 111.6,91 111.6,91 111.7,91 111.7,91 111.7,91 111.7,91 111.8,91 111.8,91 111.8,91 111.9,91 111.9,91 + 111.9,91 111.9,91 112,91 112,91 112,91 112.1,91 112.1,91 112.1,91 112.1,91 112.2,91 112.2,91 112.2,91 112.3,91 112.3,91 + 112.3,91 112.3,91 112.4,91 112.4,91 112.4,91 112.5,91 112.5,91 112.5,91 112.5,91 112.6,91 112.6,91 112.6,91 112.7,91 + 112.7,91 112.7,91 112.7,91 112.8,91 112.8,91 112.8,91 112.8,91 112.9,91 112.9,91 112.9,91 113,91 113,91 113,91 113,91 + 113.1,91 113.1,91 113.1,91 113.2,91 113.2,91 113.2,91 113.2,91 113.3,91 113.3,91 113.3,91 113.4,91 113.4,91 113.4,91 + 113.4,91 113.5,91 113.5,91 113.5,91 113.6,91 113.6,91 113.6,91 113.6,91 113.7,91 113.7,91 113.7,91 113.8,91 113.8,91 + 113.8,91 113.8,91 113.9,91 113.9,91 113.9,91 114,91 114,91 114,91 114,91 114.1,91 114.1,91 114.1,91 114.2,91 114.2,91 + 114.2,91 114.2,91 114.3,91 114.3,91 114.3,91 114.4,91 114.4,91 114.4,91 114.4,91 114.5,91 114.5,91 114.5,91 114.6,91 + 114.6,91 114.6,91 114.6,91 114.7,91 114.7,91 114.7,91 114.8,91 114.8,91 114.8,91 114.8,91 114.9,91 114.9,91 114.9,91 + 115,91 115,88.9 114.9,88.9 "/> + <linearGradient id="SVGID_13_" gradientUnits="userSpaceOnUse" x1="111.134" y1="166.6087" x2="111.134" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st16" points="109.5,96.5 109.5,96.5 109.6,96.5 109.6,96.5 109.6,96.5 109.6,96.5 109.6,96.5 109.7,96.5 + 109.7,96.5 109.7,96.5 109.7,96.5 109.7,96.5 109.7,96.5 109.8,96.5 109.8,96.5 109.8,96.5 109.8,96.5 109.8,96.5 109.8,96.5 + 109.9,96.5 109.9,96.5 109.9,96.5 109.9,96.5 109.9,96.5 109.9,96.5 110,96.5 110,96.5 110,96.5 110,96.5 110,96.5 110,96.5 + 110.1,96.5 110.1,96.5 110.1,96.5 110.1,96.5 110.1,96.5 110.1,96.5 110.2,96.5 110.2,96.5 110.2,96.5 110.2,96.5 110.2,96.5 + 110.2,96.5 110.3,96.5 110.3,96.5 110.3,96.5 110.3,96.5 110.3,96.5 110.4,96.5 110.4,96.5 110.4,96.5 110.4,96.5 110.4,96.5 + 110.4,96.5 110.5,96.5 110.5,96.5 110.5,96.5 110.5,96.5 110.5,96.5 110.5,96.5 110.6,96.5 110.6,96.5 110.6,96.5 110.6,96.5 + 110.6,96.5 110.6,96.5 110.7,96.5 110.7,96.5 110.7,96.5 110.7,96.5 110.7,96.5 110.7,96.5 110.8,96.5 110.8,96.5 110.8,96.5 + 110.8,96.5 110.8,96.5 110.8,96.5 110.9,96.5 110.9,96.5 110.9,96.5 110.9,96.5 110.9,96.5 110.9,96.5 111,96.5 111,96.5 + 111,96.5 111,96.5 111,96.5 111,96.5 111.1,96.5 111.1,96.5 111.1,96.5 111.1,96.5 111.1,96.5 111.2,96.5 111.2,96.5 + 111.2,96.5 111.2,96.5 111.2,96.5 111.2,96.5 111.3,96.5 111.3,96.5 111.3,96.5 111.3,96.5 111.3,96.5 111.3,96.5 111.4,96.5 + 111.4,96.5 111.4,96.5 111.4,96.5 111.4,96.5 111.4,96.5 111.5,96.5 111.5,96.5 111.5,96.5 111.5,96.5 111.5,96.5 111.5,96.5 + 111.6,96.5 111.6,96.5 111.6,96.5 111.6,96.5 111.6,96.5 111.6,96.5 111.7,96.5 111.7,96.5 111.7,96.5 111.7,96.5 111.7,96.5 + 111.7,96.5 111.8,96.5 111.8,96.5 111.8,96.5 111.8,96.5 111.8,96.5 111.8,96.5 111.9,96.5 111.9,96.5 111.9,96.5 111.9,96.5 + 111.9,96.5 112,96.5 112,96.5 112,96.5 112,96.5 112,96.5 112,96.5 112.1,96.5 112.1,96.5 112.1,96.5 112.1,96.5 112.1,96.5 + 112.1,96.5 112.2,96.5 112.2,96.5 112.2,96.5 112.2,96.5 112.2,96.5 112.2,96.5 112.3,96.5 112.3,96.5 112.3,96.5 112.3,96.5 + 112.3,96.5 112.3,96.5 112.4,96.5 112.4,96.5 112.4,96.5 112.4,96.5 112.4,96.5 112.4,96.5 112.5,96.5 112.5,96.5 112.5,96.5 + 112.5,96.5 112.5,96.5 112.5,96.5 112.6,96.5 112.6,96.5 112.6,96.5 112.6,96.5 112.6,96.5 112.7,96.5 112.7,96.5 112.7,96.5 + 112.7,96.5 112.7,96.5 112.7,96.5 112.8,96.5 112.8,96.5 112.8,94.4 112.8,94.4 112.7,94.4 112.7,94.4 112.7,94.4 112.7,94.4 + 112.7,94.4 112.7,94.4 112.6,94.4 112.6,94.4 112.6,94.4 112.6,94.4 112.6,94.4 112.5,94.4 112.5,94.4 112.5,94.4 112.5,94.4 + 112.5,94.4 112.5,94.4 112.4,94.4 112.4,94.4 112.4,94.4 112.4,94.4 112.4,94.4 112.4,94.4 112.3,94.4 112.3,94.4 112.3,94.4 + 112.3,94.4 112.3,94.4 112.3,94.4 112.2,94.4 112.2,94.4 112.2,94.4 112.2,94.4 112.2,94.4 112.2,94.4 112.1,94.4 112.1,94.4 + 112.1,94.4 112.1,94.4 112.1,94.4 112.1,94.4 112,94.4 112,94.4 112,94.4 112,94.4 112,94.4 112,94.4 111.9,94.4 111.9,94.4 + 111.9,94.4 111.9,94.4 111.9,94.4 111.8,94.4 111.8,94.4 111.8,94.4 111.8,94.4 111.8,94.4 111.8,94.4 111.7,94.4 111.7,94.4 + 111.7,94.4 111.7,94.4 111.7,94.4 111.7,94.4 111.6,94.4 111.6,94.4 111.6,94.4 111.6,94.4 111.6,94.4 111.6,94.4 111.5,94.4 + 111.5,94.4 111.5,94.4 111.5,94.4 111.5,94.4 111.5,94.4 111.4,94.4 111.4,94.4 111.4,94.4 111.4,94.4 111.4,94.4 111.4,94.4 + 111.3,94.4 111.3,94.4 111.3,94.4 111.3,94.4 111.3,94.4 111.3,94.4 111.2,94.4 111.2,94.4 111.2,94.4 111.2,94.4 111.2,94.4 + 111.2,94.4 111.1,94.4 111.1,94.4 111.1,94.4 111.1,94.4 111.1,94.4 111,94.4 111,94.4 111,94.4 111,94.4 111,94.4 111,94.4 + 110.9,94.4 110.9,94.4 110.9,94.4 110.9,94.4 110.9,94.4 110.9,94.4 110.8,94.4 110.8,94.4 110.8,94.4 110.8,94.4 110.8,94.4 + 110.8,94.4 110.7,94.4 110.7,94.4 110.7,94.4 110.7,94.4 110.7,94.4 110.7,94.4 110.6,94.4 110.6,94.4 110.6,94.4 110.6,94.4 + 110.6,94.4 110.6,94.4 110.5,94.4 110.5,94.4 110.5,94.4 110.5,94.4 110.5,94.4 110.5,94.4 110.4,94.4 110.4,94.4 110.4,94.4 + 110.4,94.4 110.4,94.4 110.4,94.4 110.3,94.4 110.3,94.4 110.3,94.4 110.3,94.4 110.3,94.4 110.2,94.4 110.2,94.4 110.2,94.4 + 110.2,94.4 110.2,94.4 110.2,94.4 110.1,94.4 110.1,94.4 110.1,94.4 110.1,94.4 110.1,94.4 110.1,94.4 110,94.4 110,94.4 + 110,94.4 110,94.4 110,94.4 110,94.4 109.9,94.4 109.9,94.4 109.9,94.4 109.9,94.4 109.9,94.4 109.9,94.4 109.8,94.4 + 109.8,94.4 109.8,94.4 109.8,94.4 109.8,94.4 109.8,94.4 109.7,94.4 109.7,94.4 109.7,94.4 109.7,94.4 109.7,94.4 109.7,94.4 + 109.6,94.4 109.6,94.4 109.6,94.4 109.6,94.4 109.6,94.4 109.5,94.4 109.5,94.4 109.5,94.4 109.5,94.4 109.5,96.5 109.5,96.5 + "/> + <linearGradient id="SVGID_14_" gradientUnits="userSpaceOnUse" x1="112.2248" y1="166.6087" x2="112.2248" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st17" points="114.9,99.8 114.9,99.8 114.8,99.8 114.8,99.8 114.8,99.8 114.8,99.8 114.7,99.8 114.7,99.8 + 114.7,99.8 114.6,99.8 114.6,99.8 114.6,99.8 114.6,99.8 114.5,99.8 114.5,99.8 114.5,99.8 114.4,99.8 114.4,99.8 114.4,99.8 + 114.4,99.8 114.3,99.8 114.3,99.8 114.3,99.8 114.2,99.8 114.2,99.8 114.2,99.8 114.2,99.8 114.1,99.8 114.1,99.8 114.1,99.8 + 114,99.8 114,99.8 114,99.8 114,99.8 113.9,99.8 113.9,99.8 113.9,99.8 113.8,99.8 113.8,99.8 113.8,99.8 113.8,99.8 + 113.7,99.8 113.7,99.8 113.7,99.8 113.6,99.8 113.6,99.8 113.6,99.8 113.6,99.8 113.5,99.8 113.5,99.8 113.5,99.8 113.4,99.8 + 113.4,99.8 113.4,99.8 113.4,99.8 113.3,99.8 113.3,99.8 113.3,99.8 113.2,99.8 113.2,99.8 113.2,99.8 113.2,99.8 113.1,99.8 + 113.1,99.8 113.1,99.8 113,99.8 113,99.8 113,99.8 113,99.8 112.9,99.8 112.9,99.8 112.9,99.8 112.8,99.8 112.8,99.8 + 112.8,99.8 112.8,99.8 112.7,99.8 112.7,99.8 112.7,99.8 112.7,99.8 112.6,99.8 112.6,99.8 112.6,99.8 112.5,99.8 112.5,99.8 + 112.5,99.8 112.5,99.8 112.4,99.8 112.4,99.8 112.4,99.8 112.3,99.8 112.3,99.8 112.3,99.8 112.3,99.8 112.2,99.8 112.2,99.8 + 112.2,99.8 112.1,99.8 112.1,99.8 112.1,99.8 112.1,99.8 112,99.8 112,99.8 112,99.8 111.9,99.8 111.9,99.8 111.9,99.8 + 111.9,99.8 111.8,99.8 111.8,99.8 111.8,99.8 111.7,99.8 111.7,99.8 111.7,99.8 111.7,99.8 111.6,99.8 111.6,99.8 111.6,99.8 + 111.5,99.8 111.5,99.8 111.5,99.8 111.5,99.8 111.4,99.8 111.4,99.8 111.4,99.8 111.3,99.8 111.3,99.8 111.3,99.8 111.3,99.8 + 111.2,99.8 111.2,99.8 111.2,99.8 111.1,99.8 111.1,99.8 111.1,99.8 111.1,99.8 111,99.8 111,99.8 111,99.8 110.9,99.8 + 110.9,99.8 110.9,99.8 110.9,99.8 110.8,99.8 110.8,99.8 110.8,99.8 110.7,99.8 110.7,99.8 110.7,99.8 110.7,99.8 110.6,99.8 + 110.6,99.8 110.6,99.8 110.5,99.8 110.5,99.8 110.5,99.8 110.5,99.8 110.4,99.8 110.4,99.8 110.4,99.8 110.4,99.8 110.3,99.8 + 110.3,99.8 110.3,99.8 110.2,99.8 110.2,99.8 110.2,99.8 110.2,99.8 110.1,99.8 110.1,99.8 110.1,99.8 110,99.8 110,99.8 + 110,99.8 110,99.8 109.9,99.8 109.9,99.8 109.9,99.8 109.8,99.8 109.8,99.8 109.8,99.8 109.8,99.8 109.7,99.8 109.7,99.8 + 109.7,99.8 109.6,99.8 109.6,99.8 109.6,99.8 109.6,99.8 109.5,99.8 109.5,99.8 109.5,101.9 109.5,101.9 109.6,101.9 + 109.6,101.9 109.6,101.9 109.6,101.9 109.7,101.9 109.7,101.9 109.7,101.9 109.8,101.9 109.8,101.9 109.8,101.9 109.8,101.9 + 109.9,101.9 109.9,101.9 109.9,101.9 110,101.9 110,101.9 110,101.9 110,101.9 110.1,101.9 110.1,101.9 110.1,101.9 + 110.2,101.9 110.2,101.9 110.2,101.9 110.2,101.9 110.3,101.9 110.3,101.9 110.3,101.9 110.4,101.9 110.4,101.9 110.4,101.9 + 110.4,101.9 110.5,101.9 110.5,101.9 110.5,101.9 110.5,101.9 110.6,101.9 110.6,101.9 110.6,101.9 110.7,101.9 110.7,101.9 + 110.7,101.9 110.7,101.9 110.8,101.9 110.8,101.9 110.8,101.9 110.9,101.9 110.9,101.9 110.9,101.9 110.9,101.9 111,101.9 + 111,101.9 111,101.9 111.1,101.9 111.1,101.9 111.1,101.9 111.1,101.9 111.2,101.9 111.2,101.9 111.2,101.9 111.3,101.9 + 111.3,101.9 111.3,101.9 111.3,101.9 111.4,101.9 111.4,101.9 111.4,101.9 111.5,101.9 111.5,101.9 111.5,101.9 111.5,101.9 + 111.6,101.9 111.6,101.9 111.6,101.9 111.7,101.9 111.7,101.9 111.7,101.9 111.7,101.9 111.8,101.9 111.8,101.9 111.8,101.9 + 111.9,101.9 111.9,101.9 111.9,101.9 111.9,101.9 112,101.9 112,101.9 112,101.9 112.1,101.9 112.1,101.9 112.1,101.9 + 112.1,101.9 112.2,101.9 112.2,101.9 112.2,101.9 112.3,101.9 112.3,101.9 112.3,101.9 112.3,101.9 112.4,101.9 112.4,101.9 + 112.4,101.9 112.5,101.9 112.5,101.9 112.5,101.9 112.5,101.9 112.6,101.9 112.6,101.9 112.6,101.9 112.7,101.9 112.7,101.9 + 112.7,101.9 112.7,101.9 112.8,101.9 112.8,101.9 112.8,101.9 112.8,101.9 112.9,101.9 112.9,101.9 112.9,101.9 113,101.9 + 113,101.9 113,101.9 113,101.9 113.1,101.9 113.1,101.9 113.1,101.9 113.2,101.9 113.2,101.9 113.2,101.9 113.2,101.9 + 113.3,101.9 113.3,101.9 113.3,101.9 113.4,101.9 113.4,101.9 113.4,101.9 113.4,101.9 113.5,101.9 113.5,101.9 113.5,101.9 + 113.6,101.9 113.6,101.9 113.6,101.9 113.6,101.9 113.7,101.9 113.7,101.9 113.7,101.9 113.8,101.9 113.8,101.9 113.8,101.9 + 113.8,101.9 113.9,101.9 113.9,101.9 113.9,101.9 114,101.9 114,101.9 114,101.9 114,101.9 114.1,101.9 114.1,101.9 + 114.1,101.9 114.2,101.9 114.2,101.9 114.2,101.9 114.2,101.9 114.3,101.9 114.3,101.9 114.3,101.9 114.4,101.9 114.4,101.9 + 114.4,101.9 114.4,101.9 114.5,101.9 114.5,101.9 114.5,101.9 114.6,101.9 114.6,101.9 114.6,101.9 114.6,101.9 114.7,101.9 + 114.7,101.9 114.7,101.9 114.8,101.9 114.8,101.9 114.8,101.9 114.8,101.9 114.9,101.9 114.9,101.9 114.9,101.9 115,101.9 + 115,99.8 114.9,99.8 "/> + <linearGradient id="SVGID_15_" gradientUnits="userSpaceOnUse" x1="111.134" y1="166.6087" x2="111.134" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st18" points="109.5,107.4 109.5,107.4 109.6,107.4 109.6,107.4 109.6,107.4 109.6,107.4 109.6,107.4 + 109.7,107.4 109.7,107.4 109.7,107.4 109.7,107.4 109.7,107.4 109.7,107.4 109.8,107.4 109.8,107.4 109.8,107.4 109.8,107.4 + 109.8,107.4 109.8,107.4 109.9,107.4 109.9,107.4 109.9,107.4 109.9,107.4 109.9,107.4 109.9,107.4 110,107.4 110,107.4 + 110,107.4 110,107.4 110,107.4 110,107.4 110.1,107.4 110.1,107.4 110.1,107.4 110.1,107.4 110.1,107.4 110.1,107.4 + 110.2,107.4 110.2,107.4 110.2,107.4 110.2,107.4 110.2,107.4 110.2,107.4 110.3,107.4 110.3,107.4 110.3,107.4 110.3,107.4 + 110.3,107.4 110.4,107.4 110.4,107.4 110.4,107.4 110.4,107.4 110.4,107.4 110.4,107.4 110.5,107.4 110.5,107.4 110.5,107.4 + 110.5,107.4 110.5,107.4 110.5,107.4 110.6,107.4 110.6,107.4 110.6,107.4 110.6,107.4 110.6,107.4 110.6,107.4 110.7,107.4 + 110.7,107.4 110.7,107.4 110.7,107.4 110.7,107.4 110.7,107.4 110.8,107.4 110.8,107.4 110.8,107.4 110.8,107.4 110.8,107.4 + 110.8,107.4 110.9,107.4 110.9,107.4 110.9,107.4 110.9,107.4 110.9,107.4 110.9,107.4 111,107.4 111,107.4 111,107.4 + 111,107.4 111,107.4 111,107.4 111.1,107.4 111.1,107.4 111.1,107.4 111.1,107.4 111.1,107.4 111.2,107.4 111.2,107.4 + 111.2,107.4 111.2,107.4 111.2,107.4 111.2,107.4 111.3,107.4 111.3,107.4 111.3,107.4 111.3,107.4 111.3,107.4 111.3,107.4 + 111.4,107.4 111.4,107.4 111.4,107.4 111.4,107.4 111.4,107.4 111.4,107.4 111.5,107.4 111.5,107.4 111.5,107.4 111.5,107.4 + 111.5,107.4 111.5,107.4 111.6,107.4 111.6,107.4 111.6,107.4 111.6,107.4 111.6,107.4 111.6,107.4 111.7,107.4 111.7,107.4 + 111.7,107.4 111.7,107.4 111.7,107.4 111.7,107.4 111.8,107.4 111.8,107.4 111.8,107.4 111.8,107.4 111.8,107.4 111.8,107.4 + 111.9,107.4 111.9,107.4 111.9,107.4 111.9,107.4 111.9,107.4 112,107.4 112,107.4 112,107.4 112,107.4 112,107.4 112,107.4 + 112.1,107.4 112.1,107.4 112.1,107.4 112.1,107.4 112.1,107.4 112.1,107.4 112.2,107.4 112.2,107.4 112.2,107.4 112.2,107.4 + 112.2,107.4 112.2,107.4 112.3,107.4 112.3,107.4 112.3,107.4 112.3,107.4 112.3,107.4 112.3,107.4 112.4,107.4 112.4,107.4 + 112.4,107.4 112.4,107.4 112.4,107.4 112.4,107.4 112.5,107.4 112.5,107.4 112.5,107.4 112.5,107.4 112.5,107.4 112.5,107.4 + 112.6,107.4 112.6,107.4 112.6,107.4 112.6,107.4 112.6,107.4 112.7,107.4 112.7,107.4 112.7,107.4 112.7,107.4 112.7,107.4 + 112.7,107.4 112.8,107.4 112.8,107.4 112.8,105.3 112.8,105.3 112.7,105.3 112.7,105.3 112.7,105.3 112.7,105.3 112.7,105.3 + 112.7,105.3 112.6,105.3 112.6,105.3 112.6,105.3 112.6,105.3 112.6,105.3 112.5,105.3 112.5,105.3 112.5,105.3 112.5,105.3 + 112.5,105.3 112.5,105.3 112.4,105.3 112.4,105.3 112.4,105.3 112.4,105.3 112.4,105.3 112.4,105.3 112.3,105.3 112.3,105.3 + 112.3,105.3 112.3,105.3 112.3,105.3 112.3,105.3 112.2,105.3 112.2,105.3 112.2,105.3 112.2,105.3 112.2,105.3 112.2,105.3 + 112.1,105.3 112.1,105.3 112.1,105.3 112.1,105.3 112.1,105.3 112.1,105.3 112,105.3 112,105.3 112,105.3 112,105.3 112,105.3 + 112,105.3 111.9,105.3 111.9,105.3 111.9,105.3 111.9,105.3 111.9,105.3 111.8,105.3 111.8,105.3 111.8,105.3 111.8,105.3 + 111.8,105.3 111.8,105.3 111.7,105.3 111.7,105.3 111.7,105.3 111.7,105.3 111.7,105.3 111.7,105.3 111.6,105.3 111.6,105.3 + 111.6,105.3 111.6,105.3 111.6,105.3 111.6,105.3 111.5,105.3 111.5,105.3 111.5,105.3 111.5,105.3 111.5,105.3 111.5,105.3 + 111.4,105.3 111.4,105.3 111.4,105.3 111.4,105.3 111.4,105.3 111.4,105.3 111.3,105.3 111.3,105.3 111.3,105.3 111.3,105.3 + 111.3,105.3 111.3,105.3 111.2,105.3 111.2,105.3 111.2,105.3 111.2,105.3 111.2,105.3 111.2,105.3 111.1,105.3 111.1,105.3 + 111.1,105.3 111.1,105.3 111.1,105.3 111,105.3 111,105.3 111,105.3 111,105.3 111,105.3 111,105.3 110.9,105.3 110.9,105.3 + 110.9,105.3 110.9,105.3 110.9,105.3 110.9,105.3 110.8,105.3 110.8,105.3 110.8,105.3 110.8,105.3 110.8,105.3 110.8,105.3 + 110.7,105.3 110.7,105.3 110.7,105.3 110.7,105.3 110.7,105.3 110.7,105.3 110.6,105.3 110.6,105.3 110.6,105.3 110.6,105.3 + 110.6,105.3 110.6,105.3 110.5,105.3 110.5,105.3 110.5,105.3 110.5,105.3 110.5,105.3 110.5,105.3 110.4,105.3 110.4,105.3 + 110.4,105.3 110.4,105.3 110.4,105.3 110.4,105.3 110.3,105.3 110.3,105.3 110.3,105.3 110.3,105.3 110.3,105.3 110.2,105.3 + 110.2,105.3 110.2,105.3 110.2,105.3 110.2,105.3 110.2,105.3 110.1,105.3 110.1,105.3 110.1,105.3 110.1,105.3 110.1,105.3 + 110.1,105.3 110,105.3 110,105.3 110,105.3 110,105.3 110,105.3 110,105.3 109.9,105.3 109.9,105.3 109.9,105.3 109.9,105.3 + 109.9,105.3 109.9,105.3 109.8,105.3 109.8,105.3 109.8,105.3 109.8,105.3 109.8,105.3 109.8,105.3 109.7,105.3 109.7,105.3 + 109.7,105.3 109.7,105.3 109.7,105.3 109.7,105.3 109.6,105.3 109.6,105.3 109.6,105.3 109.6,105.3 109.6,105.3 109.5,105.3 + 109.5,105.3 109.5,105.3 109.5,105.3 109.5,107.4 109.5,107.4 "/> + <linearGradient id="SVGID_16_" gradientUnits="userSpaceOnUse" x1="112.2248" y1="166.6087" x2="112.2248" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st19" points="114.9,110.7 114.9,110.7 114.8,110.7 114.8,110.7 114.8,110.7 114.8,110.7 114.7,110.7 + 114.7,110.7 114.7,110.7 114.6,110.7 114.6,110.7 114.6,110.7 114.6,110.7 114.5,110.7 114.5,110.7 114.5,110.7 114.4,110.7 + 114.4,110.7 114.4,110.7 114.4,110.7 114.3,110.7 114.3,110.7 114.3,110.7 114.2,110.7 114.2,110.7 114.2,110.7 114.2,110.7 + 114.1,110.7 114.1,110.7 114.1,110.7 114,110.7 114,110.7 114,110.7 114,110.7 113.9,110.7 113.9,110.7 113.9,110.7 + 113.8,110.7 113.8,110.7 113.8,110.7 113.8,110.7 113.7,110.7 113.7,110.7 113.7,110.7 113.6,110.7 113.6,110.7 113.6,110.7 + 113.6,110.7 113.5,110.7 113.5,110.7 113.5,110.7 113.4,110.7 113.4,110.7 113.4,110.7 113.4,110.7 113.3,110.7 113.3,110.7 + 113.3,110.7 113.2,110.7 113.2,110.7 113.2,110.7 113.2,110.7 113.1,110.7 113.1,110.7 113.1,110.7 113,110.7 113,110.7 + 113,110.7 113,110.7 112.9,110.7 112.9,110.7 112.9,110.7 112.8,110.7 112.8,110.7 112.8,110.7 112.8,110.7 112.7,110.7 + 112.7,110.7 112.7,110.7 112.7,110.7 112.6,110.7 112.6,110.7 112.6,110.7 112.5,110.7 112.5,110.7 112.5,110.7 112.5,110.7 + 112.4,110.7 112.4,110.7 112.4,110.7 112.3,110.7 112.3,110.7 112.3,110.7 112.3,110.7 112.2,110.7 112.2,110.7 112.2,110.7 + 112.1,110.7 112.1,110.7 112.1,110.7 112.1,110.7 112,110.7 112,110.7 112,110.7 111.9,110.7 111.9,110.7 111.9,110.7 + 111.9,110.7 111.8,110.7 111.8,110.7 111.8,110.7 111.7,110.7 111.7,110.7 111.7,110.7 111.7,110.7 111.6,110.7 111.6,110.7 + 111.6,110.7 111.5,110.7 111.5,110.7 111.5,110.7 111.5,110.7 111.4,110.7 111.4,110.7 111.4,110.7 111.3,110.7 111.3,110.7 + 111.3,110.7 111.3,110.7 111.2,110.7 111.2,110.7 111.2,110.7 111.1,110.7 111.1,110.7 111.1,110.7 111.1,110.7 111,110.7 + 111,110.7 111,110.7 110.9,110.7 110.9,110.7 110.9,110.7 110.9,110.7 110.8,110.7 110.8,110.7 110.8,110.7 110.7,110.7 + 110.7,110.7 110.7,110.7 110.7,110.7 110.6,110.7 110.6,110.7 110.6,110.7 110.5,110.7 110.5,110.7 110.5,110.7 110.5,110.7 + 110.4,110.7 110.4,110.7 110.4,110.7 110.4,110.7 110.3,110.7 110.3,110.7 110.3,110.7 110.2,110.7 110.2,110.7 110.2,110.7 + 110.2,110.7 110.1,110.7 110.1,110.7 110.1,110.7 110,110.7 110,110.7 110,110.7 110,110.7 109.9,110.7 109.9,110.7 + 109.9,110.7 109.8,110.7 109.8,110.7 109.8,110.7 109.8,110.7 109.7,110.7 109.7,110.7 109.7,110.7 109.6,110.7 109.6,110.7 + 109.6,110.7 109.6,110.7 109.5,110.7 109.5,110.7 109.5,112.8 109.5,112.8 109.6,112.8 109.6,112.8 109.6,112.8 109.6,112.8 + 109.7,112.8 109.7,112.8 109.7,112.8 109.8,112.8 109.8,112.8 109.8,112.8 109.8,112.8 109.9,112.8 109.9,112.8 109.9,112.8 + 110,112.8 110,112.8 110,112.8 110,112.8 110.1,112.8 110.1,112.8 110.1,112.8 110.2,112.8 110.2,112.8 110.2,112.8 + 110.2,112.8 110.3,112.8 110.3,112.8 110.3,112.8 110.4,112.8 110.4,112.8 110.4,112.8 110.4,112.8 110.5,112.8 110.5,112.8 + 110.5,112.8 110.5,112.8 110.6,112.8 110.6,112.8 110.6,112.8 110.7,112.8 110.7,112.8 110.7,112.8 110.7,112.8 110.8,112.8 + 110.8,112.8 110.8,112.8 110.9,112.8 110.9,112.8 110.9,112.8 110.9,112.8 111,112.8 111,112.8 111,112.8 111.1,112.8 + 111.1,112.8 111.1,112.8 111.1,112.8 111.2,112.8 111.2,112.8 111.2,112.8 111.3,112.8 111.3,112.8 111.3,112.8 111.3,112.8 + 111.4,112.8 111.4,112.8 111.4,112.8 111.5,112.8 111.5,112.8 111.5,112.8 111.5,112.8 111.6,112.8 111.6,112.8 111.6,112.8 + 111.7,112.8 111.7,112.8 111.7,112.8 111.7,112.8 111.8,112.8 111.8,112.8 111.8,112.8 111.9,112.8 111.9,112.8 111.9,112.8 + 111.9,112.8 112,112.8 112,112.8 112,112.8 112.1,112.8 112.1,112.8 112.1,112.8 112.1,112.8 112.2,112.8 112.2,112.8 + 112.2,112.8 112.3,112.8 112.3,112.8 112.3,112.8 112.3,112.8 112.4,112.8 112.4,112.8 112.4,112.8 112.5,112.8 112.5,112.8 + 112.5,112.8 112.5,112.8 112.6,112.8 112.6,112.8 112.6,112.8 112.7,112.8 112.7,112.8 112.7,112.8 112.7,112.8 112.8,112.8 + 112.8,112.8 112.8,112.8 112.8,112.8 112.9,112.8 112.9,112.8 112.9,112.8 113,112.8 113,112.8 113,112.8 113,112.8 + 113.1,112.8 113.1,112.8 113.1,112.8 113.2,112.8 113.2,112.8 113.2,112.8 113.2,112.8 113.3,112.8 113.3,112.8 113.3,112.8 + 113.4,112.8 113.4,112.8 113.4,112.8 113.4,112.8 113.5,112.8 113.5,112.8 113.5,112.8 113.6,112.8 113.6,112.8 113.6,112.8 + 113.6,112.8 113.7,112.8 113.7,112.8 113.7,112.8 113.8,112.8 113.8,112.8 113.8,112.8 113.8,112.8 113.9,112.8 113.9,112.8 + 113.9,112.8 114,112.8 114,112.8 114,112.8 114,112.8 114.1,112.8 114.1,112.8 114.1,112.8 114.2,112.8 114.2,112.8 + 114.2,112.8 114.2,112.8 114.3,112.8 114.3,112.8 114.3,112.8 114.4,112.8 114.4,112.8 114.4,112.8 114.4,112.8 114.5,112.8 + 114.5,112.8 114.5,112.8 114.6,112.8 114.6,112.8 114.6,112.8 114.6,112.8 114.7,112.8 114.7,112.8 114.7,112.8 114.8,112.8 + 114.8,112.8 114.8,112.8 114.8,112.8 114.9,112.8 114.9,112.8 114.9,112.8 115,112.8 115,110.7 114.9,110.7 "/> + </g> + </g> + </g> +</switch> +</svg> diff --git a/homescreen/qml/images/Shortcut/hvac_active.svg b/homescreen/qml/images/Shortcut/hvac_active.svg new file mode 100644 index 0000000..46be46b --- /dev/null +++ b/homescreen/qml/images/Shortcut/hvac_active.svg @@ -0,0 +1,614 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/"> + <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/"> + <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/"> + <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/"> + <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/"> + <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/"> + <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/"> + <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/"> +]> +<svg version="1.1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 195 216.8" + style="enable-background:new 0 0 195 216.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#0DF9FF;} + .st1{fill:url(#Active_2_1_);} + .st2{fill:#FFFFFF;} + .st3{font-family:'Roboto-Regular';} + .st4{font-size:11px;} + .st5{letter-spacing:2;} + .st6{fill:url(#SVGID_1_);} + .st7{fill:url(#SVGID_2_);} + .st8{fill:url(#SVGID_3_);} + .st9{fill:url(#SVGID_4_);} + .st10{fill:url(#SVGID_5_);} + .st11{fill:url(#SVGID_6_);} + .st12{fill:url(#SVGID_7_);} + .st13{fill:url(#SVGID_8_);} + .st14{fill:url(#SVGID_9_);} + .st15{fill:url(#SVGID_10_);} + .st16{fill:url(#SVGID_11_);} + .st17{fill:url(#SVGID_12_);} + .st18{fill:url(#SVGID_13_);} + .st19{fill:url(#SVGID_14_);} + .st20{fill:url(#SVGID_15_);} + .st21{fill:url(#SVGID_16_);} +</style> +<switch> + <g i:extraneous="self"> + <g id="Layer_6"> + + <rect id="Active_1" y="214.3" transform="matrix(-1 -1.224647e-16 1.224647e-16 -1 195.8833 431.0468)" class="st0" width="195.9" height="2.4"/> + <linearGradient id="Active_2_1_" gradientUnits="userSpaceOnUse" x1="97.9416" y1="236.9585" x2="97.9416" y2="-68.5304"> + <stop offset="0" style="stop-color:#0DF9FF"/> + <stop offset="9.208472e-02" style="stop-color:#0DF9FF;stop-opacity:0.853"/> + <stop offset="0.6264" style="stop-color:#0DF9FF;stop-opacity:0"/> + </linearGradient> + <rect id="Active_2" class="st1" width="195.9" height="214.3"/> + </g> + <g id="HVAC"> + <g> + <g id="HVAC_Icon_2_"> + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="97.4991" y1="166.6087" x2="97.4991" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st6" d="M106.2,113.4V81.3c0-4.9-3.9-8.8-8.7-8.8c-4.8,0-8.7,4-8.7,8.8v1.2H91v-1.2c0-3.7,2.9-6.6,6.5-6.6 + c3.6,0,6.5,3,6.5,6.6v33.3l0.5,0.3c3.8,2.4,6.1,6.5,6.1,11c0,7.2-5.8,13.1-13,13.1c-7.3,0-13.2-5.9-13.2-13.1 + c0-4.6,2.3-8.8,6-11.1l0.5-0.3V88.3h-2.2v25c-4.1,2.8-6.5,7.5-6.5,12.6c0,8.4,6.9,15.3,15.3,15.3c8.4,0,15.2-6.9,15.2-15.3 + C112.8,120.9,110.3,116.2,106.2,113.4z"/> + <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="97.4991" y1="166.6087" x2="97.4991" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st7" d="M97.6,98.6c-4,0-4.4,2.4-4.4,3.5v13.7l-1.4,0.9c-3.2,2-5.2,5.5-5.2,9.3c0,6,4.9,10.9,10.9,10.9 + c2,0,4-0.6,5.8-1.6l-1.2-1.9c-1.4,0.9-3,1.3-4.6,1.3c-4.8,0-8.7-3.9-8.7-8.7c0-3,1.5-5.8,4.1-7.4l2.5-1.5v-14.9 + c0-0.4,0-1.3,2.2-1.3c2.1,0,2.1,0.6,2.1,1.2V117l2.5,1.6c2.5,1.6,4,4.4,4,7.3h2.2c0-3.7-1.9-7.2-5-9.2l-1.5-1V102 + C101.9,100.5,101.1,98.6,97.6,98.6z"/> + <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="82.7742" y1="166.6087" x2="82.7742" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st8" points="80.1,80.1 80.1,80.1 80.2,80.1 80.2,80.1 80.2,80.1 80.2,80.1 80.3,80.1 80.3,80.1 80.3,80.1 + 80.4,80.1 80.4,80.1 80.4,80.1 80.4,80.1 80.5,80.1 80.5,80.1 80.5,80.1 80.6,80.1 80.6,80.1 80.6,80.1 80.6,80.1 80.7,80.1 + 80.7,80.1 80.7,80.1 80.8,80.1 80.8,80.1 80.8,80.1 80.8,80.1 80.9,80.1 80.9,80.1 80.9,80.1 81,80.1 81,80.1 81,80.1 81,80.1 + 81.1,80.1 81.1,80.1 81.1,80.1 81.2,80.1 81.2,80.1 81.2,80.1 81.2,80.1 81.3,80.1 81.3,80.1 81.3,80.1 81.4,80.1 81.4,80.1 + 81.4,80.1 81.4,80.1 81.5,80.1 81.5,80.1 81.5,80.1 81.6,80.1 81.6,80.1 81.6,80.1 81.6,80.1 81.7,80.1 81.7,80.1 81.7,80.1 + 81.8,80.1 81.8,80.1 81.8,80.1 81.8,80.1 81.9,80.1 81.9,80.1 81.9,80.1 82,80.1 82,80.1 82,80.1 82,80.1 82.1,80.1 82.1,80.1 + 82.1,80.1 82.1,80.1 82.2,80.1 82.2,80.1 82.2,80.1 82.3,80.1 82.3,80.1 82.3,80.1 82.3,80.1 82.4,80.1 82.4,80.1 82.4,80.1 + 82.5,80.1 82.5,80.1 82.5,80.1 82.5,80.1 82.6,80.1 82.6,80.1 82.6,80.1 82.7,80.1 82.7,80.1 82.7,80.1 82.7,80.1 82.8,80.1 + 82.8,80.1 82.8,80.1 82.9,80.1 82.9,80.1 82.9,80.1 82.9,80.1 83,80.1 83,80.1 83,80.1 83.1,80.1 83.1,80.1 83.1,80.1 + 83.1,80.1 83.2,80.1 83.2,80.1 83.2,80.1 83.3,80.1 83.3,80.1 83.3,80.1 83.3,80.1 83.4,80.1 83.4,80.1 83.4,80.1 83.5,80.1 + 83.5,80.1 83.5,80.1 83.5,80.1 83.6,80.1 83.6,80.1 83.6,80.1 83.7,80.1 83.7,80.1 83.7,80.1 83.7,80.1 83.8,80.1 83.8,80.1 + 83.8,80.1 83.9,80.1 83.9,80.1 83.9,80.1 83.9,80.1 84,80.1 84,80.1 84,80.1 84.1,80.1 84.1,80.1 84.1,80.1 84.1,80.1 + 84.2,80.1 84.2,80.1 84.2,80.1 84.3,80.1 84.3,80.1 84.3,80.1 84.3,80.1 84.4,80.1 84.4,80.1 84.4,80.1 84.5,80.1 84.5,80.1 + 84.5,80.1 84.5,80.1 84.6,80.1 84.6,80.1 84.6,80.1 84.6,80.1 84.7,80.1 84.7,80.1 84.7,80.1 84.8,80.1 84.8,80.1 84.8,80.1 + 84.8,80.1 84.9,80.1 84.9,80.1 84.9,80.1 85,80.1 85,80.1 85,80.1 85,80.1 85.1,80.1 85.1,80.1 85.1,80.1 85.2,80.1 85.2,80.1 + 85.2,80.1 85.2,80.1 85.3,80.1 85.3,80.1 85.3,80.1 85.4,80.1 85.4,80.1 85.4,80.1 85.4,80.1 85.5,80.1 85.5,80.1 85.5,78 + 85.5,78 85.4,78 85.4,78 85.4,78 85.4,78 85.3,78 85.3,78 85.3,78 85.2,78 85.2,78 85.2,78 85.2,78 85.1,78 85.1,78 85.1,78 + 85,78 85,78 85,78 85,78 84.9,78 84.9,78 84.9,78 84.8,78 84.8,78 84.8,78 84.8,78 84.7,78 84.7,78 84.7,78 84.6,78 84.6,78 + 84.6,78 84.6,78 84.5,78 84.5,78 84.5,78 84.5,78 84.4,78 84.4,78 84.4,78 84.3,78 84.3,78 84.3,78 84.3,78 84.2,78 84.2,78 + 84.2,78 84.1,78 84.1,78 84.1,78 84.1,78 84,78 84,78 84,78 83.9,78 83.9,78 83.9,78 83.9,78 83.8,78 83.8,78 83.8,78 83.7,78 + 83.7,78 83.7,78 83.7,78 83.6,78 83.6,78 83.6,78 83.5,78 83.5,78 83.5,78 83.5,78 83.4,78 83.4,78 83.4,78 83.3,78 83.3,78 + 83.3,78 83.3,78 83.2,78 83.2,78 83.2,78 83.1,78 83.1,78 83.1,78 83.1,78 83,78 83,78 83,78 82.9,78 82.9,78 82.9,78 82.9,78 + 82.8,78 82.8,78 82.8,78 82.7,78 82.7,78 82.7,78 82.7,78 82.6,78 82.6,78 82.6,78 82.5,78 82.5,78 82.5,78 82.5,78 82.4,78 + 82.4,78 82.4,78 82.3,78 82.3,78 82.3,78 82.3,78 82.2,78 82.2,78 82.2,78 82.1,78 82.1,78 82.1,78 82.1,78 82,78 82,78 82,78 + 82,78 81.9,78 81.9,78 81.9,78 81.8,78 81.8,78 81.8,78 81.8,78 81.7,78 81.7,78 81.7,78 81.6,78 81.6,78 81.6,78 81.6,78 + 81.5,78 81.5,78 81.5,78 81.4,78 81.4,78 81.4,78 81.4,78 81.3,78 81.3,78 81.3,78 81.2,78 81.2,78 81.2,78 81.2,78 81.1,78 + 81.1,78 81.1,78 81,78 81,78 81,78 81,78 80.9,78 80.9,78 80.9,78 80.8,78 80.8,78 80.8,78 80.8,78 80.7,78 80.7,78 80.7,78 + 80.6,78 80.6,78 80.6,78 80.6,78 80.5,78 80.5,78 80.5,78 80.4,78 80.4,78 80.4,78 80.4,78 80.3,78 80.3,78 80.3,78 80.2,78 + 80.2,78 80.2,78 80.2,78 80.1,78 80.1,78 80.1,78 80,78 80,80.1 80.1,80.1 "/> + <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="83.865" y1="166.6087" x2="83.865" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st9" points="85.4,83.5 85.4,83.5 85.4,83.5 85.4,83.5 85.4,83.5 85.4,83.5 85.3,83.5 85.3,83.5 85.3,83.5 + 85.3,83.5 85.3,83.5 85.3,83.5 85.2,83.5 85.2,83.5 85.2,83.5 85.2,83.5 85.2,83.5 85.2,83.5 85.1,83.5 85.1,83.5 85.1,83.5 + 85.1,83.5 85.1,83.5 85.1,83.5 85,83.5 85,83.5 85,83.5 85,83.5 85,83.5 85,83.5 84.9,83.5 84.9,83.5 84.9,83.5 84.9,83.5 + 84.9,83.5 84.9,83.5 84.8,83.5 84.8,83.5 84.8,83.5 84.8,83.5 84.8,83.5 84.8,83.5 84.7,83.5 84.7,83.5 84.7,83.5 84.7,83.5 + 84.7,83.5 84.6,83.5 84.6,83.5 84.6,83.5 84.6,83.5 84.6,83.5 84.6,83.5 84.5,83.5 84.5,83.5 84.5,83.5 84.5,83.5 84.5,83.5 + 84.5,83.5 84.4,83.5 84.4,83.5 84.4,83.5 84.4,83.5 84.4,83.5 84.4,83.5 84.3,83.5 84.3,83.5 84.3,83.5 84.3,83.5 84.3,83.5 + 84.3,83.5 84.2,83.5 84.2,83.5 84.2,83.5 84.2,83.5 84.2,83.5 84.2,83.5 84.1,83.5 84.1,83.5 84.1,83.5 84.1,83.5 84.1,83.5 + 84.1,83.5 84,83.5 84,83.5 84,83.5 84,83.5 84,83.5 84,83.5 83.9,83.5 83.9,83.5 83.9,83.5 83.9,83.5 83.9,83.5 83.8,83.5 + 83.8,83.5 83.8,83.5 83.8,83.5 83.8,83.5 83.8,83.5 83.7,83.5 83.7,83.5 83.7,83.5 83.7,83.5 83.7,83.5 83.7,83.5 83.6,83.5 + 83.6,83.5 83.6,83.5 83.6,83.5 83.6,83.5 83.6,83.5 83.5,83.5 83.5,83.5 83.5,83.5 83.5,83.5 83.5,83.5 83.5,83.5 83.4,83.5 + 83.4,83.5 83.4,83.5 83.4,83.5 83.4,83.5 83.4,83.5 83.3,83.5 83.3,83.5 83.3,83.5 83.3,83.5 83.3,83.5 83.3,83.5 83.2,83.5 + 83.2,83.5 83.2,83.5 83.2,83.5 83.2,83.5 83.1,83.5 83.1,83.5 83.1,83.5 83.1,83.5 83.1,83.5 83.1,83.5 83,83.5 83,83.5 + 83,83.5 83,83.5 83,83.5 83,83.5 82.9,83.5 82.9,83.5 82.9,83.5 82.9,83.5 82.9,83.5 82.9,83.5 82.8,83.5 82.8,83.5 82.8,83.5 + 82.8,83.5 82.8,83.5 82.8,83.5 82.7,83.5 82.7,83.5 82.7,83.5 82.7,83.5 82.7,83.5 82.7,83.5 82.6,83.5 82.6,83.5 82.6,83.5 + 82.6,83.5 82.6,83.5 82.6,83.5 82.5,83.5 82.5,83.5 82.5,83.5 82.5,83.5 82.5,83.5 82.5,83.5 82.4,83.5 82.4,83.5 82.4,83.5 + 82.4,83.5 82.4,83.5 82.3,83.5 82.3,83.5 82.3,83.5 82.3,83.5 82.3,83.5 82.3,83.5 82.2,83.5 82.2,83.5 82.2,85.5 82.2,85.5 + 82.3,85.5 82.3,85.5 82.3,85.5 82.3,85.5 82.3,85.5 82.3,85.5 82.4,85.5 82.4,85.5 82.4,85.5 82.4,85.5 82.4,85.5 82.5,85.5 + 82.5,85.5 82.5,85.5 82.5,85.5 82.5,85.5 82.5,85.5 82.6,85.5 82.6,85.5 82.6,85.5 82.6,85.5 82.6,85.5 82.6,85.5 82.7,85.5 + 82.7,85.5 82.7,85.5 82.7,85.5 82.7,85.5 82.7,85.5 82.8,85.5 82.8,85.5 82.8,85.5 82.8,85.5 82.8,85.5 82.8,85.5 82.9,85.5 + 82.9,85.5 82.9,85.5 82.9,85.5 82.9,85.5 82.9,85.5 83,85.5 83,85.5 83,85.5 83,85.5 83,85.5 83,85.5 83.1,85.5 83.1,85.5 + 83.1,85.5 83.1,85.5 83.1,85.5 83.1,85.5 83.2,85.5 83.2,85.5 83.2,85.5 83.2,85.5 83.2,85.5 83.3,85.5 83.3,85.5 83.3,85.5 + 83.3,85.5 83.3,85.5 83.3,85.5 83.4,85.5 83.4,85.5 83.4,85.5 83.4,85.5 83.4,85.5 83.4,85.5 83.5,85.5 83.5,85.5 83.5,85.5 + 83.5,85.5 83.5,85.5 83.5,85.5 83.6,85.5 83.6,85.5 83.6,85.5 83.6,85.5 83.6,85.5 83.6,85.5 83.7,85.5 83.7,85.5 83.7,85.5 + 83.7,85.5 83.7,85.5 83.7,85.5 83.8,85.5 83.8,85.5 83.8,85.5 83.8,85.5 83.8,85.5 83.8,85.5 83.9,85.5 83.9,85.5 83.9,85.5 + 83.9,85.5 83.9,85.5 84,85.5 84,85.5 84,85.5 84,85.5 84,85.5 84,85.5 84.1,85.5 84.1,85.5 84.1,85.5 84.1,85.5 84.1,85.5 + 84.1,85.5 84.2,85.5 84.2,85.5 84.2,85.5 84.2,85.5 84.2,85.5 84.2,85.5 84.3,85.5 84.3,85.5 84.3,85.5 84.3,85.5 84.3,85.5 + 84.3,85.5 84.4,85.5 84.4,85.5 84.4,85.5 84.4,85.5 84.4,85.5 84.4,85.5 84.5,85.5 84.5,85.5 84.5,85.5 84.5,85.5 84.5,85.5 + 84.5,85.5 84.6,85.5 84.6,85.5 84.6,85.5 84.6,85.5 84.6,85.5 84.6,85.5 84.7,85.5 84.7,85.5 84.7,85.5 84.7,85.5 84.7,85.5 + 84.8,85.5 84.8,85.5 84.8,85.5 84.8,85.5 84.8,85.5 84.8,85.5 84.9,85.5 84.9,85.5 84.9,85.5 84.9,85.5 84.9,85.5 84.9,85.5 + 85,85.5 85,85.5 85,85.5 85,85.5 85,85.5 85,85.5 85.1,85.5 85.1,85.5 85.1,85.5 85.1,85.5 85.1,85.5 85.1,85.5 85.2,85.5 + 85.2,85.5 85.2,85.5 85.2,85.5 85.2,85.5 85.2,85.5 85.3,85.5 85.3,85.5 85.3,85.5 85.3,85.5 85.3,85.5 85.3,85.5 85.4,85.5 + 85.4,85.5 85.4,85.5 85.4,85.5 85.4,85.5 85.4,85.5 85.5,85.5 85.5,85.5 85.5,85.5 85.5,83.5 85.5,83.5 85.5,83.5 "/> + <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="82.7742" y1="166.6087" x2="82.7742" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st10" points="80.1,91 80.1,91 80.2,91 80.2,91 80.2,91 80.2,91 80.3,91 80.3,91 80.3,91 80.4,91 80.4,91 + 80.4,91 80.4,91 80.5,91 80.5,91 80.5,91 80.6,91 80.6,91 80.6,91 80.6,91 80.7,91 80.7,91 80.7,91 80.8,91 80.8,91 80.8,91 + 80.8,91 80.9,91 80.9,91 80.9,91 81,91 81,91 81,91 81,91 81.1,91 81.1,91 81.1,91 81.2,91 81.2,91 81.2,91 81.2,91 81.3,91 + 81.3,91 81.3,91 81.4,91 81.4,91 81.4,91 81.4,91 81.5,91 81.5,91 81.5,91 81.6,91 81.6,91 81.6,91 81.6,91 81.7,91 81.7,91 + 81.7,91 81.8,91 81.8,91 81.8,91 81.8,91 81.9,91 81.9,91 81.9,91 82,91 82,91 82,91 82,91 82.1,91 82.1,91 82.1,91 82.1,91 + 82.2,91 82.2,91 82.2,91 82.3,91 82.3,91 82.3,91 82.3,91 82.4,91 82.4,91 82.4,91 82.5,91 82.5,91 82.5,91 82.5,91 82.6,91 + 82.6,91 82.6,91 82.7,91 82.7,91 82.7,91 82.7,91 82.8,91 82.8,91 82.8,91 82.9,91 82.9,91 82.9,91 82.9,91 83,91 83,91 83,91 + 83.1,91 83.1,91 83.1,91 83.1,91 83.2,91 83.2,91 83.2,91 83.3,91 83.3,91 83.3,91 83.3,91 83.4,91 83.4,91 83.4,91 83.5,91 + 83.5,91 83.5,91 83.5,91 83.6,91 83.6,91 83.6,91 83.7,91 83.7,91 83.7,91 83.7,91 83.8,91 83.8,91 83.8,91 83.9,91 83.9,91 + 83.9,91 83.9,91 84,91 84,91 84,91 84.1,91 84.1,91 84.1,91 84.1,91 84.2,91 84.2,91 84.2,91 84.3,91 84.3,91 84.3,91 84.3,91 + 84.4,91 84.4,91 84.4,91 84.5,91 84.5,91 84.5,91 84.5,91 84.6,91 84.6,91 84.6,91 84.6,91 84.7,91 84.7,91 84.7,91 84.8,91 + 84.8,91 84.8,91 84.8,91 84.9,91 84.9,91 84.9,91 85,91 85,91 85,91 85,91 85.1,91 85.1,91 85.1,91 85.2,91 85.2,91 85.2,91 + 85.2,91 85.3,91 85.3,91 85.3,91 85.4,91 85.4,91 85.4,91 85.4,91 85.5,91 85.5,91 85.5,88.9 85.5,88.9 85.4,88.9 85.4,88.9 + 85.4,88.9 85.4,88.9 85.3,88.9 85.3,88.9 85.3,88.9 85.2,88.9 85.2,88.9 85.2,88.9 85.2,88.9 85.1,88.9 85.1,88.9 85.1,88.9 + 85,88.9 85,88.9 85,88.9 85,88.9 84.9,88.9 84.9,88.9 84.9,88.9 84.8,88.9 84.8,88.9 84.8,88.9 84.8,88.9 84.7,88.9 84.7,88.9 + 84.7,88.9 84.6,88.9 84.6,88.9 84.6,88.9 84.6,88.9 84.5,88.9 84.5,88.9 84.5,88.9 84.5,88.9 84.4,88.9 84.4,88.9 84.4,88.9 + 84.3,88.9 84.3,88.9 84.3,88.9 84.3,88.9 84.2,88.9 84.2,88.9 84.2,88.9 84.1,88.9 84.1,88.9 84.1,88.9 84.1,88.9 84,88.9 + 84,88.9 84,88.9 83.9,88.9 83.9,88.9 83.9,88.9 83.9,88.9 83.8,88.9 83.8,88.9 83.8,88.9 83.7,88.9 83.7,88.9 83.7,88.9 + 83.7,88.9 83.6,88.9 83.6,88.9 83.6,88.9 83.5,88.9 83.5,88.9 83.5,88.9 83.5,88.9 83.4,88.9 83.4,88.9 83.4,88.9 83.3,88.9 + 83.3,88.9 83.3,88.9 83.3,88.9 83.2,88.9 83.2,88.9 83.2,88.9 83.1,88.9 83.1,88.9 83.1,88.9 83.1,88.9 83,88.9 83,88.9 + 83,88.9 82.9,88.9 82.9,88.9 82.9,88.9 82.9,88.9 82.8,88.9 82.8,88.9 82.8,88.9 82.7,88.9 82.7,88.9 82.7,88.9 82.7,88.9 + 82.6,88.9 82.6,88.9 82.6,88.9 82.5,88.9 82.5,88.9 82.5,88.9 82.5,88.9 82.4,88.9 82.4,88.9 82.4,88.9 82.3,88.9 82.3,88.9 + 82.3,88.9 82.3,88.9 82.2,88.9 82.2,88.9 82.2,88.9 82.1,88.9 82.1,88.9 82.1,88.9 82.1,88.9 82,88.9 82,88.9 82,88.9 82,88.9 + 81.9,88.9 81.9,88.9 81.9,88.9 81.8,88.9 81.8,88.9 81.8,88.9 81.8,88.9 81.7,88.9 81.7,88.9 81.7,88.9 81.6,88.9 81.6,88.9 + 81.6,88.9 81.6,88.9 81.5,88.9 81.5,88.9 81.5,88.9 81.4,88.9 81.4,88.9 81.4,88.9 81.4,88.9 81.3,88.9 81.3,88.9 81.3,88.9 + 81.2,88.9 81.2,88.9 81.2,88.9 81.2,88.9 81.1,88.9 81.1,88.9 81.1,88.9 81,88.9 81,88.9 81,88.9 81,88.9 80.9,88.9 80.9,88.9 + 80.9,88.9 80.8,88.9 80.8,88.9 80.8,88.9 80.8,88.9 80.7,88.9 80.7,88.9 80.7,88.9 80.6,88.9 80.6,88.9 80.6,88.9 80.6,88.9 + 80.5,88.9 80.5,88.9 80.5,88.9 80.4,88.9 80.4,88.9 80.4,88.9 80.4,88.9 80.3,88.9 80.3,88.9 80.3,88.9 80.2,88.9 80.2,88.9 + 80.2,88.9 80.2,88.9 80.1,88.9 80.1,88.9 80.1,88.9 80,88.9 80,91 80.1,91 "/> + <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="83.865" y1="166.6087" x2="83.865" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st11" points="85.4,94.4 85.4,94.4 85.4,94.4 85.4,94.4 85.4,94.4 85.4,94.4 85.3,94.4 85.3,94.4 85.3,94.4 + 85.3,94.4 85.3,94.4 85.3,94.4 85.2,94.4 85.2,94.4 85.2,94.4 85.2,94.4 85.2,94.4 85.2,94.4 85.1,94.4 85.1,94.4 85.1,94.4 + 85.1,94.4 85.1,94.4 85.1,94.4 85,94.4 85,94.4 85,94.4 85,94.4 85,94.4 85,94.4 84.9,94.4 84.9,94.4 84.9,94.4 84.9,94.4 + 84.9,94.4 84.9,94.4 84.8,94.4 84.8,94.4 84.8,94.4 84.8,94.4 84.8,94.4 84.8,94.4 84.7,94.4 84.7,94.4 84.7,94.4 84.7,94.4 + 84.7,94.4 84.6,94.4 84.6,94.4 84.6,94.4 84.6,94.4 84.6,94.4 84.6,94.4 84.5,94.4 84.5,94.4 84.5,94.4 84.5,94.4 84.5,94.4 + 84.5,94.4 84.4,94.4 84.4,94.4 84.4,94.4 84.4,94.4 84.4,94.4 84.4,94.4 84.3,94.4 84.3,94.4 84.3,94.4 84.3,94.4 84.3,94.4 + 84.3,94.4 84.2,94.4 84.2,94.4 84.2,94.4 84.2,94.4 84.2,94.4 84.2,94.4 84.1,94.4 84.1,94.4 84.1,94.4 84.1,94.4 84.1,94.4 + 84.1,94.4 84,94.4 84,94.4 84,94.4 84,94.4 84,94.4 84,94.4 83.9,94.4 83.9,94.4 83.9,94.4 83.9,94.4 83.9,94.4 83.8,94.4 + 83.8,94.4 83.8,94.4 83.8,94.4 83.8,94.4 83.8,94.4 83.7,94.4 83.7,94.4 83.7,94.4 83.7,94.4 83.7,94.4 83.7,94.4 83.6,94.4 + 83.6,94.4 83.6,94.4 83.6,94.4 83.6,94.4 83.6,94.4 83.5,94.4 83.5,94.4 83.5,94.4 83.5,94.4 83.5,94.4 83.5,94.4 83.4,94.4 + 83.4,94.4 83.4,94.4 83.4,94.4 83.4,94.4 83.4,94.4 83.3,94.4 83.3,94.4 83.3,94.4 83.3,94.4 83.3,94.4 83.3,94.4 83.2,94.4 + 83.2,94.4 83.2,94.4 83.2,94.4 83.2,94.4 83.1,94.4 83.1,94.4 83.1,94.4 83.1,94.4 83.1,94.4 83.1,94.4 83,94.4 83,94.4 + 83,94.4 83,94.4 83,94.4 83,94.4 82.9,94.4 82.9,94.4 82.9,94.4 82.9,94.4 82.9,94.4 82.9,94.4 82.8,94.4 82.8,94.4 82.8,94.4 + 82.8,94.4 82.8,94.4 82.8,94.4 82.7,94.4 82.7,94.4 82.7,94.4 82.7,94.4 82.7,94.4 82.7,94.4 82.6,94.4 82.6,94.4 82.6,94.4 + 82.6,94.4 82.6,94.4 82.6,94.4 82.5,94.4 82.5,94.4 82.5,94.4 82.5,94.4 82.5,94.4 82.5,94.4 82.4,94.4 82.4,94.4 82.4,94.4 + 82.4,94.4 82.4,94.4 82.3,94.4 82.3,94.4 82.3,94.4 82.3,94.4 82.3,94.4 82.3,94.4 82.2,94.4 82.2,94.4 82.2,96.5 82.2,96.5 + 82.3,96.5 82.3,96.5 82.3,96.5 82.3,96.5 82.3,96.5 82.3,96.5 82.4,96.5 82.4,96.5 82.4,96.5 82.4,96.5 82.4,96.5 82.5,96.5 + 82.5,96.5 82.5,96.5 82.5,96.5 82.5,96.5 82.5,96.5 82.6,96.5 82.6,96.5 82.6,96.5 82.6,96.5 82.6,96.5 82.6,96.5 82.7,96.5 + 82.7,96.5 82.7,96.5 82.7,96.5 82.7,96.5 82.7,96.5 82.8,96.5 82.8,96.5 82.8,96.5 82.8,96.5 82.8,96.5 82.8,96.5 82.9,96.5 + 82.9,96.5 82.9,96.5 82.9,96.5 82.9,96.5 82.9,96.5 83,96.5 83,96.5 83,96.5 83,96.5 83,96.5 83,96.5 83.1,96.5 83.1,96.5 + 83.1,96.5 83.1,96.5 83.1,96.5 83.1,96.5 83.2,96.5 83.2,96.5 83.2,96.5 83.2,96.5 83.2,96.5 83.3,96.5 83.3,96.5 83.3,96.5 + 83.3,96.5 83.3,96.5 83.3,96.5 83.4,96.5 83.4,96.5 83.4,96.5 83.4,96.5 83.4,96.5 83.4,96.5 83.5,96.5 83.5,96.5 83.5,96.5 + 83.5,96.5 83.5,96.5 83.5,96.5 83.6,96.5 83.6,96.5 83.6,96.5 83.6,96.5 83.6,96.5 83.6,96.5 83.7,96.5 83.7,96.5 83.7,96.5 + 83.7,96.5 83.7,96.5 83.7,96.5 83.8,96.5 83.8,96.5 83.8,96.5 83.8,96.5 83.8,96.5 83.8,96.5 83.9,96.5 83.9,96.5 83.9,96.5 + 83.9,96.5 83.9,96.5 84,96.5 84,96.5 84,96.5 84,96.5 84,96.5 84,96.5 84.1,96.5 84.1,96.5 84.1,96.5 84.1,96.5 84.1,96.5 + 84.1,96.5 84.2,96.5 84.2,96.5 84.2,96.5 84.2,96.5 84.2,96.5 84.2,96.5 84.3,96.5 84.3,96.5 84.3,96.5 84.3,96.5 84.3,96.5 + 84.3,96.5 84.4,96.5 84.4,96.5 84.4,96.5 84.4,96.5 84.4,96.5 84.4,96.5 84.5,96.5 84.5,96.5 84.5,96.5 84.5,96.5 84.5,96.5 + 84.5,96.5 84.6,96.5 84.6,96.5 84.6,96.5 84.6,96.5 84.6,96.5 84.6,96.5 84.7,96.5 84.7,96.5 84.7,96.5 84.7,96.5 84.7,96.5 + 84.8,96.5 84.8,96.5 84.8,96.5 84.8,96.5 84.8,96.5 84.8,96.5 84.9,96.5 84.9,96.5 84.9,96.5 84.9,96.5 84.9,96.5 84.9,96.5 + 85,96.5 85,96.5 85,96.5 85,96.5 85,96.5 85,96.5 85.1,96.5 85.1,96.5 85.1,96.5 85.1,96.5 85.1,96.5 85.1,96.5 85.2,96.5 + 85.2,96.5 85.2,96.5 85.2,96.5 85.2,96.5 85.2,96.5 85.3,96.5 85.3,96.5 85.3,96.5 85.3,96.5 85.3,96.5 85.3,96.5 85.4,96.5 + 85.4,96.5 85.4,96.5 85.4,96.5 85.4,96.5 85.4,96.5 85.5,96.5 85.5,96.5 85.5,96.5 85.5,94.4 85.5,94.4 85.5,94.4 "/> + <linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="82.7742" y1="166.6087" x2="82.7742" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st12" points="80.1,101.9 80.1,101.9 80.2,101.9 80.2,101.9 80.2,101.9 80.2,101.9 80.3,101.9 80.3,101.9 + 80.3,101.9 80.4,101.9 80.4,101.9 80.4,101.9 80.4,101.9 80.5,101.9 80.5,101.9 80.5,101.9 80.6,101.9 80.6,101.9 80.6,101.9 + 80.6,101.9 80.7,101.9 80.7,101.9 80.7,101.9 80.8,101.9 80.8,101.9 80.8,101.9 80.8,101.9 80.9,101.9 80.9,101.9 80.9,101.9 + 81,101.9 81,101.9 81,101.9 81,101.9 81.1,101.9 81.1,101.9 81.1,101.9 81.2,101.9 81.2,101.9 81.2,101.9 81.2,101.9 + 81.3,101.9 81.3,101.9 81.3,101.9 81.4,101.9 81.4,101.9 81.4,101.9 81.4,101.9 81.5,101.9 81.5,101.9 81.5,101.9 81.6,101.9 + 81.6,101.9 81.6,101.9 81.6,101.9 81.7,101.9 81.7,101.9 81.7,101.9 81.8,101.9 81.8,101.9 81.8,101.9 81.8,101.9 81.9,101.9 + 81.9,101.9 81.9,101.9 82,101.9 82,101.9 82,101.9 82,101.9 82.1,101.9 82.1,101.9 82.1,101.9 82.1,101.9 82.2,101.9 + 82.2,101.9 82.2,101.9 82.3,101.9 82.3,101.9 82.3,101.9 82.3,101.9 82.4,101.9 82.4,101.9 82.4,101.9 82.5,101.9 82.5,101.9 + 82.5,101.9 82.5,101.9 82.6,101.9 82.6,101.9 82.6,101.9 82.7,101.9 82.7,101.9 82.7,101.9 82.7,101.9 82.8,101.9 82.8,101.9 + 82.8,101.9 82.9,101.9 82.9,101.9 82.9,101.9 82.9,101.9 83,101.9 83,101.9 83,101.9 83.1,101.9 83.1,101.9 83.1,101.9 + 83.1,101.9 83.2,101.9 83.2,101.9 83.2,101.9 83.3,101.9 83.3,101.9 83.3,101.9 83.3,101.9 83.4,101.9 83.4,101.9 83.4,101.9 + 83.5,101.9 83.5,101.9 83.5,101.9 83.5,101.9 83.6,101.9 83.6,101.9 83.6,101.9 83.7,101.9 83.7,101.9 83.7,101.9 83.7,101.9 + 83.8,101.9 83.8,101.9 83.8,101.9 83.9,101.9 83.9,101.9 83.9,101.9 83.9,101.9 84,101.9 84,101.9 84,101.9 84.1,101.9 + 84.1,101.9 84.1,101.9 84.1,101.9 84.2,101.9 84.2,101.9 84.2,101.9 84.3,101.9 84.3,101.9 84.3,101.9 84.3,101.9 84.4,101.9 + 84.4,101.9 84.4,101.9 84.5,101.9 84.5,101.9 84.5,101.9 84.5,101.9 84.6,101.9 84.6,101.9 84.6,101.9 84.6,101.9 84.7,101.9 + 84.7,101.9 84.7,101.9 84.8,101.9 84.8,101.9 84.8,101.9 84.8,101.9 84.9,101.9 84.9,101.9 84.9,101.9 85,101.9 85,101.9 + 85,101.9 85,101.9 85.1,101.9 85.1,101.9 85.1,101.9 85.2,101.9 85.2,101.9 85.2,101.9 85.2,101.9 85.3,101.9 85.3,101.9 + 85.3,101.9 85.4,101.9 85.4,101.9 85.4,101.9 85.4,101.9 85.5,101.9 85.5,101.9 85.5,99.8 85.5,99.8 85.4,99.8 85.4,99.8 + 85.4,99.8 85.4,99.8 85.3,99.8 85.3,99.8 85.3,99.8 85.2,99.8 85.2,99.8 85.2,99.8 85.2,99.8 85.1,99.8 85.1,99.8 85.1,99.8 + 85,99.8 85,99.8 85,99.8 85,99.8 84.9,99.8 84.9,99.8 84.9,99.8 84.8,99.8 84.8,99.8 84.8,99.8 84.8,99.8 84.7,99.8 84.7,99.8 + 84.7,99.8 84.6,99.8 84.6,99.8 84.6,99.8 84.6,99.8 84.5,99.8 84.5,99.8 84.5,99.8 84.5,99.8 84.4,99.8 84.4,99.8 84.4,99.8 + 84.3,99.8 84.3,99.8 84.3,99.8 84.3,99.8 84.2,99.8 84.2,99.8 84.2,99.8 84.1,99.8 84.1,99.8 84.1,99.8 84.1,99.8 84,99.8 + 84,99.8 84,99.8 83.9,99.8 83.9,99.8 83.9,99.8 83.9,99.8 83.8,99.8 83.8,99.8 83.8,99.8 83.7,99.8 83.7,99.8 83.7,99.8 + 83.7,99.8 83.6,99.8 83.6,99.8 83.6,99.8 83.5,99.8 83.5,99.8 83.5,99.8 83.5,99.8 83.4,99.8 83.4,99.8 83.4,99.8 83.3,99.8 + 83.3,99.8 83.3,99.8 83.3,99.8 83.2,99.8 83.2,99.8 83.2,99.8 83.1,99.8 83.1,99.8 83.1,99.8 83.1,99.8 83,99.8 83,99.8 + 83,99.8 82.9,99.8 82.9,99.8 82.9,99.8 82.9,99.8 82.8,99.8 82.8,99.8 82.8,99.8 82.7,99.8 82.7,99.8 82.7,99.8 82.7,99.8 + 82.6,99.8 82.6,99.8 82.6,99.8 82.5,99.8 82.5,99.8 82.5,99.8 82.5,99.8 82.4,99.8 82.4,99.8 82.4,99.8 82.3,99.8 82.3,99.8 + 82.3,99.8 82.3,99.8 82.2,99.8 82.2,99.8 82.2,99.8 82.1,99.8 82.1,99.8 82.1,99.8 82.1,99.8 82,99.8 82,99.8 82,99.8 82,99.8 + 81.9,99.8 81.9,99.8 81.9,99.8 81.8,99.8 81.8,99.8 81.8,99.8 81.8,99.8 81.7,99.8 81.7,99.8 81.7,99.8 81.6,99.8 81.6,99.8 + 81.6,99.8 81.6,99.8 81.5,99.8 81.5,99.8 81.5,99.8 81.4,99.8 81.4,99.8 81.4,99.8 81.4,99.8 81.3,99.8 81.3,99.8 81.3,99.8 + 81.2,99.8 81.2,99.8 81.2,99.8 81.2,99.8 81.1,99.8 81.1,99.8 81.1,99.8 81,99.8 81,99.8 81,99.8 81,99.8 80.9,99.8 80.9,99.8 + 80.9,99.8 80.8,99.8 80.8,99.8 80.8,99.8 80.8,99.8 80.7,99.8 80.7,99.8 80.7,99.8 80.6,99.8 80.6,99.8 80.6,99.8 80.6,99.8 + 80.5,99.8 80.5,99.8 80.5,99.8 80.4,99.8 80.4,99.8 80.4,99.8 80.4,99.8 80.3,99.8 80.3,99.8 80.3,99.8 80.2,99.8 80.2,99.8 + 80.2,99.8 80.2,99.8 80.1,99.8 80.1,99.8 80.1,99.8 80,99.8 80,101.9 80.1,101.9 "/> + <linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="83.865" y1="166.6087" x2="83.865" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st13" points="85.4,105.3 85.4,105.3 85.4,105.3 85.4,105.3 85.4,105.3 85.4,105.3 85.3,105.3 85.3,105.3 + 85.3,105.3 85.3,105.3 85.3,105.3 85.3,105.3 85.2,105.3 85.2,105.3 85.2,105.3 85.2,105.3 85.2,105.3 85.2,105.3 85.1,105.3 + 85.1,105.3 85.1,105.3 85.1,105.3 85.1,105.3 85.1,105.3 85,105.3 85,105.3 85,105.3 85,105.3 85,105.3 85,105.3 84.9,105.3 + 84.9,105.3 84.9,105.3 84.9,105.3 84.9,105.3 84.9,105.3 84.8,105.3 84.8,105.3 84.8,105.3 84.8,105.3 84.8,105.3 84.8,105.3 + 84.7,105.3 84.7,105.3 84.7,105.3 84.7,105.3 84.7,105.3 84.6,105.3 84.6,105.3 84.6,105.3 84.6,105.3 84.6,105.3 84.6,105.3 + 84.5,105.3 84.5,105.3 84.5,105.3 84.5,105.3 84.5,105.3 84.5,105.3 84.4,105.3 84.4,105.3 84.4,105.3 84.4,105.3 84.4,105.3 + 84.4,105.3 84.3,105.3 84.3,105.3 84.3,105.3 84.3,105.3 84.3,105.3 84.3,105.3 84.2,105.3 84.2,105.3 84.2,105.3 84.2,105.3 + 84.2,105.3 84.2,105.3 84.1,105.3 84.1,105.3 84.1,105.3 84.1,105.3 84.1,105.3 84.1,105.3 84,105.3 84,105.3 84,105.3 + 84,105.3 84,105.3 84,105.3 83.9,105.3 83.9,105.3 83.9,105.3 83.9,105.3 83.9,105.3 83.8,105.3 83.8,105.3 83.8,105.3 + 83.8,105.3 83.8,105.3 83.8,105.3 83.7,105.3 83.7,105.3 83.7,105.3 83.7,105.3 83.7,105.3 83.7,105.3 83.6,105.3 83.6,105.3 + 83.6,105.3 83.6,105.3 83.6,105.3 83.6,105.3 83.5,105.3 83.5,105.3 83.5,105.3 83.5,105.3 83.5,105.3 83.5,105.3 83.4,105.3 + 83.4,105.3 83.4,105.3 83.4,105.3 83.4,105.3 83.4,105.3 83.3,105.3 83.3,105.3 83.3,105.3 83.3,105.3 83.3,105.3 83.3,105.3 + 83.2,105.3 83.2,105.3 83.2,105.3 83.2,105.3 83.2,105.3 83.1,105.3 83.1,105.3 83.1,105.3 83.1,105.3 83.1,105.3 83.1,105.3 + 83,105.3 83,105.3 83,105.3 83,105.3 83,105.3 83,105.3 82.9,105.3 82.9,105.3 82.9,105.3 82.9,105.3 82.9,105.3 82.9,105.3 + 82.8,105.3 82.8,105.3 82.8,105.3 82.8,105.3 82.8,105.3 82.8,105.3 82.7,105.3 82.7,105.3 82.7,105.3 82.7,105.3 82.7,105.3 + 82.7,105.3 82.6,105.3 82.6,105.3 82.6,105.3 82.6,105.3 82.6,105.3 82.6,105.3 82.5,105.3 82.5,105.3 82.5,105.3 82.5,105.3 + 82.5,105.3 82.5,105.3 82.4,105.3 82.4,105.3 82.4,105.3 82.4,105.3 82.4,105.3 82.3,105.3 82.3,105.3 82.3,105.3 82.3,105.3 + 82.3,105.3 82.3,105.3 82.2,105.3 82.2,105.3 82.2,107.4 82.2,107.4 82.3,107.4 82.3,107.4 82.3,107.4 82.3,107.4 82.3,107.4 + 82.3,107.4 82.4,107.4 82.4,107.4 82.4,107.4 82.4,107.4 82.4,107.4 82.5,107.4 82.5,107.4 82.5,107.4 82.5,107.4 82.5,107.4 + 82.5,107.4 82.6,107.4 82.6,107.4 82.6,107.4 82.6,107.4 82.6,107.4 82.6,107.4 82.7,107.4 82.7,107.4 82.7,107.4 82.7,107.4 + 82.7,107.4 82.7,107.4 82.8,107.4 82.8,107.4 82.8,107.4 82.8,107.4 82.8,107.4 82.8,107.4 82.9,107.4 82.9,107.4 82.9,107.4 + 82.9,107.4 82.9,107.4 82.9,107.4 83,107.4 83,107.4 83,107.4 83,107.4 83,107.4 83,107.4 83.1,107.4 83.1,107.4 83.1,107.4 + 83.1,107.4 83.1,107.4 83.1,107.4 83.2,107.4 83.2,107.4 83.2,107.4 83.2,107.4 83.2,107.4 83.3,107.4 83.3,107.4 83.3,107.4 + 83.3,107.4 83.3,107.4 83.3,107.4 83.4,107.4 83.4,107.4 83.4,107.4 83.4,107.4 83.4,107.4 83.4,107.4 83.5,107.4 83.5,107.4 + 83.5,107.4 83.5,107.4 83.5,107.4 83.5,107.4 83.6,107.4 83.6,107.4 83.6,107.4 83.6,107.4 83.6,107.4 83.6,107.4 83.7,107.4 + 83.7,107.4 83.7,107.4 83.7,107.4 83.7,107.4 83.7,107.4 83.8,107.4 83.8,107.4 83.8,107.4 83.8,107.4 83.8,107.4 83.8,107.4 + 83.9,107.4 83.9,107.4 83.9,107.4 83.9,107.4 83.9,107.4 84,107.4 84,107.4 84,107.4 84,107.4 84,107.4 84,107.4 84.1,107.4 + 84.1,107.4 84.1,107.4 84.1,107.4 84.1,107.4 84.1,107.4 84.2,107.4 84.2,107.4 84.2,107.4 84.2,107.4 84.2,107.4 84.2,107.4 + 84.3,107.4 84.3,107.4 84.3,107.4 84.3,107.4 84.3,107.4 84.3,107.4 84.4,107.4 84.4,107.4 84.4,107.4 84.4,107.4 84.4,107.4 + 84.4,107.4 84.5,107.4 84.5,107.4 84.5,107.4 84.5,107.4 84.5,107.4 84.5,107.4 84.6,107.4 84.6,107.4 84.6,107.4 84.6,107.4 + 84.6,107.4 84.6,107.4 84.7,107.4 84.7,107.4 84.7,107.4 84.7,107.4 84.7,107.4 84.8,107.4 84.8,107.4 84.8,107.4 84.8,107.4 + 84.8,107.4 84.8,107.4 84.9,107.4 84.9,107.4 84.9,107.4 84.9,107.4 84.9,107.4 84.9,107.4 85,107.4 85,107.4 85,107.4 + 85,107.4 85,107.4 85,107.4 85.1,107.4 85.1,107.4 85.1,107.4 85.1,107.4 85.1,107.4 85.1,107.4 85.2,107.4 85.2,107.4 + 85.2,107.4 85.2,107.4 85.2,107.4 85.2,107.4 85.3,107.4 85.3,107.4 85.3,107.4 85.3,107.4 85.3,107.4 85.3,107.4 85.4,107.4 + 85.4,107.4 85.4,107.4 85.4,107.4 85.4,107.4 85.4,107.4 85.5,107.4 85.5,107.4 85.5,107.4 85.5,105.3 85.5,105.3 85.5,105.3 + "/> + <linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="82.7742" y1="166.6087" x2="82.7742" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st14" points="82.3,112.8 82.3,112.8 82.3,112.8 82.3,112.8 82.4,112.8 82.4,112.8 82.4,112.8 82.5,112.8 + 82.5,112.8 82.5,112.8 82.5,112.8 82.6,112.8 82.6,112.8 82.6,112.8 82.7,112.8 82.7,112.8 82.7,112.8 82.7,112.8 82.8,112.8 + 82.8,112.8 82.8,112.8 82.9,112.8 82.9,112.8 82.9,112.8 82.9,112.8 83,112.8 83,112.8 83,112.8 83.1,112.8 83.1,112.8 + 83.1,112.8 83.1,112.8 83.2,112.8 83.2,112.8 83.2,112.8 83.3,112.8 83.3,112.8 83.3,112.8 83.3,112.8 83.4,112.8 83.4,112.8 + 83.4,112.8 83.5,112.8 83.5,112.8 83.5,112.8 83.5,112.8 83.6,112.8 83.6,112.8 83.6,112.8 83.7,112.8 83.7,112.8 83.7,112.8 + 83.7,112.8 83.8,112.8 83.8,112.8 83.8,112.8 83.9,112.8 83.9,112.8 83.9,112.8 83.9,112.8 84,112.8 84,112.8 84,112.8 + 84.1,112.8 84.1,112.8 84.1,112.8 84.1,112.8 84.2,112.8 84.2,112.8 84.2,112.8 84.3,112.8 84.3,112.8 84.3,112.8 84.3,112.8 + 84.4,112.8 84.4,112.8 84.4,112.8 84.5,112.8 84.5,112.8 84.5,112.8 84.5,112.8 84.6,112.8 84.6,112.8 84.6,112.8 84.6,112.8 + 84.7,112.8 84.7,112.8 84.7,112.8 84.8,112.8 84.8,112.8 84.8,112.8 84.8,112.8 84.9,112.8 84.9,112.8 84.9,112.8 85,112.8 + 85,112.8 85,112.8 85,112.8 85.1,112.8 85.1,112.8 85.1,112.8 85.2,112.8 85.2,112.8 85.2,112.8 85.2,112.8 85.3,112.8 + 85.3,112.8 85.3,112.8 85.4,112.8 85.4,112.8 85.4,112.8 85.4,112.8 85.5,112.8 85.5,112.8 85.5,110.7 85.5,110.7 85.4,110.7 + 85.4,110.7 85.4,110.7 85.4,110.7 85.3,110.7 85.3,110.7 85.3,110.7 85.2,110.7 85.2,110.7 85.2,110.7 85.2,110.7 85.1,110.7 + 85.1,110.7 85.1,110.7 85,110.7 85,110.7 85,110.7 85,110.7 84.9,110.7 84.9,110.7 84.9,110.7 84.8,110.7 84.8,110.7 + 84.8,110.7 84.8,110.7 84.7,110.7 84.7,110.7 84.7,110.7 84.6,110.7 84.6,110.7 84.6,110.7 84.6,110.7 84.5,110.7 84.5,110.7 + 84.5,110.7 84.5,110.7 84.4,110.7 84.4,110.7 84.4,110.7 84.3,110.7 84.3,110.7 84.3,110.7 84.3,110.7 84.2,110.7 84.2,110.7 + 84.2,110.7 84.1,110.7 84.1,110.7 84.1,110.7 84.1,110.7 84,110.7 84,110.7 84,110.7 83.9,110.7 83.9,110.7 83.9,110.7 + 83.9,110.7 83.8,110.7 83.8,110.7 83.8,110.7 83.7,110.7 83.7,110.7 83.7,110.7 83.7,110.7 83.6,110.7 83.6,110.7 83.6,110.7 + 83.5,110.7 83.5,110.7 83.5,110.7 83.5,110.7 83.4,110.7 83.4,110.7 83.4,110.7 83.3,110.7 83.3,110.7 83.3,110.7 83.3,110.7 + 83.2,110.7 83.2,110.7 83.2,110.7 83.1,110.7 83.1,110.7 83.1,110.7 83.1,110.7 83,110.7 83,110.7 83,110.7 82.9,110.7 + 82.9,110.7 82.9,110.7 82.9,110.7 82.8,110.7 82.8,110.7 82.8,110.7 82.7,110.7 82.7,110.7 82.7,110.7 82.7,110.7 82.6,110.7 + 82.6,110.7 82.6,110.7 82.5,110.7 82.5,110.7 82.5,110.7 82.5,110.7 82.4,110.7 82.4,110.7 82.4,110.7 82.3,110.7 82.3,110.7 + 82.3,110.7 82.3,110.7 82.2,110.7 82.2,110.7 82.2,110.7 82.1,110.7 82.1,110.7 82.1,110.7 82.1,110.7 82,110.7 82,110.7 + 82,110.7 82,110.7 81.9,110.7 81.9,110.7 81.9,110.7 81.8,110.7 81.8,110.7 81.8,110.7 81.8,110.7 81.7,110.7 81.7,110.7 + 81.7,110.7 81.6,110.7 81.6,110.7 81.6,110.7 81.6,110.7 81.5,110.7 81.5,110.7 81.5,110.7 81.4,110.7 81.4,110.7 81.4,110.7 + 81.4,110.7 81.3,110.7 81.3,110.7 81.3,110.7 81.2,110.7 81.2,110.7 81.2,110.7 81.2,110.7 81.1,110.7 81.1,110.7 81.1,110.7 + 81,110.7 81,110.7 81,110.7 81,110.7 80.9,110.7 80.9,110.7 80.9,110.7 80.8,110.7 80.8,110.7 80.8,110.7 80.8,110.7 + 80.7,110.7 80.7,110.7 80.7,110.7 80.6,110.7 80.6,110.7 80.6,110.7 80.6,110.7 80.5,110.7 80.5,110.7 80.5,110.7 80.4,110.7 + 80.4,110.7 80.4,110.7 80.4,110.7 80.3,110.7 80.3,110.7 80.3,110.7 80.2,110.7 80.2,110.7 80.2,110.7 80.2,110.7 80.1,110.7 + 80.1,110.7 80.1,110.7 80,110.7 80,112.8 80.1,112.8 80.1,112.8 80.1,112.8 80.2,112.8 80.2,112.8 80.2,112.8 80.2,112.8 + 80.3,112.8 80.3,112.8 80.3,112.8 80.4,112.8 80.4,112.8 80.4,112.8 80.4,112.8 80.5,112.8 80.5,112.8 80.5,112.8 80.6,112.8 + 80.6,112.8 80.6,112.8 80.6,112.8 80.7,112.8 80.7,112.8 80.7,112.8 80.8,112.8 80.8,112.8 80.8,112.8 80.8,112.8 80.9,112.8 + 80.9,112.8 80.9,112.8 81,112.8 81,112.8 81,112.8 81,112.8 81.1,112.8 81.1,112.8 81.1,112.8 81.2,112.8 81.2,112.8 + 81.2,112.8 81.2,112.8 81.3,112.8 81.3,112.8 81.3,112.8 81.4,112.8 81.4,112.8 81.4,112.8 81.4,112.8 81.5,112.8 81.5,112.8 + 81.5,112.8 81.6,112.8 81.6,112.8 81.6,112.8 81.6,112.8 81.7,112.8 81.7,112.8 81.7,112.8 81.8,112.8 81.8,112.8 81.8,112.8 + 81.8,112.8 81.9,112.8 81.9,112.8 81.9,112.8 82,112.8 82,112.8 82,112.8 82,112.8 82.1,112.8 82.1,112.8 82.1,112.8 + 82.1,112.8 82.2,112.8 82.2,112.8 82.2,112.8 "/> + <linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="112.2248" y1="166.6087" x2="112.2248" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st15" points="114.9,78 114.9,78 114.9,78 114.8,78 114.8,78 114.8,78 114.8,78 114.7,78 114.7,78 114.7,78 + 114.6,78 114.6,78 114.6,78 114.6,78 114.5,78 114.5,78 114.5,78 114.4,78 114.4,78 114.4,78 114.4,78 114.3,78 114.3,78 + 114.3,78 114.2,78 114.2,78 114.2,78 114.2,78 114.1,78 114.1,78 114.1,78 114,78 114,78 114,78 114,78 113.9,78 113.9,78 + 113.9,78 113.8,78 113.8,78 113.8,78 113.8,78 113.7,78 113.7,78 113.7,78 113.6,78 113.6,78 113.6,78 113.6,78 113.5,78 + 113.5,78 113.5,78 113.4,78 113.4,78 113.4,78 113.4,78 113.3,78 113.3,78 113.3,78 113.2,78 113.2,78 113.2,78 113.2,78 + 113.1,78 113.1,78 113.1,78 113,78 113,78 113,78 113,78 112.9,78 112.9,78 112.9,78 112.8,78 112.8,78 112.8,78 112.8,78 + 112.7,78 112.7,78 112.7,78 112.7,78 112.6,78 112.6,78 112.6,78 112.5,78 112.5,78 112.5,78 112.5,78 112.4,78 112.4,78 + 112.4,78 112.3,78 112.3,78 112.3,78 112.3,78 112.2,78 112.2,78 112.2,78 112.1,78 112.1,78 112.1,78 112.1,78 112,78 112,78 + 112,78 111.9,78 111.9,78 111.9,78 111.9,78 111.8,78 111.8,78 111.8,78 111.7,78 111.7,78 111.7,78 111.7,78 111.6,78 + 111.6,78 111.6,78 111.5,78 111.5,78 111.5,78 111.5,78 111.4,78 111.4,78 111.4,78 111.3,78 111.3,78 111.3,78 111.3,78 + 111.2,78 111.2,78 111.2,78 111.1,78 111.1,78 111.1,78 111.1,78 111,78 111,78 111,78 110.9,78 110.9,78 110.9,78 110.9,78 + 110.8,78 110.8,78 110.8,78 110.7,78 110.7,78 110.7,78 110.7,78 110.6,78 110.6,78 110.6,78 110.5,78 110.5,78 110.5,78 + 110.5,78 110.4,78 110.4,78 110.4,78 110.4,78 110.3,78 110.3,78 110.3,78 110.2,78 110.2,78 110.2,78 110.2,78 110.1,78 + 110.1,78 110.1,78 110,78 110,78 110,78 110,78 109.9,78 109.9,78 109.9,78 109.8,78 109.8,78 109.8,78 109.8,78 109.7,78 + 109.7,78 109.7,78 109.6,78 109.6,78 109.6,78 109.6,78 109.5,78 109.5,78 109.5,80.1 109.5,80.1 109.6,80.1 109.6,80.1 + 109.6,80.1 109.6,80.1 109.7,80.1 109.7,80.1 109.7,80.1 109.8,80.1 109.8,80.1 109.8,80.1 109.8,80.1 109.9,80.1 109.9,80.1 + 109.9,80.1 110,80.1 110,80.1 110,80.1 110,80.1 110.1,80.1 110.1,80.1 110.1,80.1 110.2,80.1 110.2,80.1 110.2,80.1 + 110.2,80.1 110.3,80.1 110.3,80.1 110.3,80.1 110.4,80.1 110.4,80.1 110.4,80.1 110.4,80.1 110.5,80.1 110.5,80.1 110.5,80.1 + 110.5,80.1 110.6,80.1 110.6,80.1 110.6,80.1 110.7,80.1 110.7,80.1 110.7,80.1 110.7,80.1 110.8,80.1 110.8,80.1 110.8,80.1 + 110.9,80.1 110.9,80.1 110.9,80.1 110.9,80.1 111,80.1 111,80.1 111,80.1 111.1,80.1 111.1,80.1 111.1,80.1 111.1,80.1 + 111.2,80.1 111.2,80.1 111.2,80.1 111.3,80.1 111.3,80.1 111.3,80.1 111.3,80.1 111.4,80.1 111.4,80.1 111.4,80.1 111.5,80.1 + 111.5,80.1 111.5,80.1 111.5,80.1 111.6,80.1 111.6,80.1 111.6,80.1 111.7,80.1 111.7,80.1 111.7,80.1 111.7,80.1 111.8,80.1 + 111.8,80.1 111.8,80.1 111.9,80.1 111.9,80.1 111.9,80.1 111.9,80.1 112,80.1 112,80.1 112,80.1 112.1,80.1 112.1,80.1 + 112.1,80.1 112.1,80.1 112.2,80.1 112.2,80.1 112.2,80.1 112.3,80.1 112.3,80.1 112.3,80.1 112.3,80.1 112.4,80.1 112.4,80.1 + 112.4,80.1 112.5,80.1 112.5,80.1 112.5,80.1 112.5,80.1 112.6,80.1 112.6,80.1 112.6,80.1 112.7,80.1 112.7,80.1 112.7,80.1 + 112.7,80.1 112.8,80.1 112.8,80.1 112.8,80.1 112.8,80.1 112.9,80.1 112.9,80.1 112.9,80.1 113,80.1 113,80.1 113,80.1 + 113,80.1 113.1,80.1 113.1,80.1 113.1,80.1 113.2,80.1 113.2,80.1 113.2,80.1 113.2,80.1 113.3,80.1 113.3,80.1 113.3,80.1 + 113.4,80.1 113.4,80.1 113.4,80.1 113.4,80.1 113.5,80.1 113.5,80.1 113.5,80.1 113.6,80.1 113.6,80.1 113.6,80.1 113.6,80.1 + 113.7,80.1 113.7,80.1 113.7,80.1 113.8,80.1 113.8,80.1 113.8,80.1 113.8,80.1 113.9,80.1 113.9,80.1 113.9,80.1 114,80.1 + 114,80.1 114,80.1 114,80.1 114.1,80.1 114.1,80.1 114.1,80.1 114.2,80.1 114.2,80.1 114.2,80.1 114.2,80.1 114.3,80.1 + 114.3,80.1 114.3,80.1 114.4,80.1 114.4,80.1 114.4,80.1 114.4,80.1 114.5,80.1 114.5,80.1 114.5,80.1 114.6,80.1 114.6,80.1 + 114.6,80.1 114.6,80.1 114.7,80.1 114.7,80.1 114.7,80.1 114.8,80.1 114.8,80.1 114.8,80.1 114.8,80.1 114.9,80.1 114.9,80.1 + 114.9,80.1 115,80.1 115,78 "/> + <linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="111.134" y1="166.6087" x2="111.134" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st16" points="109.5,85.5 109.5,85.5 109.6,85.5 109.6,85.5 109.6,85.5 109.6,85.5 109.6,85.5 109.7,85.5 + 109.7,85.5 109.7,85.5 109.7,85.5 109.7,85.5 109.7,85.5 109.8,85.5 109.8,85.5 109.8,85.5 109.8,85.5 109.8,85.5 109.8,85.5 + 109.9,85.5 109.9,85.5 109.9,85.5 109.9,85.5 109.9,85.5 109.9,85.5 110,85.5 110,85.5 110,85.5 110,85.5 110,85.5 110,85.5 + 110.1,85.5 110.1,85.5 110.1,85.5 110.1,85.5 110.1,85.5 110.1,85.5 110.2,85.5 110.2,85.5 110.2,85.5 110.2,85.5 110.2,85.5 + 110.2,85.5 110.3,85.5 110.3,85.5 110.3,85.5 110.3,85.5 110.3,85.5 110.4,85.5 110.4,85.5 110.4,85.5 110.4,85.5 110.4,85.5 + 110.4,85.5 110.5,85.5 110.5,85.5 110.5,85.5 110.5,85.5 110.5,85.5 110.5,85.5 110.6,85.5 110.6,85.5 110.6,85.5 110.6,85.5 + 110.6,85.5 110.6,85.5 110.7,85.5 110.7,85.5 110.7,85.5 110.7,85.5 110.7,85.5 110.7,85.5 110.8,85.5 110.8,85.5 110.8,85.5 + 110.8,85.5 110.8,85.5 110.8,85.5 110.9,85.5 110.9,85.5 110.9,85.5 110.9,85.5 110.9,85.5 110.9,85.5 111,85.5 111,85.5 + 111,85.5 111,85.5 111,85.5 111,85.5 111.1,85.5 111.1,85.5 111.1,85.5 111.1,85.5 111.1,85.5 111.2,85.5 111.2,85.5 + 111.2,85.5 111.2,85.5 111.2,85.5 111.2,85.5 111.3,85.5 111.3,85.5 111.3,85.5 111.3,85.5 111.3,85.5 111.3,85.5 111.4,85.5 + 111.4,85.5 111.4,85.5 111.4,85.5 111.4,85.5 111.4,85.5 111.5,85.5 111.5,85.5 111.5,85.5 111.5,85.5 111.5,85.5 111.5,85.5 + 111.6,85.5 111.6,85.5 111.6,85.5 111.6,85.5 111.6,85.5 111.6,85.5 111.7,85.5 111.7,85.5 111.7,85.5 111.7,85.5 111.7,85.5 + 111.7,85.5 111.8,85.5 111.8,85.5 111.8,85.5 111.8,85.5 111.8,85.5 111.8,85.5 111.9,85.5 111.9,85.5 111.9,85.5 111.9,85.5 + 111.9,85.5 112,85.5 112,85.5 112,85.5 112,85.5 112,85.5 112,85.5 112.1,85.5 112.1,85.5 112.1,85.5 112.1,85.5 112.1,85.5 + 112.1,85.5 112.2,85.5 112.2,85.5 112.2,85.5 112.2,85.5 112.2,85.5 112.2,85.5 112.3,85.5 112.3,85.5 112.3,85.5 112.3,85.5 + 112.3,85.5 112.3,85.5 112.4,85.5 112.4,85.5 112.4,85.5 112.4,85.5 112.4,85.5 112.4,85.5 112.5,85.5 112.5,85.5 112.5,85.5 + 112.5,85.5 112.5,85.5 112.5,85.5 112.6,85.5 112.6,85.5 112.6,85.5 112.6,85.5 112.6,85.5 112.7,85.5 112.7,85.5 112.7,85.5 + 112.7,85.5 112.7,85.5 112.7,85.5 112.8,85.5 112.8,85.5 112.8,83.5 112.8,83.5 112.7,83.5 112.7,83.5 112.7,83.5 112.7,83.5 + 112.7,83.5 112.7,83.5 112.6,83.5 112.6,83.5 112.6,83.5 112.6,83.5 112.6,83.5 112.5,83.5 112.5,83.5 112.5,83.5 112.5,83.5 + 112.5,83.5 112.5,83.5 112.4,83.5 112.4,83.5 112.4,83.5 112.4,83.5 112.4,83.5 112.4,83.5 112.3,83.5 112.3,83.5 112.3,83.5 + 112.3,83.5 112.3,83.5 112.3,83.5 112.2,83.5 112.2,83.5 112.2,83.5 112.2,83.5 112.2,83.5 112.2,83.5 112.1,83.5 112.1,83.5 + 112.1,83.5 112.1,83.5 112.1,83.5 112.1,83.5 112,83.5 112,83.5 112,83.5 112,83.5 112,83.5 112,83.5 111.9,83.5 111.9,83.5 + 111.9,83.5 111.9,83.5 111.9,83.5 111.8,83.5 111.8,83.5 111.8,83.5 111.8,83.5 111.8,83.5 111.8,83.5 111.7,83.5 111.7,83.5 + 111.7,83.5 111.7,83.5 111.7,83.5 111.7,83.5 111.6,83.5 111.6,83.5 111.6,83.5 111.6,83.5 111.6,83.5 111.6,83.5 111.5,83.5 + 111.5,83.5 111.5,83.5 111.5,83.5 111.5,83.5 111.5,83.5 111.4,83.5 111.4,83.5 111.4,83.5 111.4,83.5 111.4,83.5 111.4,83.5 + 111.3,83.5 111.3,83.5 111.3,83.5 111.3,83.5 111.3,83.5 111.3,83.5 111.2,83.5 111.2,83.5 111.2,83.5 111.2,83.5 111.2,83.5 + 111.2,83.5 111.1,83.5 111.1,83.5 111.1,83.5 111.1,83.5 111.1,83.5 111,83.5 111,83.5 111,83.5 111,83.5 111,83.5 111,83.5 + 110.9,83.5 110.9,83.5 110.9,83.5 110.9,83.5 110.9,83.5 110.9,83.5 110.8,83.5 110.8,83.5 110.8,83.5 110.8,83.5 110.8,83.5 + 110.8,83.5 110.7,83.5 110.7,83.5 110.7,83.5 110.7,83.5 110.7,83.5 110.7,83.5 110.6,83.5 110.6,83.5 110.6,83.5 110.6,83.5 + 110.6,83.5 110.6,83.5 110.5,83.5 110.5,83.5 110.5,83.5 110.5,83.5 110.5,83.5 110.5,83.5 110.4,83.5 110.4,83.5 110.4,83.5 + 110.4,83.5 110.4,83.5 110.4,83.5 110.3,83.5 110.3,83.5 110.3,83.5 110.3,83.5 110.3,83.5 110.2,83.5 110.2,83.5 110.2,83.5 + 110.2,83.5 110.2,83.5 110.2,83.5 110.1,83.5 110.1,83.5 110.1,83.5 110.1,83.5 110.1,83.5 110.1,83.5 110,83.5 110,83.5 + 110,83.5 110,83.5 110,83.5 110,83.5 109.9,83.5 109.9,83.5 109.9,83.5 109.9,83.5 109.9,83.5 109.9,83.5 109.8,83.5 + 109.8,83.5 109.8,83.5 109.8,83.5 109.8,83.5 109.8,83.5 109.7,83.5 109.7,83.5 109.7,83.5 109.7,83.5 109.7,83.5 109.7,83.5 + 109.6,83.5 109.6,83.5 109.6,83.5 109.6,83.5 109.6,83.5 109.5,83.5 109.5,83.5 109.5,83.5 109.5,83.5 109.5,85.5 109.5,85.5 + "/> + <linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="112.2248" y1="166.6087" x2="112.2248" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st17" points="114.9,88.9 114.9,88.9 114.8,88.9 114.8,88.9 114.8,88.9 114.8,88.9 114.7,88.9 114.7,88.9 + 114.7,88.9 114.6,88.9 114.6,88.9 114.6,88.9 114.6,88.9 114.5,88.9 114.5,88.9 114.5,88.9 114.4,88.9 114.4,88.9 114.4,88.9 + 114.4,88.9 114.3,88.9 114.3,88.9 114.3,88.9 114.2,88.9 114.2,88.9 114.2,88.9 114.2,88.9 114.1,88.9 114.1,88.9 114.1,88.9 + 114,88.9 114,88.9 114,88.9 114,88.9 113.9,88.9 113.9,88.9 113.9,88.9 113.8,88.9 113.8,88.9 113.8,88.9 113.8,88.9 + 113.7,88.9 113.7,88.9 113.7,88.9 113.6,88.9 113.6,88.9 113.6,88.9 113.6,88.9 113.5,88.9 113.5,88.9 113.5,88.9 113.4,88.9 + 113.4,88.9 113.4,88.9 113.4,88.9 113.3,88.9 113.3,88.9 113.3,88.9 113.2,88.9 113.2,88.9 113.2,88.9 113.2,88.9 113.1,88.9 + 113.1,88.9 113.1,88.9 113,88.9 113,88.9 113,88.9 113,88.9 112.9,88.9 112.9,88.9 112.9,88.9 112.8,88.9 112.8,88.9 + 112.8,88.9 112.8,88.9 112.7,88.9 112.7,88.9 112.7,88.9 112.7,88.9 112.6,88.9 112.6,88.9 112.6,88.9 112.5,88.9 112.5,88.9 + 112.5,88.9 112.5,88.9 112.4,88.9 112.4,88.9 112.4,88.9 112.3,88.9 112.3,88.9 112.3,88.9 112.3,88.9 112.2,88.9 112.2,88.9 + 112.2,88.9 112.1,88.9 112.1,88.9 112.1,88.9 112.1,88.9 112,88.9 112,88.9 112,88.9 111.9,88.9 111.9,88.9 111.9,88.9 + 111.9,88.9 111.8,88.9 111.8,88.9 111.8,88.9 111.7,88.9 111.7,88.9 111.7,88.9 111.7,88.9 111.6,88.9 111.6,88.9 111.6,88.9 + 111.5,88.9 111.5,88.9 111.5,88.9 111.5,88.9 111.4,88.9 111.4,88.9 111.4,88.9 111.3,88.9 111.3,88.9 111.3,88.9 111.3,88.9 + 111.2,88.9 111.2,88.9 111.2,88.9 111.1,88.9 111.1,88.9 111.1,88.9 111.1,88.9 111,88.9 111,88.9 111,88.9 110.9,88.9 + 110.9,88.9 110.9,88.9 110.9,88.9 110.8,88.9 110.8,88.9 110.8,88.9 110.7,88.9 110.7,88.9 110.7,88.9 110.7,88.9 110.6,88.9 + 110.6,88.9 110.6,88.9 110.5,88.9 110.5,88.9 110.5,88.9 110.5,88.9 110.4,88.9 110.4,88.9 110.4,88.9 110.4,88.9 110.3,88.9 + 110.3,88.9 110.3,88.9 110.2,88.9 110.2,88.9 110.2,88.9 110.2,88.9 110.1,88.9 110.1,88.9 110.1,88.9 110,88.9 110,88.9 + 110,88.9 110,88.9 109.9,88.9 109.9,88.9 109.9,88.9 109.8,88.9 109.8,88.9 109.8,88.9 109.8,88.9 109.7,88.9 109.7,88.9 + 109.7,88.9 109.6,88.9 109.6,88.9 109.6,88.9 109.6,88.9 109.5,88.9 109.5,88.9 109.5,91 109.5,91 109.6,91 109.6,91 109.6,91 + 109.6,91 109.7,91 109.7,91 109.7,91 109.8,91 109.8,91 109.8,91 109.8,91 109.9,91 109.9,91 109.9,91 110,91 110,91 110,91 + 110,91 110.1,91 110.1,91 110.1,91 110.2,91 110.2,91 110.2,91 110.2,91 110.3,91 110.3,91 110.3,91 110.4,91 110.4,91 + 110.4,91 110.4,91 110.5,91 110.5,91 110.5,91 110.5,91 110.6,91 110.6,91 110.6,91 110.7,91 110.7,91 110.7,91 110.7,91 + 110.8,91 110.8,91 110.8,91 110.9,91 110.9,91 110.9,91 110.9,91 111,91 111,91 111,91 111.1,91 111.1,91 111.1,91 111.1,91 + 111.2,91 111.2,91 111.2,91 111.3,91 111.3,91 111.3,91 111.3,91 111.4,91 111.4,91 111.4,91 111.5,91 111.5,91 111.5,91 + 111.5,91 111.6,91 111.6,91 111.6,91 111.7,91 111.7,91 111.7,91 111.7,91 111.8,91 111.8,91 111.8,91 111.9,91 111.9,91 + 111.9,91 111.9,91 112,91 112,91 112,91 112.1,91 112.1,91 112.1,91 112.1,91 112.2,91 112.2,91 112.2,91 112.3,91 112.3,91 + 112.3,91 112.3,91 112.4,91 112.4,91 112.4,91 112.5,91 112.5,91 112.5,91 112.5,91 112.6,91 112.6,91 112.6,91 112.7,91 + 112.7,91 112.7,91 112.7,91 112.8,91 112.8,91 112.8,91 112.8,91 112.9,91 112.9,91 112.9,91 113,91 113,91 113,91 113,91 + 113.1,91 113.1,91 113.1,91 113.2,91 113.2,91 113.2,91 113.2,91 113.3,91 113.3,91 113.3,91 113.4,91 113.4,91 113.4,91 + 113.4,91 113.5,91 113.5,91 113.5,91 113.6,91 113.6,91 113.6,91 113.6,91 113.7,91 113.7,91 113.7,91 113.8,91 113.8,91 + 113.8,91 113.8,91 113.9,91 113.9,91 113.9,91 114,91 114,91 114,91 114,91 114.1,91 114.1,91 114.1,91 114.2,91 114.2,91 + 114.2,91 114.2,91 114.3,91 114.3,91 114.3,91 114.4,91 114.4,91 114.4,91 114.4,91 114.5,91 114.5,91 114.5,91 114.6,91 + 114.6,91 114.6,91 114.6,91 114.7,91 114.7,91 114.7,91 114.8,91 114.8,91 114.8,91 114.8,91 114.9,91 114.9,91 114.9,91 + 115,91 115,88.9 114.9,88.9 "/> + <linearGradient id="SVGID_13_" gradientUnits="userSpaceOnUse" x1="111.134" y1="166.6087" x2="111.134" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st18" points="109.5,96.5 109.5,96.5 109.6,96.5 109.6,96.5 109.6,96.5 109.6,96.5 109.6,96.5 109.7,96.5 + 109.7,96.5 109.7,96.5 109.7,96.5 109.7,96.5 109.7,96.5 109.8,96.5 109.8,96.5 109.8,96.5 109.8,96.5 109.8,96.5 109.8,96.5 + 109.9,96.5 109.9,96.5 109.9,96.5 109.9,96.5 109.9,96.5 109.9,96.5 110,96.5 110,96.5 110,96.5 110,96.5 110,96.5 110,96.5 + 110.1,96.5 110.1,96.5 110.1,96.5 110.1,96.5 110.1,96.5 110.1,96.5 110.2,96.5 110.2,96.5 110.2,96.5 110.2,96.5 110.2,96.5 + 110.2,96.5 110.3,96.5 110.3,96.5 110.3,96.5 110.3,96.5 110.3,96.5 110.4,96.5 110.4,96.5 110.4,96.5 110.4,96.5 110.4,96.5 + 110.4,96.5 110.5,96.5 110.5,96.5 110.5,96.5 110.5,96.5 110.5,96.5 110.5,96.5 110.6,96.5 110.6,96.5 110.6,96.5 110.6,96.5 + 110.6,96.5 110.6,96.5 110.7,96.5 110.7,96.5 110.7,96.5 110.7,96.5 110.7,96.5 110.7,96.5 110.8,96.5 110.8,96.5 110.8,96.5 + 110.8,96.5 110.8,96.5 110.8,96.5 110.9,96.5 110.9,96.5 110.9,96.5 110.9,96.5 110.9,96.5 110.9,96.5 111,96.5 111,96.5 + 111,96.5 111,96.5 111,96.5 111,96.5 111.1,96.5 111.1,96.5 111.1,96.5 111.1,96.5 111.1,96.5 111.2,96.5 111.2,96.5 + 111.2,96.5 111.2,96.5 111.2,96.5 111.2,96.5 111.3,96.5 111.3,96.5 111.3,96.5 111.3,96.5 111.3,96.5 111.3,96.5 111.4,96.5 + 111.4,96.5 111.4,96.5 111.4,96.5 111.4,96.5 111.4,96.5 111.5,96.5 111.5,96.5 111.5,96.5 111.5,96.5 111.5,96.5 111.5,96.5 + 111.6,96.5 111.6,96.5 111.6,96.5 111.6,96.5 111.6,96.5 111.6,96.5 111.7,96.5 111.7,96.5 111.7,96.5 111.7,96.5 111.7,96.5 + 111.7,96.5 111.8,96.5 111.8,96.5 111.8,96.5 111.8,96.5 111.8,96.5 111.8,96.5 111.9,96.5 111.9,96.5 111.9,96.5 111.9,96.5 + 111.9,96.5 112,96.5 112,96.5 112,96.5 112,96.5 112,96.5 112,96.5 112.1,96.5 112.1,96.5 112.1,96.5 112.1,96.5 112.1,96.5 + 112.1,96.5 112.2,96.5 112.2,96.5 112.2,96.5 112.2,96.5 112.2,96.5 112.2,96.5 112.3,96.5 112.3,96.5 112.3,96.5 112.3,96.5 + 112.3,96.5 112.3,96.5 112.4,96.5 112.4,96.5 112.4,96.5 112.4,96.5 112.4,96.5 112.4,96.5 112.5,96.5 112.5,96.5 112.5,96.5 + 112.5,96.5 112.5,96.5 112.5,96.5 112.6,96.5 112.6,96.5 112.6,96.5 112.6,96.5 112.6,96.5 112.7,96.5 112.7,96.5 112.7,96.5 + 112.7,96.5 112.7,96.5 112.7,96.5 112.8,96.5 112.8,96.5 112.8,94.4 112.8,94.4 112.7,94.4 112.7,94.4 112.7,94.4 112.7,94.4 + 112.7,94.4 112.7,94.4 112.6,94.4 112.6,94.4 112.6,94.4 112.6,94.4 112.6,94.4 112.5,94.4 112.5,94.4 112.5,94.4 112.5,94.4 + 112.5,94.4 112.5,94.4 112.4,94.4 112.4,94.4 112.4,94.4 112.4,94.4 112.4,94.4 112.4,94.4 112.3,94.4 112.3,94.4 112.3,94.4 + 112.3,94.4 112.3,94.4 112.3,94.4 112.2,94.4 112.2,94.4 112.2,94.4 112.2,94.4 112.2,94.4 112.2,94.4 112.1,94.4 112.1,94.4 + 112.1,94.4 112.1,94.4 112.1,94.4 112.1,94.4 112,94.4 112,94.4 112,94.4 112,94.4 112,94.4 112,94.4 111.9,94.4 111.9,94.4 + 111.9,94.4 111.9,94.4 111.9,94.4 111.8,94.4 111.8,94.4 111.8,94.4 111.8,94.4 111.8,94.4 111.8,94.4 111.7,94.4 111.7,94.4 + 111.7,94.4 111.7,94.4 111.7,94.4 111.7,94.4 111.6,94.4 111.6,94.4 111.6,94.4 111.6,94.4 111.6,94.4 111.6,94.4 111.5,94.4 + 111.5,94.4 111.5,94.4 111.5,94.4 111.5,94.4 111.5,94.4 111.4,94.4 111.4,94.4 111.4,94.4 111.4,94.4 111.4,94.4 111.4,94.4 + 111.3,94.4 111.3,94.4 111.3,94.4 111.3,94.4 111.3,94.4 111.3,94.4 111.2,94.4 111.2,94.4 111.2,94.4 111.2,94.4 111.2,94.4 + 111.2,94.4 111.1,94.4 111.1,94.4 111.1,94.4 111.1,94.4 111.1,94.4 111,94.4 111,94.4 111,94.4 111,94.4 111,94.4 111,94.4 + 110.9,94.4 110.9,94.4 110.9,94.4 110.9,94.4 110.9,94.4 110.9,94.4 110.8,94.4 110.8,94.4 110.8,94.4 110.8,94.4 110.8,94.4 + 110.8,94.4 110.7,94.4 110.7,94.4 110.7,94.4 110.7,94.4 110.7,94.4 110.7,94.4 110.6,94.4 110.6,94.4 110.6,94.4 110.6,94.4 + 110.6,94.4 110.6,94.4 110.5,94.4 110.5,94.4 110.5,94.4 110.5,94.4 110.5,94.4 110.5,94.4 110.4,94.4 110.4,94.4 110.4,94.4 + 110.4,94.4 110.4,94.4 110.4,94.4 110.3,94.4 110.3,94.4 110.3,94.4 110.3,94.4 110.3,94.4 110.2,94.4 110.2,94.4 110.2,94.4 + 110.2,94.4 110.2,94.4 110.2,94.4 110.1,94.4 110.1,94.4 110.1,94.4 110.1,94.4 110.1,94.4 110.1,94.4 110,94.4 110,94.4 + 110,94.4 110,94.4 110,94.4 110,94.4 109.9,94.4 109.9,94.4 109.9,94.4 109.9,94.4 109.9,94.4 109.9,94.4 109.8,94.4 + 109.8,94.4 109.8,94.4 109.8,94.4 109.8,94.4 109.8,94.4 109.7,94.4 109.7,94.4 109.7,94.4 109.7,94.4 109.7,94.4 109.7,94.4 + 109.6,94.4 109.6,94.4 109.6,94.4 109.6,94.4 109.6,94.4 109.5,94.4 109.5,94.4 109.5,94.4 109.5,94.4 109.5,96.5 109.5,96.5 + "/> + <linearGradient id="SVGID_14_" gradientUnits="userSpaceOnUse" x1="112.2248" y1="166.6087" x2="112.2248" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st19" points="114.9,99.8 114.9,99.8 114.8,99.8 114.8,99.8 114.8,99.8 114.8,99.8 114.7,99.8 114.7,99.8 + 114.7,99.8 114.6,99.8 114.6,99.8 114.6,99.8 114.6,99.8 114.5,99.8 114.5,99.8 114.5,99.8 114.4,99.8 114.4,99.8 114.4,99.8 + 114.4,99.8 114.3,99.8 114.3,99.8 114.3,99.8 114.2,99.8 114.2,99.8 114.2,99.8 114.2,99.8 114.1,99.8 114.1,99.8 114.1,99.8 + 114,99.8 114,99.8 114,99.8 114,99.8 113.9,99.8 113.9,99.8 113.9,99.8 113.8,99.8 113.8,99.8 113.8,99.8 113.8,99.8 + 113.7,99.8 113.7,99.8 113.7,99.8 113.6,99.8 113.6,99.8 113.6,99.8 113.6,99.8 113.5,99.8 113.5,99.8 113.5,99.8 113.4,99.8 + 113.4,99.8 113.4,99.8 113.4,99.8 113.3,99.8 113.3,99.8 113.3,99.8 113.2,99.8 113.2,99.8 113.2,99.8 113.2,99.8 113.1,99.8 + 113.1,99.8 113.1,99.8 113,99.8 113,99.8 113,99.8 113,99.8 112.9,99.8 112.9,99.8 112.9,99.8 112.8,99.8 112.8,99.8 + 112.8,99.8 112.8,99.8 112.7,99.8 112.7,99.8 112.7,99.8 112.7,99.8 112.6,99.8 112.6,99.8 112.6,99.8 112.5,99.8 112.5,99.8 + 112.5,99.8 112.5,99.8 112.4,99.8 112.4,99.8 112.4,99.8 112.3,99.8 112.3,99.8 112.3,99.8 112.3,99.8 112.2,99.8 112.2,99.8 + 112.2,99.8 112.1,99.8 112.1,99.8 112.1,99.8 112.1,99.8 112,99.8 112,99.8 112,99.8 111.9,99.8 111.9,99.8 111.9,99.8 + 111.9,99.8 111.8,99.8 111.8,99.8 111.8,99.8 111.7,99.8 111.7,99.8 111.7,99.8 111.7,99.8 111.6,99.8 111.6,99.8 111.6,99.8 + 111.5,99.8 111.5,99.8 111.5,99.8 111.5,99.8 111.4,99.8 111.4,99.8 111.4,99.8 111.3,99.8 111.3,99.8 111.3,99.8 111.3,99.8 + 111.2,99.8 111.2,99.8 111.2,99.8 111.1,99.8 111.1,99.8 111.1,99.8 111.1,99.8 111,99.8 111,99.8 111,99.8 110.9,99.8 + 110.9,99.8 110.9,99.8 110.9,99.8 110.8,99.8 110.8,99.8 110.8,99.8 110.7,99.8 110.7,99.8 110.7,99.8 110.7,99.8 110.6,99.8 + 110.6,99.8 110.6,99.8 110.5,99.8 110.5,99.8 110.5,99.8 110.5,99.8 110.4,99.8 110.4,99.8 110.4,99.8 110.4,99.8 110.3,99.8 + 110.3,99.8 110.3,99.8 110.2,99.8 110.2,99.8 110.2,99.8 110.2,99.8 110.1,99.8 110.1,99.8 110.1,99.8 110,99.8 110,99.8 + 110,99.8 110,99.8 109.9,99.8 109.9,99.8 109.9,99.8 109.8,99.8 109.8,99.8 109.8,99.8 109.8,99.8 109.7,99.8 109.7,99.8 + 109.7,99.8 109.6,99.8 109.6,99.8 109.6,99.8 109.6,99.8 109.5,99.8 109.5,99.8 109.5,101.9 109.5,101.9 109.6,101.9 + 109.6,101.9 109.6,101.9 109.6,101.9 109.7,101.9 109.7,101.9 109.7,101.9 109.8,101.9 109.8,101.9 109.8,101.9 109.8,101.9 + 109.9,101.9 109.9,101.9 109.9,101.9 110,101.9 110,101.9 110,101.9 110,101.9 110.1,101.9 110.1,101.9 110.1,101.9 + 110.2,101.9 110.2,101.9 110.2,101.9 110.2,101.9 110.3,101.9 110.3,101.9 110.3,101.9 110.4,101.9 110.4,101.9 110.4,101.9 + 110.4,101.9 110.5,101.9 110.5,101.9 110.5,101.9 110.5,101.9 110.6,101.9 110.6,101.9 110.6,101.9 110.7,101.9 110.7,101.9 + 110.7,101.9 110.7,101.9 110.8,101.9 110.8,101.9 110.8,101.9 110.9,101.9 110.9,101.9 110.9,101.9 110.9,101.9 111,101.9 + 111,101.9 111,101.9 111.1,101.9 111.1,101.9 111.1,101.9 111.1,101.9 111.2,101.9 111.2,101.9 111.2,101.9 111.3,101.9 + 111.3,101.9 111.3,101.9 111.3,101.9 111.4,101.9 111.4,101.9 111.4,101.9 111.5,101.9 111.5,101.9 111.5,101.9 111.5,101.9 + 111.6,101.9 111.6,101.9 111.6,101.9 111.7,101.9 111.7,101.9 111.7,101.9 111.7,101.9 111.8,101.9 111.8,101.9 111.8,101.9 + 111.9,101.9 111.9,101.9 111.9,101.9 111.9,101.9 112,101.9 112,101.9 112,101.9 112.1,101.9 112.1,101.9 112.1,101.9 + 112.1,101.9 112.2,101.9 112.2,101.9 112.2,101.9 112.3,101.9 112.3,101.9 112.3,101.9 112.3,101.9 112.4,101.9 112.4,101.9 + 112.4,101.9 112.5,101.9 112.5,101.9 112.5,101.9 112.5,101.9 112.6,101.9 112.6,101.9 112.6,101.9 112.7,101.9 112.7,101.9 + 112.7,101.9 112.7,101.9 112.8,101.9 112.8,101.9 112.8,101.9 112.8,101.9 112.9,101.9 112.9,101.9 112.9,101.9 113,101.9 + 113,101.9 113,101.9 113,101.9 113.1,101.9 113.1,101.9 113.1,101.9 113.2,101.9 113.2,101.9 113.2,101.9 113.2,101.9 + 113.3,101.9 113.3,101.9 113.3,101.9 113.4,101.9 113.4,101.9 113.4,101.9 113.4,101.9 113.5,101.9 113.5,101.9 113.5,101.9 + 113.6,101.9 113.6,101.9 113.6,101.9 113.6,101.9 113.7,101.9 113.7,101.9 113.7,101.9 113.8,101.9 113.8,101.9 113.8,101.9 + 113.8,101.9 113.9,101.9 113.9,101.9 113.9,101.9 114,101.9 114,101.9 114,101.9 114,101.9 114.1,101.9 114.1,101.9 + 114.1,101.9 114.2,101.9 114.2,101.9 114.2,101.9 114.2,101.9 114.3,101.9 114.3,101.9 114.3,101.9 114.4,101.9 114.4,101.9 + 114.4,101.9 114.4,101.9 114.5,101.9 114.5,101.9 114.5,101.9 114.6,101.9 114.6,101.9 114.6,101.9 114.6,101.9 114.7,101.9 + 114.7,101.9 114.7,101.9 114.8,101.9 114.8,101.9 114.8,101.9 114.8,101.9 114.9,101.9 114.9,101.9 114.9,101.9 115,101.9 + 115,99.8 114.9,99.8 "/> + <linearGradient id="SVGID_15_" gradientUnits="userSpaceOnUse" x1="111.134" y1="166.6087" x2="111.134" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st20" points="109.5,107.4 109.5,107.4 109.6,107.4 109.6,107.4 109.6,107.4 109.6,107.4 109.6,107.4 + 109.7,107.4 109.7,107.4 109.7,107.4 109.7,107.4 109.7,107.4 109.7,107.4 109.8,107.4 109.8,107.4 109.8,107.4 109.8,107.4 + 109.8,107.4 109.8,107.4 109.9,107.4 109.9,107.4 109.9,107.4 109.9,107.4 109.9,107.4 109.9,107.4 110,107.4 110,107.4 + 110,107.4 110,107.4 110,107.4 110,107.4 110.1,107.4 110.1,107.4 110.1,107.4 110.1,107.4 110.1,107.4 110.1,107.4 + 110.2,107.4 110.2,107.4 110.2,107.4 110.2,107.4 110.2,107.4 110.2,107.4 110.3,107.4 110.3,107.4 110.3,107.4 110.3,107.4 + 110.3,107.4 110.4,107.4 110.4,107.4 110.4,107.4 110.4,107.4 110.4,107.4 110.4,107.4 110.5,107.4 110.5,107.4 110.5,107.4 + 110.5,107.4 110.5,107.4 110.5,107.4 110.6,107.4 110.6,107.4 110.6,107.4 110.6,107.4 110.6,107.4 110.6,107.4 110.7,107.4 + 110.7,107.4 110.7,107.4 110.7,107.4 110.7,107.4 110.7,107.4 110.8,107.4 110.8,107.4 110.8,107.4 110.8,107.4 110.8,107.4 + 110.8,107.4 110.9,107.4 110.9,107.4 110.9,107.4 110.9,107.4 110.9,107.4 110.9,107.4 111,107.4 111,107.4 111,107.4 + 111,107.4 111,107.4 111,107.4 111.1,107.4 111.1,107.4 111.1,107.4 111.1,107.4 111.1,107.4 111.2,107.4 111.2,107.4 + 111.2,107.4 111.2,107.4 111.2,107.4 111.2,107.4 111.3,107.4 111.3,107.4 111.3,107.4 111.3,107.4 111.3,107.4 111.3,107.4 + 111.4,107.4 111.4,107.4 111.4,107.4 111.4,107.4 111.4,107.4 111.4,107.4 111.5,107.4 111.5,107.4 111.5,107.4 111.5,107.4 + 111.5,107.4 111.5,107.4 111.6,107.4 111.6,107.4 111.6,107.4 111.6,107.4 111.6,107.4 111.6,107.4 111.7,107.4 111.7,107.4 + 111.7,107.4 111.7,107.4 111.7,107.4 111.7,107.4 111.8,107.4 111.8,107.4 111.8,107.4 111.8,107.4 111.8,107.4 111.8,107.4 + 111.9,107.4 111.9,107.4 111.9,107.4 111.9,107.4 111.9,107.4 112,107.4 112,107.4 112,107.4 112,107.4 112,107.4 112,107.4 + 112.1,107.4 112.1,107.4 112.1,107.4 112.1,107.4 112.1,107.4 112.1,107.4 112.2,107.4 112.2,107.4 112.2,107.4 112.2,107.4 + 112.2,107.4 112.2,107.4 112.3,107.4 112.3,107.4 112.3,107.4 112.3,107.4 112.3,107.4 112.3,107.4 112.4,107.4 112.4,107.4 + 112.4,107.4 112.4,107.4 112.4,107.4 112.4,107.4 112.5,107.4 112.5,107.4 112.5,107.4 112.5,107.4 112.5,107.4 112.5,107.4 + 112.6,107.4 112.6,107.4 112.6,107.4 112.6,107.4 112.6,107.4 112.7,107.4 112.7,107.4 112.7,107.4 112.7,107.4 112.7,107.4 + 112.7,107.4 112.8,107.4 112.8,107.4 112.8,105.3 112.8,105.3 112.7,105.3 112.7,105.3 112.7,105.3 112.7,105.3 112.7,105.3 + 112.7,105.3 112.6,105.3 112.6,105.3 112.6,105.3 112.6,105.3 112.6,105.3 112.5,105.3 112.5,105.3 112.5,105.3 112.5,105.3 + 112.5,105.3 112.5,105.3 112.4,105.3 112.4,105.3 112.4,105.3 112.4,105.3 112.4,105.3 112.4,105.3 112.3,105.3 112.3,105.3 + 112.3,105.3 112.3,105.3 112.3,105.3 112.3,105.3 112.2,105.3 112.2,105.3 112.2,105.3 112.2,105.3 112.2,105.3 112.2,105.3 + 112.1,105.3 112.1,105.3 112.1,105.3 112.1,105.3 112.1,105.3 112.1,105.3 112,105.3 112,105.3 112,105.3 112,105.3 112,105.3 + 112,105.3 111.9,105.3 111.9,105.3 111.9,105.3 111.9,105.3 111.9,105.3 111.8,105.3 111.8,105.3 111.8,105.3 111.8,105.3 + 111.8,105.3 111.8,105.3 111.7,105.3 111.7,105.3 111.7,105.3 111.7,105.3 111.7,105.3 111.7,105.3 111.6,105.3 111.6,105.3 + 111.6,105.3 111.6,105.3 111.6,105.3 111.6,105.3 111.5,105.3 111.5,105.3 111.5,105.3 111.5,105.3 111.5,105.3 111.5,105.3 + 111.4,105.3 111.4,105.3 111.4,105.3 111.4,105.3 111.4,105.3 111.4,105.3 111.3,105.3 111.3,105.3 111.3,105.3 111.3,105.3 + 111.3,105.3 111.3,105.3 111.2,105.3 111.2,105.3 111.2,105.3 111.2,105.3 111.2,105.3 111.2,105.3 111.1,105.3 111.1,105.3 + 111.1,105.3 111.1,105.3 111.1,105.3 111,105.3 111,105.3 111,105.3 111,105.3 111,105.3 111,105.3 110.9,105.3 110.9,105.3 + 110.9,105.3 110.9,105.3 110.9,105.3 110.9,105.3 110.8,105.3 110.8,105.3 110.8,105.3 110.8,105.3 110.8,105.3 110.8,105.3 + 110.7,105.3 110.7,105.3 110.7,105.3 110.7,105.3 110.7,105.3 110.7,105.3 110.6,105.3 110.6,105.3 110.6,105.3 110.6,105.3 + 110.6,105.3 110.6,105.3 110.5,105.3 110.5,105.3 110.5,105.3 110.5,105.3 110.5,105.3 110.5,105.3 110.4,105.3 110.4,105.3 + 110.4,105.3 110.4,105.3 110.4,105.3 110.4,105.3 110.3,105.3 110.3,105.3 110.3,105.3 110.3,105.3 110.3,105.3 110.2,105.3 + 110.2,105.3 110.2,105.3 110.2,105.3 110.2,105.3 110.2,105.3 110.1,105.3 110.1,105.3 110.1,105.3 110.1,105.3 110.1,105.3 + 110.1,105.3 110,105.3 110,105.3 110,105.3 110,105.3 110,105.3 110,105.3 109.9,105.3 109.9,105.3 109.9,105.3 109.9,105.3 + 109.9,105.3 109.9,105.3 109.8,105.3 109.8,105.3 109.8,105.3 109.8,105.3 109.8,105.3 109.8,105.3 109.7,105.3 109.7,105.3 + 109.7,105.3 109.7,105.3 109.7,105.3 109.7,105.3 109.6,105.3 109.6,105.3 109.6,105.3 109.6,105.3 109.6,105.3 109.5,105.3 + 109.5,105.3 109.5,105.3 109.5,105.3 109.5,107.4 109.5,107.4 "/> + <linearGradient id="SVGID_16_" gradientUnits="userSpaceOnUse" x1="112.2248" y1="166.6087" x2="112.2248" y2="40.4035"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st21" points="114.9,110.7 114.9,110.7 114.8,110.7 114.8,110.7 114.8,110.7 114.8,110.7 114.7,110.7 + 114.7,110.7 114.7,110.7 114.6,110.7 114.6,110.7 114.6,110.7 114.6,110.7 114.5,110.7 114.5,110.7 114.5,110.7 114.4,110.7 + 114.4,110.7 114.4,110.7 114.4,110.7 114.3,110.7 114.3,110.7 114.3,110.7 114.2,110.7 114.2,110.7 114.2,110.7 114.2,110.7 + 114.1,110.7 114.1,110.7 114.1,110.7 114,110.7 114,110.7 114,110.7 114,110.7 113.9,110.7 113.9,110.7 113.9,110.7 + 113.8,110.7 113.8,110.7 113.8,110.7 113.8,110.7 113.7,110.7 113.7,110.7 113.7,110.7 113.6,110.7 113.6,110.7 113.6,110.7 + 113.6,110.7 113.5,110.7 113.5,110.7 113.5,110.7 113.4,110.7 113.4,110.7 113.4,110.7 113.4,110.7 113.3,110.7 113.3,110.7 + 113.3,110.7 113.2,110.7 113.2,110.7 113.2,110.7 113.2,110.7 113.1,110.7 113.1,110.7 113.1,110.7 113,110.7 113,110.7 + 113,110.7 113,110.7 112.9,110.7 112.9,110.7 112.9,110.7 112.8,110.7 112.8,110.7 112.8,110.7 112.8,110.7 112.7,110.7 + 112.7,110.7 112.7,110.7 112.7,110.7 112.6,110.7 112.6,110.7 112.6,110.7 112.5,110.7 112.5,110.7 112.5,110.7 112.5,110.7 + 112.4,110.7 112.4,110.7 112.4,110.7 112.3,110.7 112.3,110.7 112.3,110.7 112.3,110.7 112.2,110.7 112.2,110.7 112.2,110.7 + 112.1,110.7 112.1,110.7 112.1,110.7 112.1,110.7 112,110.7 112,110.7 112,110.7 111.9,110.7 111.9,110.7 111.9,110.7 + 111.9,110.7 111.8,110.7 111.8,110.7 111.8,110.7 111.7,110.7 111.7,110.7 111.7,110.7 111.7,110.7 111.6,110.7 111.6,110.7 + 111.6,110.7 111.5,110.7 111.5,110.7 111.5,110.7 111.5,110.7 111.4,110.7 111.4,110.7 111.4,110.7 111.3,110.7 111.3,110.7 + 111.3,110.7 111.3,110.7 111.2,110.7 111.2,110.7 111.2,110.7 111.1,110.7 111.1,110.7 111.1,110.7 111.1,110.7 111,110.7 + 111,110.7 111,110.7 110.9,110.7 110.9,110.7 110.9,110.7 110.9,110.7 110.8,110.7 110.8,110.7 110.8,110.7 110.7,110.7 + 110.7,110.7 110.7,110.7 110.7,110.7 110.6,110.7 110.6,110.7 110.6,110.7 110.5,110.7 110.5,110.7 110.5,110.7 110.5,110.7 + 110.4,110.7 110.4,110.7 110.4,110.7 110.4,110.7 110.3,110.7 110.3,110.7 110.3,110.7 110.2,110.7 110.2,110.7 110.2,110.7 + 110.2,110.7 110.1,110.7 110.1,110.7 110.1,110.7 110,110.7 110,110.7 110,110.7 110,110.7 109.9,110.7 109.9,110.7 + 109.9,110.7 109.8,110.7 109.8,110.7 109.8,110.7 109.8,110.7 109.7,110.7 109.7,110.7 109.7,110.7 109.6,110.7 109.6,110.7 + 109.6,110.7 109.6,110.7 109.5,110.7 109.5,110.7 109.5,112.8 109.5,112.8 109.6,112.8 109.6,112.8 109.6,112.8 109.6,112.8 + 109.7,112.8 109.7,112.8 109.7,112.8 109.8,112.8 109.8,112.8 109.8,112.8 109.8,112.8 109.9,112.8 109.9,112.8 109.9,112.8 + 110,112.8 110,112.8 110,112.8 110,112.8 110.1,112.8 110.1,112.8 110.1,112.8 110.2,112.8 110.2,112.8 110.2,112.8 + 110.2,112.8 110.3,112.8 110.3,112.8 110.3,112.8 110.4,112.8 110.4,112.8 110.4,112.8 110.4,112.8 110.5,112.8 110.5,112.8 + 110.5,112.8 110.5,112.8 110.6,112.8 110.6,112.8 110.6,112.8 110.7,112.8 110.7,112.8 110.7,112.8 110.7,112.8 110.8,112.8 + 110.8,112.8 110.8,112.8 110.9,112.8 110.9,112.8 110.9,112.8 110.9,112.8 111,112.8 111,112.8 111,112.8 111.1,112.8 + 111.1,112.8 111.1,112.8 111.1,112.8 111.2,112.8 111.2,112.8 111.2,112.8 111.3,112.8 111.3,112.8 111.3,112.8 111.3,112.8 + 111.4,112.8 111.4,112.8 111.4,112.8 111.5,112.8 111.5,112.8 111.5,112.8 111.5,112.8 111.6,112.8 111.6,112.8 111.6,112.8 + 111.7,112.8 111.7,112.8 111.7,112.8 111.7,112.8 111.8,112.8 111.8,112.8 111.8,112.8 111.9,112.8 111.9,112.8 111.9,112.8 + 111.9,112.8 112,112.8 112,112.8 112,112.8 112.1,112.8 112.1,112.8 112.1,112.8 112.1,112.8 112.2,112.8 112.2,112.8 + 112.2,112.8 112.3,112.8 112.3,112.8 112.3,112.8 112.3,112.8 112.4,112.8 112.4,112.8 112.4,112.8 112.5,112.8 112.5,112.8 + 112.5,112.8 112.5,112.8 112.6,112.8 112.6,112.8 112.6,112.8 112.7,112.8 112.7,112.8 112.7,112.8 112.7,112.8 112.8,112.8 + 112.8,112.8 112.8,112.8 112.8,112.8 112.9,112.8 112.9,112.8 112.9,112.8 113,112.8 113,112.8 113,112.8 113,112.8 + 113.1,112.8 113.1,112.8 113.1,112.8 113.2,112.8 113.2,112.8 113.2,112.8 113.2,112.8 113.3,112.8 113.3,112.8 113.3,112.8 + 113.4,112.8 113.4,112.8 113.4,112.8 113.4,112.8 113.5,112.8 113.5,112.8 113.5,112.8 113.6,112.8 113.6,112.8 113.6,112.8 + 113.6,112.8 113.7,112.8 113.7,112.8 113.7,112.8 113.8,112.8 113.8,112.8 113.8,112.8 113.8,112.8 113.9,112.8 113.9,112.8 + 113.9,112.8 114,112.8 114,112.8 114,112.8 114,112.8 114.1,112.8 114.1,112.8 114.1,112.8 114.2,112.8 114.2,112.8 + 114.2,112.8 114.2,112.8 114.3,112.8 114.3,112.8 114.3,112.8 114.4,112.8 114.4,112.8 114.4,112.8 114.4,112.8 114.5,112.8 + 114.5,112.8 114.5,112.8 114.6,112.8 114.6,112.8 114.6,112.8 114.6,112.8 114.7,112.8 114.7,112.8 114.7,112.8 114.8,112.8 + 114.8,112.8 114.8,112.8 114.8,112.8 114.9,112.8 114.9,112.8 114.9,112.8 115,112.8 115,110.7 114.9,110.7 "/> + </g> + </g> + </g> + </g> +</switch> +</svg> diff --git a/homescreen/qml/images/Shortcut/launcher.svg b/homescreen/qml/images/Shortcut/launcher.svg new file mode 100644 index 0000000..b6eab24 --- /dev/null +++ b/homescreen/qml/images/Shortcut/launcher.svg @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/"> + <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/"> + <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/"> + <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/"> + <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/"> + <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/"> + <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/"> + <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/"> +]> +<svg version="1.1" id="Home" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 195 216.8" + style="enable-background:new 0 0 195 216.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} + .st1{font-family:'Roboto-Regular';} + .st2{font-size:11px;} + .st3{letter-spacing:2;} + .st4{fill:url(#SVGID_1_);} + .st5{fill:url(#SVGID_2_);} + .st6{fill:url(#SVGID_3_);} + .st7{fill:url(#SVGID_4_);} + .st8{fill:url(#SVGID_5_);} +</style> +<switch> + <g i:extraneous="self"> + <g> + <g id="Home_1_"> + <g> + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="99.287" y1="155.911" x2="99.287" y2="84.32"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st4" d="M67.3,106.3c-1.2-1.2-1.2-3.2,0-4.4l29.8-28.7c1.1-1.1,3.2-1.2,4.3,0l29.8,28.7c1.2,1.2,1.2,3.2,0,4.4 + l-1.4-1.4c0.4-0.4,0.4-1.1,0-1.5L100,74.6c-0.4-0.4-1.1-0.4-1.5,0l-29.8,28.7c-0.4,0.4-0.4,1.1,0,1.5L67.3,106.3z"/> + </g> + <g> + <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="118.5558" y1="155.911" x2="118.5558" y2="84.32"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st5" d="M124.8,90h-2V76.9l-8.4,0l0,4.2h-2v-4.2c0-1.1,0.9-2.1,2.1-2.1h8.4c1.1,0,2.1,0.9,2.1,2.1V90z"/> + </g> + <g> + <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="80.0296" y1="155.911" x2="80.0296" y2="84.32"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st6" d="M88.4,138H74.8c-1.7,0-3.1-1.4-3.1-3.1v-14.7h2v14.7c0,0.6,0.5,1.1,1.1,1.1h13.5V138z"/> + </g> + <g> + <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="118.4708" y1="155.911" x2="118.4708" y2="84.32"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st7" d="M123.7,138h-13.6v-2h13.6c0.6,0,1.1-0.5,1.1-1.1v-27.2c0-0.6-0.5-1.1-1.1-1.1v-2c1.7,0,3.1,1.4,3.1,3.1 + v27.2C126.8,136.7,125.4,138,123.7,138z"/> + </g> + <g> + <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="98.7235" y1="155.911" x2="98.7235" y2="84.32"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st8" d="M105,138.2l0-21l-12.5,0l0,18.9l0,2.1c-1.1,0-2.1-0.9-2.1-2.1v-18.9c0-1.1,0.9-2.1,2.1-2.1H105 + c1.1,0,2.1,0.9,2.1,2.1v18.9C107,137.2,106.1,138.2,105,138.2z"/> + </g> + </g> + </g> + </g> +</switch> +</svg> diff --git a/homescreen/qml/images/Shortcut/launcher_active.svg b/homescreen/qml/images/Shortcut/launcher_active.svg new file mode 100644 index 0000000..e85c7d8 --- /dev/null +++ b/homescreen/qml/images/Shortcut/launcher_active.svg @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/"> + <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/"> + <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/"> + <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/"> + <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/"> + <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/"> + <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/"> + <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/"> +]> +<svg version="1.1" id="Home" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 195 216.8" + style="enable-background:new 0 0 195 216.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#0DF9FF;} + .st1{fill:url(#Active_2_1_);} + .st2{fill:#FFFFFF;} + .st3{font-family:'Roboto-Regular';} + .st4{font-size:11px;} + .st5{letter-spacing:2;} + .st6{fill:url(#SVGID_1_);} + .st7{fill:url(#SVGID_2_);} + .st8{fill:url(#SVGID_3_);} + .st9{fill:url(#SVGID_4_);} + .st10{fill:url(#SVGID_5_);} +</style> +<switch> + <g i:extraneous="self"> + <rect id="Active_1" y="214.3" transform="matrix(-1 -1.224647e-16 1.224647e-16 -1 195.8833 431.0468)" class="st0" width="195.9" height="2.4"/> + <linearGradient id="Active_2_1_" gradientUnits="userSpaceOnUse" x1="97.9416" y1="236.9585" x2="97.9416" y2="-68.5304"> + <stop offset="0" style="stop-color:#0DF9FF"/> + <stop offset="9.208472e-02" style="stop-color:#0DF9FF;stop-opacity:0.853"/> + <stop offset="0.6264" style="stop-color:#0DF9FF;stop-opacity:0"/> + </linearGradient> + <rect id="Active_2" class="st1" width="195.9" height="214.3"/> + <g> + <g id="Home_1_"> + <g> + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="99.287" y1="155.911" x2="99.287" y2="84.32"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st6" d="M67.3,106.3c-1.2-1.2-1.2-3.2,0-4.4l29.8-28.7c1.1-1.1,3.2-1.2,4.3,0l29.8,28.7c1.2,1.2,1.2,3.2,0,4.4 + l-1.4-1.4c0.4-0.4,0.4-1.1,0-1.5L100,74.6c-0.4-0.4-1.1-0.4-1.5,0l-29.8,28.7c-0.4,0.4-0.4,1.1,0,1.5L67.3,106.3z"/> + </g> + <g> + <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="118.5558" y1="155.911" x2="118.5558" y2="84.32"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st7" d="M124.8,90h-2V76.9l-8.4,0l0,4.2h-2v-4.2c0-1.1,0.9-2.1,2.1-2.1h8.4c1.1,0,2.1,0.9,2.1,2.1V90z"/> + </g> + <g> + <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="80.0296" y1="155.911" x2="80.0296" y2="84.32"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st8" d="M88.4,138H74.8c-1.7,0-3.1-1.4-3.1-3.1v-14.7h2v14.7c0,0.6,0.5,1.1,1.1,1.1h13.5V138z"/> + </g> + <g> + <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="118.4708" y1="155.911" x2="118.4708" y2="84.32"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st9" d="M123.7,138h-13.6v-2h13.6c0.6,0,1.1-0.5,1.1-1.1v-27.2c0-0.6-0.5-1.1-1.1-1.1v-2c1.7,0,3.1,1.4,3.1,3.1 + v27.2C126.8,136.7,125.4,138,123.7,138z"/> + </g> + <g> + <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="98.7235" y1="155.911" x2="98.7235" y2="84.32"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st10" d="M105,138.2l0-21l-12.5,0l0,18.9l0,2.1c-1.1,0-2.1-0.9-2.1-2.1v-18.9c0-1.1,0.9-2.1,2.1-2.1H105 + c1.1,0,2.1,0.9,2.1,2.1v18.9C107,137.2,106.1,138.2,105,138.2z"/> + </g> + </g> + </g> + </g> +</switch> +</svg> diff --git a/homescreen/qml/images/Shortcut/mediaplayer.svg b/homescreen/qml/images/Shortcut/mediaplayer.svg new file mode 100644 index 0000000..de7448d --- /dev/null +++ b/homescreen/qml/images/Shortcut/mediaplayer.svg @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/"> + <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/"> + <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/"> + <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/"> + <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/"> + <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/"> + <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/"> + <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/"> +]> +<svg version="1.1" id="Multimedia" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 195 216.8" + style="enable-background:new 0 0 195 216.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} + .st1{font-family:'Roboto-Regular';} + .st2{font-size:11px;} + .st3{letter-spacing:2;} + .st4{fill:url(#SVGID_1_);} + .st5{fill:url(#SVGID_2_);} +</style> +<switch> + <g i:extraneous="self"> + <g> + <g id="Multimedia_2_"> + <g> + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="86.8321" y1="146.5267" x2="114.4627" y2="66.8384"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st4" d="M71.3,139.8c-3.8,0-7.2-1.5-8.9-4.5c-1.7-2.9-3.2-8.7,5.7-13.8c2.9-1.7,10.2-2.3,12.4-2.4l0,2.1 + c-2.7,0.1-9.2,0.8-11.4,2.1c-5.6,3.2-7.2,6.9-4.9,10.9c2.3,4,8.7,4.6,14.3,1.3c4-2.3,6.3-6.3,6.4-10.7l-0.1-0.4V82.7l42.9-8.4 + l0.1,42.6c0,4-2,9.8-7.5,13c-6.6,3.8-14.4,2.9-17.2-2.1c-1.7-2.9-3.2-8.7,5.7-13.8c2.6-1.5,8.6-2.3,11.2-2.4l0.1,2.1 + c-2.5,0.1-8,0.8-10.2,2.1c-3.8,2.2-7.8,5.9-4.9,10.9c2.3,4,8.7,4.6,14.3,1.3c4.7-2.7,6.4-7.6,6.4-11.1l-0.1-0.5V76.9l-38.6,7.6 + v39.9l0.1,0.4c0,5.2-2.8,9.9-7.4,12.6C76.9,139,74,139.8,71.3,139.8z"/> + </g> + <g> + <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="89.6871" y1="147.5167" x2="117.3178" y2="67.8283"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st5" points="95.8,99.4 95.3,97.3 119.6,91.6 120.1,93.7 "/> + </g> + </g> + </g> + </g> +</switch> +</svg> diff --git a/homescreen/qml/images/Shortcut/mediaplayer_active.svg b/homescreen/qml/images/Shortcut/mediaplayer_active.svg new file mode 100644 index 0000000..16e3af5 --- /dev/null +++ b/homescreen/qml/images/Shortcut/mediaplayer_active.svg @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/"> + <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/"> + <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/"> + <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/"> + <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/"> + <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/"> + <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/"> + <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/"> +]> +<svg version="1.1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 195 216.8" + style="enable-background:new 0 0 195 216.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#0DF9FF;} + .st1{fill:url(#Active_2_1_);} + .st2{fill:#FFFFFF;} + .st3{font-family:'Roboto-Regular';} + .st4{font-size:11px;} + .st5{letter-spacing:2;} + .st6{fill:url(#SVGID_1_);} + .st7{fill:url(#SVGID_2_);} +</style> +<switch> + <g i:extraneous="self"> + <g id="Layer_6"> + <rect id="Active_1" y="214.3" transform="matrix(-1 -1.224647e-16 1.224647e-16 -1 195.8833 431.0468)" class="st0" width="195.9" height="2.4"/> + <linearGradient id="Active_2_1_" gradientUnits="userSpaceOnUse" x1="97.9416" y1="236.9585" x2="97.9416" y2="-68.5304"> + <stop offset="0" style="stop-color:#0DF9FF"/> + <stop offset="9.208472e-02" style="stop-color:#0DF9FF;stop-opacity:0.853"/> + <stop offset="0.6264" style="stop-color:#0DF9FF;stop-opacity:0"/> + </linearGradient> + <rect id="Active_2" class="st1" width="195.9" height="214.3"/> + </g> + <g id="Multimedia"> + <g> + <g id="Multimedia_2_"> + <g> + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="86.8321" y1="146.5267" x2="114.4627" y2="66.8384"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st6" d="M71.3,139.8c-3.8,0-7.2-1.5-8.9-4.5c-1.7-2.9-3.2-8.7,5.7-13.8c2.9-1.7,10.2-2.3,12.4-2.4l0,2.1 + c-2.7,0.1-9.2,0.8-11.4,2.1c-5.6,3.2-7.2,6.9-4.9,10.9c2.3,4,8.7,4.6,14.3,1.3c4-2.3,6.3-6.3,6.4-10.7l-0.1-0.4V82.7l42.9-8.4 + l0.1,42.6c0,4-2,9.8-7.5,13c-6.6,3.8-14.4,2.9-17.2-2.1c-1.7-2.9-3.2-8.7,5.7-13.8c2.6-1.5,8.6-2.3,11.2-2.4l0.1,2.1 + c-2.5,0.1-8,0.8-10.2,2.1c-3.8,2.2-7.8,5.9-4.9,10.9c2.3,4,8.7,4.6,14.3,1.3c4.7-2.7,6.4-7.6,6.4-11.1l-0.1-0.5V76.9 + l-38.6,7.6v39.9l0.1,0.4c0,5.2-2.8,9.9-7.4,12.6C76.9,139,74,139.8,71.3,139.8z"/> + </g> + <g> + <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="89.6871" y1="147.5167" x2="117.3178" y2="67.8283"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st7" points="95.8,99.4 95.3,97.3 119.6,91.6 120.1,93.7 "/> + </g> + </g> + </g> + </g> + </g> +</switch> +</svg> diff --git a/homescreen/qml/images/Shortcut/navigation.svg b/homescreen/qml/images/Shortcut/navigation.svg new file mode 100644 index 0000000..6f6f1e0 --- /dev/null +++ b/homescreen/qml/images/Shortcut/navigation.svg @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/"> + <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/"> + <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/"> + <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/"> + <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/"> + <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/"> + <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/"> + <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/"> +]> +<svg version="1.1" id="Navigation" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 195 216.8" + style="enable-background:new 0 0 195 216.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} + .st1{font-family:'Roboto-Regular';} + .st2{font-size:11px;} + .st3{letter-spacing:2;} + .st4{fill:url(#SVGID_1_);} + .st5{fill:url(#SVGID_2_);} + .st6{fill:url(#SVGID_3_);} + .st7{fill:url(#SVGID_4_);} + .st8{fill:url(#SVGID_5_);} + .st9{fill:url(#SVGID_6_);} +</style> +<switch> + <g i:extraneous="self"> + <g> + <g> + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="113.767" y1="186.3057" x2="79.8095" y2="21.0462"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st4" d="M103.9,107.1c0-3.5-2.8-6.4-6.4-6.4c-3.5,0-6.4,2.8-6.4,6.4s2.8,6.4,6.4,6.4 + C101,113.5,103.9,110.7,103.9,107.1z M97.5,111.4c-2.3,0-4.2-1.9-4.2-4.2s1.9-4.2,4.2-4.2c2.3,0,4.2,1.9,4.2,4.2 + S99.8,111.4,97.5,111.4z"/> + <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="126.332" y1="183.7239" x2="92.3746" y2="18.4644"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st5" d="M110.2,105c-1.2,0-2.1,0.9-2.1,2.1c0,4.5-2.8,8.5-7.1,10c-0.8,0.3-1.4,1.1-1.4,2v15.3 + c0,0.6,0.3,1.2,0.7,1.6c0.5,0.4,1.1,0.6,1.7,0.5c14.5-2.3,25.1-14.7,25.1-29.3c0-1.2-0.9-2.1-2.1-2.1H110.2z M101.7,134.3v-15.2 + c4.9-1.8,8.5-6.4,8.5-12H125C125,120.9,114.9,132.3,101.7,134.3z"/> + <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="115.4429" y1="185.9613" x2="81.4855" y2="20.7018"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st6" d="M97.5,77.5c-12.9,0-24.3,8.3-28.2,20.5c-0.2,0.6-0.1,1.3,0.4,1.9c0.4,0.6,1,0.8,1.7,0.8H88 + c0.6,0,1.1-0.2,1.6-0.7c2-2.3,4.9-3.5,7.9-3.5c3,0,5.9,1.3,7.9,3.5c0.4,0.5,1,0.7,1.6,0.7h16.7c0.7,0,1.3-0.3,1.7-0.8 + c0.4-0.6,0.6-1.3,0.4-1.9C121.8,85.8,110.3,77.5,97.5,77.5z M107,98.7c-2.3-2.6-5.7-4.2-9.5-4.2c-3.7,0-7.1,1.6-9.5,4.2H71.3 + c3.5-11.1,13.9-19.1,26.2-19.1s22.7,8,26.2,19.1H107z"/> + <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="113.495" y1="186.3616" x2="79.5375" y2="21.1021"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st7" d="M129.3,107.1c0,17.6-14.2,31.8-31.8,31.8s-31.8-14.2-31.8-31.8c0-0.3,0-0.5,0-0.8h-2.1c0,0.3,0,0.5,0,0.8 + c0,18.7,15.2,33.9,33.9,33.9c18.7,0,33.9-15.2,33.9-33.9c0-0.3,0-0.5,0-0.8h-2.1C129.3,106.6,129.3,106.9,129.3,107.1z"/> + <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="97.0455" y1="189.7416" x2="63.0881" y2="24.4821"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st8" d="M94,117.1c-4.2-1.5-7.1-5.4-7.1-10c0-1.2-0.9-2.1-2.1-2.1H70c-1.2,0-2.1,0.9-2.1,2.1 + c0,14.6,10.7,27,25.1,29.3c0.6,0.1,1.2-0.1,1.7-0.5c0.5-0.4,0.7-1,0.7-1.6v-15.2C95.4,118.2,94.8,117.4,94,117.1z M93.3,134.3 + c-13.2-2-23.3-13.4-23.3-27.2h14.8c0,5.5,3.5,10.2,8.5,12V134.3z"/> + <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="115.5222" y1="185.9451" x2="81.5647" y2="20.6856"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st9" d="M97.5,75.4c14.5,0,26.7,9.6,30.5,22.9h2.2c-3.9-14.4-17.1-25-32.7-25c-15.6,0-28.8,10.6-32.7,25H67 + C70.8,85,83,75.4,97.5,75.4z"/> + </g> + </g> + </g> +</switch> +</svg> diff --git a/homescreen/qml/images/Shortcut/navigation_active.svg b/homescreen/qml/images/Shortcut/navigation_active.svg new file mode 100644 index 0000000..9076934 --- /dev/null +++ b/homescreen/qml/images/Shortcut/navigation_active.svg @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/"> + <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/"> + <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/"> + <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/"> + <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/"> + <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/"> + <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/"> + <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/"> +]> +<svg version="1.1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 195 216.8" + style="enable-background:new 0 0 195 216.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#0DF9FF;} + .st1{fill:url(#Active_2_1_);} + .st2{fill:#FFFFFF;} + .st3{font-family:'Roboto-Regular';} + .st4{font-size:11px;} + .st5{letter-spacing:2;} + .st6{fill:url(#SVGID_1_);} + .st7{fill:url(#SVGID_2_);} + .st8{fill:url(#SVGID_3_);} + .st9{fill:url(#SVGID_4_);} + .st10{fill:url(#SVGID_5_);} + .st11{fill:url(#SVGID_6_);} +</style> +<switch> + <g i:extraneous="self"> + <g id="Layer_6"> + <rect id="Active_1" y="214.3" transform="matrix(-1 -1.224647e-16 1.224647e-16 -1 195.8833 431.0468)" class="st0" width="195.9" height="2.4"/> + <linearGradient id="Active_2_1_" gradientUnits="userSpaceOnUse" x1="97.9416" y1="236.9585" x2="97.9416" y2="-68.5304"> + <stop offset="0" style="stop-color:#0DF9FF"/> + <stop offset="9.208472e-02" style="stop-color:#0DF9FF;stop-opacity:0.853"/> + <stop offset="0.6264" style="stop-color:#0DF9FF;stop-opacity:0"/> + </linearGradient> + <rect id="Active_2" class="st1" width="195.9" height="214.3"/> + <g> + <g> + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="113.767" y1="186.3057" x2="79.8095" y2="21.0462"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st6" d="M103.9,107.1c0-3.5-2.8-6.4-6.4-6.4c-3.5,0-6.4,2.8-6.4,6.4s2.8,6.4,6.4,6.4 + C101,113.5,103.9,110.7,103.9,107.1z M97.5,111.4c-2.3,0-4.2-1.9-4.2-4.2s1.9-4.2,4.2-4.2c2.3,0,4.2,1.9,4.2,4.2 + S99.8,111.4,97.5,111.4z"/> + <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="126.332" y1="183.7239" x2="92.3746" y2="18.4644"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st7" d="M110.2,105c-1.2,0-2.1,0.9-2.1,2.1c0,4.5-2.8,8.5-7.1,10c-0.8,0.3-1.4,1.1-1.4,2v15.3 + c0,0.6,0.3,1.2,0.7,1.6c0.5,0.4,1.1,0.6,1.7,0.5c14.5-2.3,25.1-14.7,25.1-29.3c0-1.2-0.9-2.1-2.1-2.1H110.2z M101.7,134.3 + v-15.2c4.9-1.8,8.5-6.4,8.5-12H125C125,120.9,114.9,132.3,101.7,134.3z"/> + <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="115.4429" y1="185.9613" x2="81.4855" y2="20.7018"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st8" d="M97.5,77.5c-12.9,0-24.3,8.3-28.2,20.5c-0.2,0.6-0.1,1.3,0.4,1.9c0.4,0.6,1,0.8,1.7,0.8H88 + c0.6,0,1.1-0.2,1.6-0.7c2-2.3,4.9-3.5,7.9-3.5c3,0,5.9,1.3,7.9,3.5c0.4,0.5,1,0.7,1.6,0.7h16.7c0.7,0,1.3-0.3,1.7-0.8 + c0.4-0.6,0.6-1.3,0.4-1.9C121.8,85.8,110.3,77.5,97.5,77.5z M107,98.7c-2.3-2.6-5.7-4.2-9.5-4.2c-3.7,0-7.1,1.6-9.5,4.2H71.3 + c3.5-11.1,13.9-19.1,26.2-19.1s22.7,8,26.2,19.1H107z"/> + <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="113.495" y1="186.3616" x2="79.5375" y2="21.1021"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st9" d="M129.3,107.1c0,17.6-14.2,31.8-31.8,31.8s-31.8-14.2-31.8-31.8c0-0.3,0-0.5,0-0.8h-2.1c0,0.3,0,0.5,0,0.8 + c0,18.7,15.2,33.9,33.9,33.9c18.7,0,33.9-15.2,33.9-33.9c0-0.3,0-0.5,0-0.8h-2.1C129.3,106.6,129.3,106.9,129.3,107.1z"/> + <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="97.0455" y1="189.7416" x2="63.0881" y2="24.4821"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st10" d="M94,117.1c-4.2-1.5-7.1-5.4-7.1-10c0-1.2-0.9-2.1-2.1-2.1H70c-1.2,0-2.1,0.9-2.1,2.1 + c0,14.6,10.7,27,25.1,29.3c0.6,0.1,1.2-0.1,1.7-0.5c0.5-0.4,0.7-1,0.7-1.6v-15.2C95.4,118.2,94.8,117.4,94,117.1z M93.3,134.3 + c-13.2-2-23.3-13.4-23.3-27.2h14.8c0,5.5,3.5,10.2,8.5,12V134.3z"/> + <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="115.5222" y1="185.9451" x2="81.5647" y2="20.6856"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st11" d="M97.5,75.4c14.5,0,26.7,9.6,30.5,22.9h2.2c-3.9-14.4-17.1-25-32.7-25c-15.6,0-28.8,10.6-32.7,25H67 + C70.8,85,83,75.4,97.5,75.4z"/> + </g> + </g> + </g> + <g id="Navigation"> + </g> + </g> +</switch> +</svg> diff --git a/homescreen/qml/images/Shortcut/shortcut.qrc b/homescreen/qml/images/Shortcut/shortcut.qrc index fe31006..5d67341 100644 --- a/homescreen/qml/images/Shortcut/shortcut.qrc +++ b/homescreen/qml/images/Shortcut/shortcut.qrc @@ -1,12 +1,12 @@ <RCC> <qresource prefix="/images/Shortcut"> - <file>HMI_Shortcut_Home_Active-01.png</file> - <file>HMI_Shortcut_Home-01.png</file> - <file>HMI_Shortcut_HVAC_Active-01.png</file> - <file>HMI_Shortcut_HVAC-01.png</file> - <file>HMI_Shortcut_Multimedia_Active-01.png</file> - <file>HMI_Shortcut_Multimedia-01.png</file> - <file>HMI_Shortcut_Navigation_Active-01.png</file> - <file>HMI_Shortcut_Navigation-01.png</file> + <file>launcher.svg</file> + <file>launcher_active.svg</file> + <file>hvac.svg</file> + <file>hvac_active.svg</file> + <file>mediaplayer.svg</file> + <file>mediaplayer_active.svg</file> + <file>navigation.svg</file> + <file>navigation_active.svg</file> </qresource> </RCC> diff --git a/homescreen/qml/images/Utility_Logo_Colour-01.png b/homescreen/qml/images/Utility_Logo_Colour-01.png Binary files differdeleted file mode 100644 index 6519a2d..0000000 --- a/homescreen/qml/images/Utility_Logo_Colour-01.png +++ /dev/null diff --git a/homescreen/qml/images/Utility_Logo_Grey-01.svg b/homescreen/qml/images/Utility_Logo_Grey-01.svg new file mode 100644 index 0000000..16ac88c --- /dev/null +++ b/homescreen/qml/images/Utility_Logo_Grey-01.svg @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/"> + <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/"> + <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/"> + <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/"> + <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/"> + <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/"> + <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/"> + <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/"> +]> +<svg version="1.1" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 215 215" + style="enable-background:new 0 0 215 215;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#525252;} +</style> +<switch> + <g i:extraneous="self"> + <g> + <path class="st0" d="M113.8,150.3h4.2v15.3h9.5v3.8h-13.7V150.3z"/> + <path class="st0" d="M130.9,150.3h4.2v19.1h-4.2V150.3z"/> + <path class="st0" d="M139.9,150.3h3.9l9,11.8v-11.8h4.2v19.1h-3.6l-9.3-12.2v12.2h-4.2V150.3z"/> + <path class="st0" d="M169.4,169.7c-2.6,0-4.6-0.7-6.1-2.1c-1.5-1.4-2.2-3.5-2.2-6.4v-10.9h4.2v10.8c0,1.6,0.4,2.7,1.1,3.5 + c0.7,0.8,1.7,1.2,3,1.2c1.3,0,2.3-0.4,3-1.1c0.7-0.8,1.1-1.9,1.1-3.4v-11h4.2v10.8c0,1.5-0.2,2.7-0.6,3.8c-0.4,1.1-1,2-1.7,2.7 + c-0.7,0.7-1.6,1.3-2.7,1.6C171.9,169.5,170.7,169.7,169.4,169.7z"/> + <path class="st0" d="M187.3,159.7l-6.4-9.4h4.9l4,6.2l4-6.2h4.8l-6.4,9.3l6.7,9.8H194l-4.3-6.6l-4.3,6.6h-4.8L187.3,159.7z"/> + <path class="st0" d="M24.6,126.9h2l8.4,18.6h-2.2l-2.2-4.9H20.5l-2.2,4.9h-2.1L24.6,126.9z M29.7,138.7l-4.2-9.4l-4.2,9.4H29.7z" + /> + <path class="st0" d="M37.7,137.7V127h2.1v10.6c0,4,2.1,6.2,5.6,6.2c3.4,0,5.6-2.1,5.6-6.1V127H53v10.6c0,5.4-3.1,8.2-7.7,8.2 + C40.8,145.7,37.7,142.9,37.7,137.7z"/> + <path class="st0" d="M62.9,128.9h-6.2V127h14.5v1.9H65v16.5h-2.1V128.9z"/> + <path class="st0" d="M73,136.3L73,136.3c0-5.1,3.8-9.6,9.4-9.6c5.6,0,9.4,4.4,9.4,9.5c0,0,0,0,0,0.1c0,5.1-3.8,9.5-9.4,9.5 + C76.8,145.8,73,141.4,73,136.3z M89.7,136.3L89.7,136.3c0-4.2-3.1-7.7-7.3-7.7c-4.2,0-7.2,3.4-7.2,7.6v0.1c0,4.2,3.1,7.6,7.3,7.6 + C86.6,143.8,89.7,140.5,89.7,136.3z"/> + <path class="st0" d="M96.2,127h2.1l6.7,10.1l6.7-10.1h2.1v18.5h-2.1v-15l-6.7,9.9H105l-6.7-9.9v14.9h-2V127z"/> + <path class="st0" d="M145.2,128.9H139V127h14.5v1.9h-6.2v16.5h-2.1V128.9z"/> + <path class="st0" d="M157.6,127h2.1v18.5h-2.1V127z"/> + <path class="st0" d="M163.5,127h2.3l6.6,15.9L179,127h2.2l-7.9,18.6h-1.8L163.5,127z"/> + <path class="st0" d="M184.8,127h13.3v1.9h-11.3v6.3H197v1.9h-10.1v6.5h11.4v1.9h-13.5V127z"/> + <rect x="105.6" y="55.1" class="st0" width="3.8" height="16.8"/> + + <rect x="69.3" y="69.6" transform="matrix(0.707 -0.7072 0.7072 0.707 -34.2747 73.1702)" class="st0" width="3.8" height="16.8"/> + <rect x="155.1" y="104.5" class="st0" width="16.8" height="3.8"/> + <rect x="47.4" y="104.5" class="st0" width="16.8" height="3.8"/> + <path class="st0" d="M43.7,113.9c2.1-34.7,31-62.4,66.2-62.4c35.2,0,64.2,27.6,66.2,62.4h6.4c-2.1-38.3-33.8-68.8-72.6-68.8 + s-70.5,30.5-72.6,68.8H43.7z"/> + <circle class="st0" cx="107.5" cy="114.9" r="6.7"/> + + <rect x="107.1" y="88.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -24.9453 120.6025)" class="st0" width="52" height="3.8"/> + <rect x="86.9" y="78" class="st0" width="9.2" height="9.2"/> + <rect x="97.6" y="78" class="st0" width="9.2" height="9.2"/> + <rect x="108.3" y="78" class="st0" width="9.2" height="9.2"/> + <rect x="118.9" y="78" class="st0" width="9.2" height="9.2"/> + <g> + <g> + <path class="st0" d="M35.1,153.7l-1.5,1.4c-1.1-1-2.2-1.8-3.5-2.4c-1.3-0.5-2.5-0.8-3.7-0.8c-1.5,0-2.9,0.4-4.2,1.1 + c-1.3,0.7-2.4,1.7-3.1,3c-0.7,1.2-1.1,2.6-1.1,4c0,1.4,0.4,2.8,1.1,4.1c0.8,1.3,1.8,2.3,3.2,3c1.3,0.7,2.8,1.1,4.4,1.1 + c1.9,0,3.6-0.5,4.9-1.6c1.3-1.1,2.1-2.5,2.4-4.3h-6v-1.8h8.2c0,2.9-0.9,5.2-2.6,7c-1.7,1.7-4,2.6-6.9,2.6 + c-3.5,0-6.3-1.2-8.3-3.6c-1.6-1.8-2.4-4-2.4-6.4c0-1.8,0.5-3.5,1.4-5c0.9-1.5,2.1-2.8,3.7-3.6c1.6-0.9,3.3-1.3,5.3-1.3 + c1.6,0,3.1,0.3,4.5,0.9C32.4,151.5,33.8,152.4,35.1,153.7z"/> + <path class="st0" d="M39.9,150.5h3.8c2.1,0,3.5,0.1,4.3,0.3c1.1,0.3,2,0.8,2.7,1.7c0.7,0.8,1.1,1.9,1.1,3.1 + c0,1-0.2,1.9-0.7,2.7c-0.5,0.8-1.2,1.4-2.1,1.8c-0.9,0.4-2.1,0.6-3.7,0.6l6.8,8.8h-2.3l-6.8-8.8h-1.1v8.8h-1.9V150.5z + M41.8,152.3v6.4l3.3,0c1.3,0,2.2-0.1,2.8-0.4c0.6-0.2,1.1-0.6,1.4-1.2c0.3-0.5,0.5-1.1,0.5-1.8c0-0.6-0.2-1.2-0.5-1.7 + s-0.8-0.9-1.4-1.1c-0.6-0.2-1.5-0.3-2.8-0.3H41.8z"/> + <path class="st0" d="M63.6,150.5l8.8,18.9h-2l-3-6.2h-8.2l-2.9,6.2h-2.1l8.9-18.9H63.6z M63.3,154.5l-3.2,6.9h6.5L63.3,154.5z" + /> + <path class="st0" d="M75.3,169.4v-18.9h3.9c2.8,0,4.9,0.2,6.2,0.7c1.8,0.6,3.3,1.8,4.3,3.3c1,1.6,1.6,3.5,1.6,5.7 + c0,1.9-0.4,3.6-1.2,5c-0.8,1.4-1.9,2.5-3.2,3.2c-1.3,0.7-3.1,1-5.5,1H75.3z M77.1,167.6h2.2c2.6,0,4.4-0.2,5.4-0.5 + c1.4-0.5,2.5-1.3,3.4-2.5c0.8-1.2,1.2-2.7,1.2-4.4c0-1.8-0.4-3.4-1.3-4.7c-0.9-1.3-2.1-2.2-3.7-2.7c-1.2-0.4-3.1-0.5-5.9-0.5 + h-1.3V167.6z"/> + <path class="st0" d="M95,150.5h10.9v1.9h-9v5.9h8.9v1.9h-8.9v7.4h8.9v1.9H95V150.5z"/> + </g> + </g> + <g> + <polygon class="st0" points="121.4,141.8 121.4,134.4 117.7,134.4 117.7,145.4 128.7,145.4 128.7,141.8 "/> + <polygon class="st0" points="136.1,127 117.7,127 117.7,132.6 121.4,132.6 121.4,130.7 132.4,130.7 132.4,141.8 130.6,141.8 + 130.6,145.4 136.1,145.4 "/> + </g> + </g> + </g> +</switch> +</svg> diff --git a/homescreen/qml/images/images.qrc b/homescreen/qml/images/images.qrc index 2d8e902..fb991aa 100644 --- a/homescreen/qml/images/images.qrc +++ b/homescreen/qml/images/images.qrc @@ -2,9 +2,9 @@ <qresource prefix="/images"> <file>TopSection_NoText_NoIcons-01.png</file> <file>Utility_Logo_Background-01.png</file> - <file>Utility_Logo_Colour-01.png</file> + <file>Utility_Logo_Grey-01.svg</file> <file>Utility_Music_Background-01.png</file> <file>Utility_Radio_Background-01.png</file> - <file>AGL_HMI_Background_NoCar-01.png</file> + <file>AGL_HMI_Blue_Background_NoCar-01.png</file> </qresource> </RCC> diff --git a/homescreen/qml/main.qml b/homescreen/qml/main.qml index 11bd9d5..1312e87 100644 --- a/homescreen/qml/main.qml +++ b/homescreen/qml/main.qml @@ -27,17 +27,13 @@ Window { height: container.height * container.scale title: 'HomeScreen' - ApplicationLauncher { - id: launcher - } - Image { id: container anchors.centerIn: parent width: 1080 height: 1920 scale: 1.0 - source: './images/AGL_HMI_Background_NoCar-01.png' + source: './images/AGL_HMI_Blue_Background_NoCar-01.png' ColumnLayout { anchors.fill: parent @@ -54,14 +50,6 @@ Window { Layout.fillHeight: true Layout.preferredHeight: 1920 - 218 - 215 - visible: false - } - - Home { - id: appLauncherAreaLauncher - Layout.fillWidth: true - Layout.fillHeight: true - Layout.preferredHeight: 1920 - 218 - 215 visible: true } diff --git a/homescreen/qml/qml.qrc b/homescreen/qml/qml.qrc index c25e266..e60ea63 100644 --- a/homescreen/qml/qml.qrc +++ b/homescreen/qml/qml.qrc @@ -1,6 +1,5 @@ <RCC> <qresource prefix="/"> - <file>Home.qml</file> <file>main.qml</file> <file>MediaArea.qml</file> <file>MediaAreaBlank.qml</file> diff --git a/homescreen/src/appinfo.cpp b/homescreen/src/appinfo.cpp deleted file mode 100644 index fd9a585..0000000 --- a/homescreen/src/appinfo.cpp +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH - * Copyright (C) 2016 The Qt Company Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "appinfo.h" - -#include <QtCore/QJsonObject> - -class AppInfo::Private : public QSharedData -{ -public: - Private(); - Private(const Private &other); - - QString id; - QString version; - int width; - int height; - QString name; - QString description; - QString shortname; - QString author; - QString iconPath; -}; - -AppInfo::Private::Private() - : width(-1) - , height(-1) -{ -} - -AppInfo::Private::Private(const Private &other) - : QSharedData(other) - , id(other.id) - , version(other.version) - , width(other.width) - , height(other.height) - , name(other.name) - , description(other.description) - , shortname(other.shortname) - , author(other.author) - , iconPath(other.iconPath) -{ -} - -AppInfo::AppInfo() - : d(new Private) -{ -} - -AppInfo::AppInfo(const QString &icon, const QString &name, const QString &id) - : d(new Private) -{ - d->iconPath = icon; - d->name = name; - d->id = id; -} - -AppInfo::AppInfo(const AppInfo &other) - : d(other.d) -{ -} - -AppInfo::~AppInfo() -{ -} - -AppInfo &AppInfo::operator =(const AppInfo &other) -{ - d = other.d; - return *this; -} - -QString AppInfo::id() const -{ - return d->id; -} - -QString AppInfo::version() const -{ - return d->version; -} - -int AppInfo::width() const -{ - return d->width; -} - -int AppInfo::height() const -{ - return d->height; -} - -QString AppInfo::name() const -{ - return d->name; -} - -QString AppInfo::description() const -{ - return d->description; -} - -QString AppInfo::shortname() const -{ - return d->shortname; -} - -QString AppInfo::author() const -{ - return d->author; -} - -QString AppInfo::iconPath() const -{ - return d->iconPath; -} - -void AppInfo::read(const QJsonObject &json) -{ - d->id = json["id"].toString(); - d->version = json["version"].toString(); - d->width = json["width"].toInt(); - d->height = json["height"].toInt(); - d->name = json["name"].toString(); - d->description = json["description"].toString(); - d->shortname = json["shortname"].toString(); - d->author = json["author"].toString(); - d->iconPath = json["iconPath"].toString(); -} - -QDBusArgument &operator <<(QDBusArgument &argument, const AppInfo &appInfo) -{ - argument.beginStructure(); - argument << appInfo.d->id; - argument << appInfo.d->version; - argument << appInfo.d->width; - argument << appInfo.d->height; - argument << appInfo.d->name; - argument << appInfo.d->description; - argument << appInfo.d->shortname; - argument << appInfo.d->author; - argument << appInfo.d->iconPath; - argument.endStructure(); - - return argument; -} - -const QDBusArgument &operator >>(const QDBusArgument &argument, AppInfo &appInfo) -{ - argument.beginStructure(); - argument >> appInfo.d->id; - argument >> appInfo.d->version; - argument >> appInfo.d->width; - argument >> appInfo.d->height; - argument >> appInfo.d->name; - argument >> appInfo.d->description; - argument >> appInfo.d->shortname; - argument >> appInfo.d->author; - argument >> appInfo.d->iconPath; - argument.endStructure(); - return argument; -} diff --git a/homescreen/src/appinfo.h b/homescreen/src/appinfo.h deleted file mode 100644 index 0d98b10..0000000 --- a/homescreen/src/appinfo.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH - * Copyright (C) 2016 The Qt Company Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef APPINFO_H -#define APPINFO_H - -#include <QtCore/QSharedDataPointer> -#include <QtDBus/QDBusArgument> - -class AppInfo -{ - Q_GADGET - Q_PROPERTY(QString id READ id) - Q_PROPERTY(QString version READ version) - Q_PROPERTY(int width READ width) - Q_PROPERTY(int height READ height) - Q_PROPERTY(QString name READ name) - Q_PROPERTY(QString description READ description) - Q_PROPERTY(QString shortname READ shortname) - Q_PROPERTY(QString author READ author) - Q_PROPERTY(QString iconPath READ iconPath) -public: - AppInfo(); - AppInfo(const QString &icon, const QString &name, const QString &id); - AppInfo(const AppInfo &other); - virtual ~AppInfo(); - AppInfo &operator =(const AppInfo &other); - void swap(AppInfo &other) { qSwap(d, other.d); } - - QString id() const; - QString version() const; - int width() const; - int height() const; - QString name() const; - QString description() const; - QString shortname() const; - QString author() const; - QString iconPath() const; - - void read(const QJsonObject &json); - - friend QDBusArgument &operator <<(QDBusArgument &argument, const AppInfo &appInfo); - friend const QDBusArgument &operator >>(const QDBusArgument &argument, AppInfo &appInfo); - -private: - class Private; - QSharedDataPointer<Private> d; -}; - -Q_DECLARE_SHARED(AppInfo) -Q_DECLARE_METATYPE(AppInfo) -Q_DECLARE_METATYPE(QList<AppInfo>) - -#endif // APPINFO_H diff --git a/homescreen/src/applicationlauncher.cpp b/homescreen/src/applicationlauncher.cpp index 559a93c..5a1e2d6 100644 --- a/homescreen/src/applicationlauncher.cpp +++ b/homescreen/src/applicationlauncher.cpp @@ -1,6 +1,7 @@ /* * Copyright (C) 2016 The Qt Company Ltd. * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH + * Copyright (c) 2017 TOYOTA MOTOR CORPORATION * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,30 +20,58 @@ #include "afm_user_daemon_proxy.h" -#include <QtCore/QDebug> +#include "hmi-debug.h" extern org::AGL::afm::user *afm_user_daemon_proxy; ApplicationLauncher::ApplicationLauncher(QObject *parent) : QObject(parent) + , m_launching(false) + , m_timeout(new QTimer(this)) { + m_timeout->setInterval(3000); + m_timeout->setSingleShot(true); + connect(m_timeout, &QTimer::timeout, [&]() { + setLaunching(false); + }); + connect(this, &ApplicationLauncher::launchingChanged, [&](bool launching) { + if (launching) + m_timeout->start(); + else + m_timeout->stop(); + }); + connect(this, &ApplicationLauncher::currentChanged, [&]() { + setLaunching(false); + }); } int ApplicationLauncher::launch(const QString &application) { int result = -1; - qDebug() << "launch" << application; + HMI_DEBUG("HomeScreen","ApplicationLauncher launch %s.", application.toStdString().c_str()); result = afm_user_daemon_proxy->start(application).value().toInt(); - qDebug() << "pid:" << result; + HMI_DEBUG("HomeScreen","ApplicationLauncher pid: %d.", result); if (result > 1) { - setCurrent(application); + setLaunching(true); } return result; } +bool ApplicationLauncher::isLaunching() const +{ + return m_launching; +} + +void ApplicationLauncher::setLaunching(bool launching) +{ + if (m_launching == launching) return; + m_launching = launching; + launchingChanged(launching); +} + QString ApplicationLauncher::current() const { return m_current; diff --git a/homescreen/src/applicationlauncher.h b/homescreen/src/applicationlauncher.h index a31e663..dfa5846 100644 --- a/homescreen/src/applicationlauncher.h +++ b/homescreen/src/applicationlauncher.h @@ -1,6 +1,7 @@ /* * Copyright (C) 2016 The Qt Company Ltd. * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH + * Copyright (c) 2017 TOYOTA MOTOR CORPORATION * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,17 +21,22 @@ #include <QtCore/QObject> +class QTimer; + class ApplicationLauncher : public QObject { Q_OBJECT + Q_PROPERTY(bool launching READ isLaunching NOTIFY launchingChanged) Q_PROPERTY(QString current READ current WRITE setCurrent NOTIFY currentChanged) public: explicit ApplicationLauncher(QObject *parent = NULL); + bool isLaunching() const; QString current() const; signals: void newAppRequestsToBeVisible(int pid); + void launchingChanged(bool launching); void currentChanged(const QString ¤t); public slots: @@ -38,7 +44,12 @@ public slots: void setCurrent(const QString ¤t); private: + void setLaunching(bool launching); + +private: + bool m_launching; QString m_current; + QTimer *m_timeout; }; #endif // APPLICATIONLAUNCHER_H diff --git a/homescreen/src/applicationmodel.cpp b/homescreen/src/applicationmodel.cpp deleted file mode 100644 index 417bc4c..0000000 --- a/homescreen/src/applicationmodel.cpp +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright (C) 2016 The Qt Company Ltd. - * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "applicationmodel.h" -#include "appinfo.h" - -#include <QtCore/QDebug> - -#include <QtDBus/QDBusInterface> -#include <QtDBus/QDBusReply> - -#include "afm_user_daemon_proxy.h" - -extern org::AGL::afm::user *afm_user_daemon_proxy; - -class ApplicationModel::Private -{ -public: - Private(); - - QList<AppInfo> data; -}; - -namespace { - QString get_icon_name(QJsonObject const &i) - { - QString icon = i["id"].toString().split("@").front(); - if (icon == "hvac" || icon == "poi") { - icon = icon.toUpper(); - } else if (icon == "mediaplayer") { - icon = "Multimedia"; - } else { - icon[0] = icon[0].toUpper(); - } - return icon; - } -} - -ApplicationModel::Private::Private() -{ - QString apps = afm_user_daemon_proxy->runnables(QStringLiteral("")); - QJsonDocument japps = QJsonDocument::fromJson(apps.toUtf8()); - for (auto const &app : japps.array()) { - QJsonObject const &jso = app.toObject(); - auto const name = jso["name"].toString(); - auto const id = jso["id"].toString(); - auto const icon = get_icon_name(jso); - this->data.append(AppInfo(icon, name, id)); - qDebug() << "name:" << name << "icon:" << icon << "id:" << id; - } -} - -ApplicationModel::ApplicationModel(QObject *parent) - : QAbstractListModel(parent) - , d(new Private()) -{ -} - -ApplicationModel::~ApplicationModel() -{ - delete this->d; -} - -int ApplicationModel::rowCount(const QModelIndex &parent) const -{ - if (parent.isValid()) - return 0; - - return this->d->data.count(); -} - -QVariant ApplicationModel::data(const QModelIndex &index, int role) const -{ - QVariant ret; - if (!index.isValid()) - return ret; - - switch (role) { - case Qt::DecorationRole: - ret = this->d->data[index.row()].iconPath(); - break; - case Qt::DisplayRole: - ret = this->d->data[index.row()].name(); - break; - case Qt::UserRole: - ret = this->d->data[index.row()].id(); - break; - default: - break; - } - - return ret; -} - -QHash<int, QByteArray> ApplicationModel::roleNames() const -{ - QHash<int, QByteArray> roles; - roles[Qt::DecorationRole] = "icon"; - roles[Qt::DisplayRole] = "name"; - roles[Qt::UserRole] = "id"; - return roles; -} - -QString ApplicationModel::id(int i) const -{ - return data(index(i), Qt::UserRole).toString(); -} - -void ApplicationModel::move(int from, int to) -{ - QModelIndex parent; - if (to < 0 || to > rowCount()) return; - if (from < to) { - if (!beginMoveRows(parent, from, from, parent, to + 1)) { - qDebug() << from << to << false; - return; - } - d->data.move(from, to); - endMoveRows(); - } else if (from > to) { - if (!beginMoveRows(parent, from, from, parent, to)) { - qDebug() << from << to << false; - return; - } - d->data.move(from, to); - endMoveRows(); - } else { - qDebug() << from << to << false; - } -} diff --git a/homescreen/src/applicationmodel.h b/homescreen/src/applicationmodel.h deleted file mode 100644 index 2414b7e..0000000 --- a/homescreen/src/applicationmodel.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2016 The Qt Company Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef APPLICATIONMODEL_H -#define APPLICATIONMODEL_H - -#include <QtCore/QAbstractListModel> - -class ApplicationModel : public QAbstractListModel -{ - Q_OBJECT -public: - explicit ApplicationModel(QObject *parent = nullptr); - ~ApplicationModel(); - - int rowCount(const QModelIndex &parent = QModelIndex()) const override; - - QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; - QHash<int, QByteArray> roleNames() const override; - Q_INVOKABLE QString id(int index) const; - Q_INVOKABLE void move(int from, int to); - -private: - class Private; - Private *d; -}; - -#endif // APPLICATIONMODEL_H diff --git a/homescreen/src/hmi-debug.h b/homescreen/src/hmi-debug.h new file mode 100644 index 0000000..28705f5 --- /dev/null +++ b/homescreen/src/hmi-debug.h @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2017 TOYOTA MOTOR CORPORATION + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __HMI_DEBUG_H__ +#define __HMI_DEBUG_H__ + +#include <time.h> +#include <stdio.h> +#include <stdarg.h> +#include <string.h> +#include <stdlib.h> + +enum LOG_LEVEL{ + LOG_LEVEL_NONE = 0, + LOG_LEVEL_ERROR, + LOG_LEVEL_WARNING, + LOG_LEVEL_NOTICE, + LOG_LEVEL_INFO, + LOG_LEVEL_DEBUG, + LOG_LEVEL_MAX = LOG_LEVEL_DEBUG +}; + +#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) + +#define HMI_ERROR(prefix, args,...) _HMI_LOG(LOG_LEVEL_ERROR, __FILENAME__, __FUNCTION__, __LINE__, prefix, args, ##__VA_ARGS__) +#define HMI_WARNING(prefix, args,...) _HMI_LOG(LOG_LEVEL_WARNING, __FILENAME__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__) +#define HMI_NOTICE(prefix, args,...) _HMI_LOG(LOG_LEVEL_NOTICE, __FILENAME__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__) +#define HMI_INFO(prefix, args,...) _HMI_LOG(LOG_LEVEL_INFO, __FILENAME__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__) +#define HMI_DEBUG(prefix, args,...) _HMI_LOG(LOG_LEVEL_DEBUG, __FILENAME__, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__) + +static char ERROR_FLAG[6][20] = {"NONE", "ERROR", "WARNING", "NOTICE", "INFO", "DEBUG"}; + +static void _HMI_LOG(enum LOG_LEVEL level, const char* file, const char* func, const int line, const char* prefix, const char* log, ...) +{ + const int log_level = (getenv("USE_HMI_DEBUG") == NULL)?LOG_LEVEL_ERROR:atoi(getenv("USE_HMI_DEBUG")); + if(log_level < level) + { + return; + } + + char *message; + struct timespec tp; + unsigned int time; + + clock_gettime(CLOCK_REALTIME, &tp); + time = (tp.tv_sec * 1000000L) + (tp.tv_nsec / 1000); + + va_list args; + va_start(args, log); + if (log == NULL || vasprintf(&message, log, args) < 0) + message = NULL; + fprintf(stderr, "[%10.3f] [%s %s] [%s, %s(), Line:%d] >>> %s \n", time / 1000.0, prefix, ERROR_FLAG[level], file, func, line, message); + va_end(args); + free(message); +} + +#endif //__HMI_DEBUG_H__ diff --git a/homescreen/src/homescreencontrolinterface.cpp b/homescreen/src/homescreencontrolinterface.cpp deleted file mode 100644 index ecbe8e4..0000000 --- a/homescreen/src/homescreencontrolinterface.cpp +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "afm_user_daemon_proxy.h" -#include "homescreencontrolinterface.h" - -extern org::AGL::afm::user *afm_user_daemon_proxy; - -HomeScreenControlInterface::HomeScreenControlInterface(QObject *parent) : - QObject(parent), - mp_homeScreenAdaptor(0) -{ - // publish dbus homescreen interface - mp_homeScreenAdaptor = new HomescreenAdaptor((QObject*)this); - - QDBusConnection dbus = QDBusConnection::sessionBus(); - dbus.registerObject("/HomeScreen", this); - dbus.registerService("org.agl.homescreen"); -} - -QList<int> HomeScreenControlInterface::getAllSurfacesOfProcess(int pid) -{ - qDebug("getAllSurfacesOfProcess %d", pid); - return newRequestGetAllSurfacesOfProcess(pid); -} - -int HomeScreenControlInterface::getSurfaceStatus(int surfaceId) -{ - qDebug("getSurfaceStatus %d", surfaceId); - return newRequestGetSurfaceStatus(surfaceId); -} - -void HomeScreenControlInterface::hardKeyPressed(int key) -{ - int pid = -1; - - switch (key) - { - case InputEvent::HARDKEY_NAV: - qDebug("hardKeyPressed NAV key pressed!"); - pid = afm_user_daemon_proxy->start("navigation@0.1").value().toInt(); - qDebug("pid: %d", pid); - emit newRequestsToBeVisibleApp(pid); - break; - case InputEvent::HARDKEY_MEDIA: - qDebug("hardKeyPressed MEDIA key pressed!"); - pid = afm_user_daemon_proxy->start("media@0.1").value().toInt(); - qDebug("pid: %d", pid); - emit newRequestsToBeVisibleApp(pid); - break; - default: - qDebug("hardKeyPressed %d", key); - break; - } -} - -void HomeScreenControlInterface::renderSurfaceToArea(int surfaceId, int layoutArea) -{ - qDebug("renderSurfaceToArea %d %d", surfaceId, layoutArea); - emit newRequestRenderSurfaceToArea(surfaceId, layoutArea); -} - -bool HomeScreenControlInterface::renderAppToAreaAllowed(int appCategory, int layoutArea) -{ - qDebug("renderAppToAreaAllowed %d %d", appCategory, layoutArea); - return true; //TODO: ask policy manager -} - -void HomeScreenControlInterface::requestSurfaceIdToFullScreen(int surfaceId) -{ - qDebug("requestSurfaceIdToFullScreen %d", surfaceId); - emit newRequestSurfaceIdToFullScreen(surfaceId); -} diff --git a/homescreen/src/homescreencontrolinterface.h b/homescreen/src/homescreencontrolinterface.h deleted file mode 100644 index b68a2b2..0000000 --- a/homescreen/src/homescreencontrolinterface.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef HOMESCREENCONTROLINTERFACE_H -#define HOMESCREENCONTROLINTERFACE_H - -#include <QObject> -#include "include/homescreen.hpp" -#include "homescreen_adaptor.h" - -class HomeScreenControlInterface : public QObject -{ - Q_OBJECT -public: - explicit HomeScreenControlInterface(QObject *parent = 0); - -signals: - void newRequestsToBeVisibleApp(int pid); - - QList<int> newRequestGetAllSurfacesOfProcess(int pid); - int newRequestGetSurfaceStatus(int surfaceId); - void newRequestRenderSurfaceToArea(int surfaceId, int layoutArea); - bool newRequestRenderSurfaceToAreaAllowed(int surfaceId, int layoutArea); - void newRequestSurfaceIdToFullScreen(int surfaceId); - -//from homescreen_adaptor.h -public Q_SLOTS: // METHODS - QList<int> getAllSurfacesOfProcess(int pid); - int getSurfaceStatus(int surfaceId); - void hardKeyPressed(int key); - void renderSurfaceToArea(int surfaceId, int layoutArea); - bool renderAppToAreaAllowed(int appCategory, int layoutArea); - void requestSurfaceIdToFullScreen(int surfaceId); - -private: - HomescreenAdaptor *mp_homeScreenAdaptor; -}; - -#endif // HOMESCREENCONTROLINTERFACE_H diff --git a/homescreen/src/homescreenhandler.cpp b/homescreen/src/homescreenhandler.cpp new file mode 100644 index 0000000..5da8b9e --- /dev/null +++ b/homescreen/src/homescreenhandler.cpp @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2017 TOYOTA MOTOR CORPORATION + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "homescreenhandler.h" +#include <functional> +#include "hmi-debug.h" + +void* HomescreenHandler::myThis = 0; + +HomescreenHandler::HomescreenHandler(QObject *parent) : + QObject(parent), + mp_hs(NULL) +{ + +} + +HomescreenHandler::~HomescreenHandler() +{ + if (mp_hs != NULL) { + delete mp_hs; + } +} + +void HomescreenHandler::init(int port, const char *token) +{ + mp_hs = new LibHomeScreen(); + mp_hs->init(port, token); + + myThis = this; + + mp_hs->registerCallback(nullptr, HomescreenHandler::onRep_static); + + mp_hs->set_event_handler(LibHomeScreen::Event_OnScreenMessage, [this](json_object *object){ + const char *display_message = json_object_get_string( + json_object_object_get(object, "display_message")); + HMI_DEBUG("HomeScreen","set_event_handler Event_OnScreenMessage display_message = %s", display_message); + }); + +} + +void HomescreenHandler::tapShortcut(QString application_name) +{ + HMI_DEBUG("HomeScreen","tapShortcut %s", application_name.toStdString().c_str()); + mp_hs->tapShortcut(application_name.toStdString().c_str()); +} + +void HomescreenHandler::onRep_static(struct json_object* reply_contents) +{ + static_cast<HomescreenHandler*>(HomescreenHandler::myThis)->onRep(reply_contents); +} + +void HomescreenHandler::onEv_static(const string& event, struct json_object* event_contents) +{ + static_cast<HomescreenHandler*>(HomescreenHandler::myThis)->onEv(event, event_contents); +} + +void HomescreenHandler::onRep(struct json_object* reply_contents) +{ + const char* str = json_object_to_json_string(reply_contents); + HMI_DEBUG("HomeScreen","HomeScreen onReply %s", str); +} + +void HomescreenHandler::onEv(const string& event, struct json_object* event_contents) +{ + const char* str = json_object_to_json_string(event_contents); + HMI_DEBUG("HomeScreen","HomeScreen onEv %s, contents: %s", event.c_str(), str); + + if (event.compare("homescreen/on_screen_message") == 0) { + struct json_object *json_data = json_object_object_get(event_contents, "data"); + struct json_object *json_display_message = json_object_object_get(json_data, "display_message"); + const char* display_message = json_object_get_string(json_display_message); + + HMI_DEBUG("HomeScreen","display_message = %s", display_message); + } +} diff --git a/homescreen/src/homescreenhandler.h b/homescreen/src/homescreenhandler.h new file mode 100644 index 0000000..c18d7a0 --- /dev/null +++ b/homescreen/src/homescreenhandler.h @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2017 TOYOTA MOTOR CORPORATION + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef HOMESCREENHANDLER_H +#define HOMESCREENHANDLER_H + +#include <QObject> +#include <libhomescreen.hpp> +#include <string> + +using namespace std; + +class HomescreenHandler : public QObject +{ + Q_OBJECT +public: + explicit HomescreenHandler(QObject *parent = 0); + ~HomescreenHandler(); + + void init(int port, const char* token); + + Q_INVOKABLE void tapShortcut(QString application_name); + + void onRep(struct json_object* reply_contents); + void onEv(const string& event, struct json_object* event_contents); + + static void* myThis; + static void onRep_static(struct json_object* reply_contents); + static void onEv_static(const string& event, struct json_object* event_contents); +private: + LibHomeScreen *mp_hs; +}; + +#endif // HOMESCREENHANDLER_H diff --git a/homescreen/src/layouthandler.cpp b/homescreen/src/layouthandler.cpp deleted file mode 100644 index 6f5ba01..0000000 --- a/homescreen/src/layouthandler.cpp +++ /dev/null @@ -1,279 +0,0 @@ -/* - * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "layouthandler.h" -#include <QTimerEvent> - -LayoutHandler::LayoutHandler(QObject *parent) : - QObject(parent), - m_secondsTimerId(-1), - mp_dBusWindowManagerProxy(0), - mp_dBusPopupProxy(0), - m_visibleSurfaces(), - m_invisibleSurfaces(), - m_requestsToBeVisibleSurfaces() -{ - qDBusRegisterMetaType<SimplePoint>(); - qDBusRegisterMetaType<QList<SimplePoint> >(); - qDBusRegisterMetaType<LayoutArea>(); - qDBusRegisterMetaType<QList<LayoutArea> >(); - qDBusRegisterMetaType<Layout>(); - qDBusRegisterMetaType<QList<Layout> >(); - - qDebug("D-Bus: connect to org.agl.windowmanager /windowmanager"); - mp_dBusWindowManagerProxy = new org::agl::windowmanager("org.agl.windowmanager", - "/windowmanager", - QDBusConnection::sessionBus(), - 0); - qDebug("D-Bus: connect to org.agl.homescreen /Popup"); - mp_dBusPopupProxy = new org::agl::popup("org.agl.homescreen", - "/Popup", - QDBusConnection::sessionBus(), - 0); - - QDBusConnection::sessionBus().connect("org.agl.windowmanager", - "/windowmanager", - "org.agl.windowmanager", - "surfaceVisibilityChanged", - this, - SIGNAL(surfaceVisibilityChanged(int,bool))); - - QList<LayoutArea> surfaceAreas; - LayoutArea surfaceArea; - - const int SCREEN_WIDTH = 1080; - const int SCREEN_HEIGHT = 1920; - - const int TOPAREA_HEIGHT = 218; - const int TOPAREA_WIDTH = SCREEN_WIDTH; - const int TOPAREA_X = 0; - const int TOPAREA_Y = 0; - const int MEDIAAREA_HEIGHT = 215; - const int MEDIAAREA_WIDTH = SCREEN_WIDTH; - const int MEDIAAREA_X = 0; - const int MEDIAAREA_Y = SCREEN_HEIGHT - MEDIAAREA_HEIGHT; - - - // only one Layout for CES2017 needed - // layout 1: - // one app surface, statusbar, control bar - surfaceArea.x = 0; - surfaceArea.y = TOPAREA_HEIGHT; - surfaceArea.width = SCREEN_WIDTH; - surfaceArea.height = SCREEN_HEIGHT - TOPAREA_HEIGHT - MEDIAAREA_HEIGHT; - - surfaceAreas.append(surfaceArea); - - mp_dBusWindowManagerProxy->addLayout(1, "one app", surfaceAreas); -} - -LayoutHandler::~LayoutHandler() -{ - delete mp_dBusPopupProxy; - delete mp_dBusWindowManagerProxy; -} - -void LayoutHandler::showAppLayer(const QString &app_id, int pid) -{ - mp_dBusWindowManagerProxy->showAppLayer(app_id, pid); -} - -void LayoutHandler::hideAppLayer() -{ - // POPUP=0, HOMESCREEN_OVERLAY=1, APPS=2, HOMESCREEN=3 - mp_dBusWindowManagerProxy->hideLayer(2); // TODO: enum -} - -void LayoutHandler::makeMeVisible(int pid) -{ - qDebug("makeMeVisible %d", pid); - -#if 0 - // if app does not request to be visible - if (-1 == m_requestsToBeVisiblePids.indexOf(pid)) - { - m_requestsToBeVisiblePids.append(pid); - - // callback every second - if (-1 != m_secondsTimerId) - { - killTimer(m_secondsTimerId); - m_secondsTimerId = -1; - } - m_secondsTimerId = startTimer(1000); - } - else - { - checkToDoQueue(); - } -#endif -} - -void LayoutHandler::checkToDoQueue() -{ -#if 0 - if ((-1 != m_secondsTimerId) && (0 == m_requestsToBeVisiblePids.size())) - { - killTimer(m_secondsTimerId); - m_secondsTimerId = -1; - } - - if (0 != m_requestsToBeVisiblePids.size()) - { - int pid = m_requestsToBeVisiblePids.at(0); - qDebug("pid %d wants to be visible", pid); - - QList<int> allSurfaces; - allSurfaces = mp_dBusWindowManagerProxy->getAllSurfacesOfProcess(pid); - if (0 == allSurfaces.size()) - { - qDebug("no surfaces for pid %d. retrying!", pid); - } - else - { - m_requestsToBeVisiblePids.removeAt(0); - qSort(allSurfaces); - - if (0 != allSurfaces.size()) - { - int firstSurface = allSurfaces.at(0); - - if (-1 != m_visibleSurfaces.indexOf(firstSurface)) - { - qDebug("already visible"); - } - else - { - if (-1 != m_invisibleSurfaces.indexOf(firstSurface)) - { - m_invisibleSurfaces.removeAt(m_invisibleSurfaces.indexOf(firstSurface)); - } - if (-1 == m_requestsToBeVisibleSurfaces.indexOf(firstSurface)) - { - m_requestsToBeVisibleSurfaces.append(firstSurface); - } - - qDebug("before"); - qDebug(" m_visibleSurfaces %d", m_visibleSurfaces.size()); - qDebug(" m_invisibleSurfaces %d", m_invisibleSurfaces.size()); - qDebug(" m_requestsToBeVisibleSurfaces %d", m_requestsToBeVisibleSurfaces.size()); - - QList<int> availableLayouts = mp_dBusWindowManagerProxy->getAvailableLayouts(1); // one app only for CES2017 - if (1 == availableLayouts.size()) - { - qDebug("active layout: %d", availableLayouts.at(0)); - m_invisibleSurfaces.append(m_visibleSurfaces); - m_visibleSurfaces.clear(); - m_visibleSurfaces.append(m_requestsToBeVisibleSurfaces); - m_requestsToBeVisibleSurfaces.clear(); - - mp_dBusWindowManagerProxy->setLayoutById(availableLayouts.at(0)); - for (int i = 0; i < m_visibleSurfaces.size(); ++i) - { - mp_dBusWindowManagerProxy->setSurfaceToLayoutArea(m_visibleSurfaces.at(i), i); - } - - qDebug("after"); - qDebug(" m_visibleSurfaces %d", m_visibleSurfaces.size()); - qDebug(" m_invisibleSurfaces %d", m_invisibleSurfaces.size()); - qDebug(" m_requestsToBeVisibleSurfaces %d", m_requestsToBeVisibleSurfaces.size()); - } - else - { - qDebug("this should not happen!?"); - } - } - } - } - } -#endif -} - -#if 0 -QList<int> LayoutHandler::requestGetAllSurfacesOfProcess(int pid) -{ - qDebug("requestGetAllSurfacesOfProcess %d", pid); - - return mp_dBusWindowManagerProxy->getAllSurfacesOfProcess(pid); -} -#endif - -int LayoutHandler::requestGetSurfaceStatus(int surfaceId) -{ - int result = -1; - - if (-1 != m_visibleSurfaces.indexOf(surfaceId)) - { - result = 0; - } - if (-1 != m_invisibleSurfaces.indexOf(surfaceId)) - { - result = 1; - } - if (-1 != m_requestsToBeVisibleSurfaces.indexOf(surfaceId)) - { - result = 1; - } - - return result; -} - -void LayoutHandler::requestRenderSurfaceToArea(int surfaceId, int layoutArea) -{ - qDebug("requestRenderSurfaceToArea %d %d", surfaceId, layoutArea); - mp_dBusWindowManagerProxy->setSurfaceToLayoutArea(surfaceId, layoutArea); -} - -bool LayoutHandler::requestRenderSurfaceToAreaAllowed(int surfaceId, int layoutArea) -{ - qDebug("requestRenderSurfaceToAreaAllowed %d %d", surfaceId, layoutArea); - bool result = true; - return result; -} - -void LayoutHandler::requestSurfaceIdToFullScreen(int surfaceId) -{ - qDebug("requestSurfaceIdToFullScreen %d", surfaceId); -} - -void LayoutHandler::setLayoutByName(QString layoutName) -{ - // switch to new layout - qDebug("setLayout: switch to new layout %s", layoutName.toStdString().c_str()); - m_visibleSurfaces.append(m_requestsToBeVisibleSurfaces); - m_requestsToBeVisibleSurfaces.clear(); - - mp_dBusWindowManagerProxy->setLayoutByName(layoutName); - for (int i = 0; i < m_visibleSurfaces.size(); ++i) - { - mp_dBusWindowManagerProxy->setSurfaceToLayoutArea(i, i); - } -} - -void LayoutHandler::requestSurfaceVisibilityChanged(int surfaceId, bool visible) -{ - qDebug("requestSurfaceVisibilityChanged %d %s", surfaceId, visible ? "true" : "false"); - emit surfaceVisibilityChanged(surfaceId, visible); -} - -void LayoutHandler::timerEvent(QTimerEvent *e) -{ - if (e->timerId() == m_secondsTimerId) - { - checkToDoQueue(); - } -} - diff --git a/homescreen/src/layouthandler.h b/homescreen/src/layouthandler.h deleted file mode 100644 index 007f1ad..0000000 --- a/homescreen/src/layouthandler.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef LAYOUTHANDLER_H -#define LAYOUTHANDLER_H - -#include <QObject> -#include "windowmanager_proxy.h" -#include "popup_proxy.h" - -class LayoutHandler : public QObject -{ - Q_OBJECT -public: - explicit LayoutHandler(QObject *parent = 0); - ~LayoutHandler(); - -signals: - -public slots: - void showAppLayer(const QString &app_id, int pid); - void hideAppLayer(); - void makeMeVisible(int pid); -private: - void checkToDoQueue(); -public slots: - int requestGetSurfaceStatus(int surfaceId); - void requestRenderSurfaceToArea(int surfaceId, int layoutArea); - bool requestRenderSurfaceToAreaAllowed(int surfaceId, int layoutArea); - void requestSurfaceIdToFullScreen(int surfaceId); - void setLayoutByName(QString layoutName); - - // this will receive the surfaceVisibilityChanged signal of the windowmanager - void requestSurfaceVisibilityChanged(int surfaceId, bool visible); - -Q_SIGNALS: // SIGNALS - void surfaceVisibilityChanged(int surfaceId, bool visible); - -protected: - void timerEvent(QTimerEvent *e); -private: - int m_secondsTimerId; - org::agl::windowmanager *mp_dBusWindowManagerProxy; - org::agl::popup *mp_dBusPopupProxy; - - QList<int> m_requestsToBeVisiblePids; - QList<int> m_visibleSurfaces; - QList<int> m_invisibleSurfaces; - QList<int> m_requestsToBeVisibleSurfaces; -}; - -#endif // LAYOUTHANDLER_H diff --git a/homescreen/src/main.cpp b/homescreen/src/main.cpp index 215e7c6..63edd54 100644 --- a/homescreen/src/main.cpp +++ b/homescreen/src/main.cpp @@ -1,5 +1,6 @@ /* * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH + * Copyright (c) 2017 TOYOTA MOTOR CORPORATION * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,16 +21,16 @@ #include <QtQml/QQmlApplicationEngine> #include <QtQml/QQmlContext> #include <QtQml/qqml.h> +#include <QQuickWindow> -#include "layouthandler.h" -#include "homescreencontrolinterface.h" +#include <qlibwindowmanager.h> +#include <weather.h> #include "applicationlauncher.h" #include "statusbarmodel.h" -#include "applicationmodel.h" -#include "appinfo.h" #include "afm_user_daemon_proxy.h" #include "mastervolume.h" -#include "paclient.h" +#include "homescreenhandler.h" +#include "hmi-debug.h" // XXX: We want this DBus connection to be shared across the different // QML objects, is there another way to do this, a nice way, perhaps? @@ -54,6 +55,7 @@ int main(int argc, char *argv[]) { QGuiApplication a(argc, argv); + // use launch process QScopedPointer<org::AGL::afm::user, Cleanup> afm_user_daemon_proxy(new org::AGL::afm::user("org.AGL.afm.user", "/org/AGL/afm/user", QDBusConnection::sessionBus(), @@ -66,57 +68,80 @@ int main(int argc, char *argv[]) QCoreApplication::setApplicationVersion("0.7.0"); QCommandLineParser parser; - parser.setApplicationDescription("AGL HomeScreen - see wwww... for more details"); + parser.addPositionalArgument("port", a.translate("main", "port for binding")); + parser.addPositionalArgument("secret", a.translate("main", "secret for binding")); parser.addHelpOption(); parser.addVersionOption(); - QCommandLineOption quietOption(QStringList() << "q" << "quiet", - QCoreApplication::translate("main", "Be quiet. No outputs.")); - parser.addOption(quietOption); parser.process(a); - - if (parser.isSet(quietOption)) - { - qInstallMessageHandler(noOutput); + QStringList positionalArguments = parser.positionalArguments(); + + int port = 1700; + QString token = "wm"; + + if (positionalArguments.length() == 2) { + port = positionalArguments.takeFirst().toInt(); + token = positionalArguments.takeFirst(); } - // Fire up PA client QThread - QThread* pat = new QThread; - PaClient* client = new PaClient(); - client->moveToThread(pat); - pat->start(); - - qDBusRegisterMetaType<AppInfo>(); - qDBusRegisterMetaType<QList<AppInfo> >(); + HMI_DEBUG("HomeScreen","port = %d, token = %s", port, token.toStdString().c_str()); - qmlRegisterType<ApplicationLauncher>("HomeScreen", 1, 0, "ApplicationLauncher"); - qmlRegisterType<ApplicationModel>("Home", 1, 0, "ApplicationModel"); + // import C++ class to QML + // qmlRegisterType<ApplicationLauncher>("HomeScreen", 1, 0, "ApplicationLauncher"); qmlRegisterType<StatusBarModel>("HomeScreen", 1, 0, "StatusBarModel"); qmlRegisterType<MasterVolume>("MasterVolume", 1, 0, "MasterVolume"); - QQmlApplicationEngine engine; - - LayoutHandler* layoutHandler = new LayoutHandler(); - - HomeScreenControlInterface* hsci = new HomeScreenControlInterface(); + ApplicationLauncher *launcher = new ApplicationLauncher(); + QLibWindowmanager* layoutHandler = new QLibWindowmanager(); + if(layoutHandler->init(port,token) != 0){ + exit(EXIT_FAILURE); + } - QObject::connect(hsci, SIGNAL(newRequestGetSurfaceStatus(int)), layoutHandler, SLOT(requestGetSurfaceStatus(int))); - QObject::connect(hsci, SIGNAL(newRequestsToBeVisibleApp(int)), layoutHandler, SLOT(makeMeVisible(int))); - QObject::connect(hsci, SIGNAL(newRequestRenderSurfaceToArea(int, int)), layoutHandler, SLOT(requestRenderSurfaceToArea(int,int))); - QObject::connect(hsci, SIGNAL(newRequestRenderSurfaceToAreaAllowed(int, int)), layoutHandler, SLOT(requestRenderSurfaceToAreaAllowed(int,int))); - QObject::connect(hsci, SIGNAL(newRequestSurfaceIdToFullScreen(int)), layoutHandler, SLOT(requestSurfaceIdToFullScreen(int))); + if (layoutHandler->requestSurface(QString("HomeScreen")) != 0) { + exit(EXIT_FAILURE); + } + layoutHandler->set_event_handler(QLibWindowmanager::Event_SyncDraw, [layoutHandler](json_object *object) { + layoutHandler->endDraw(QString("HomeScreen")); + }); + + layoutHandler->set_event_handler(QLibWindowmanager::Event_ScreenUpdated, [layoutHandler, launcher](json_object *object) { + json_object *jarray = json_object_object_get(object, "ids"); + int arrLen = json_object_array_length(jarray); + for( int idx = 0; idx < arrLen; idx++) + { + QString label = QString(json_object_get_string( json_object_array_get_idx(jarray, idx) )); + HMI_DEBUG("HomeScreen","Event_ScreenUpdated application: %s.", label.toStdString().c_str()); + QMetaObject::invokeMethod(launcher, "setCurrent", Qt::QueuedConnection, Q_ARG(QString, label)); + } + }); + + HomescreenHandler* homescreenHandler = new HomescreenHandler(); + homescreenHandler->init(port, token.toStdString().c_str()); + + QUrl bindingAddress; + bindingAddress.setScheme(QStringLiteral("ws")); + bindingAddress.setHost(QStringLiteral("localhost")); + bindingAddress.setPort(port); + bindingAddress.setPath(QStringLiteral("/api")); + + QUrlQuery query; + query.addQueryItem(QStringLiteral("token"), token); + bindingAddress.setQuery(query); + + // mail.qml loading + QQmlApplicationEngine engine; engine.rootContext()->setContextProperty("layoutHandler", layoutHandler); - + engine.rootContext()->setContextProperty("homescreenHandler", homescreenHandler); + engine.rootContext()->setContextProperty("launcher", launcher); + engine.rootContext()->setContextProperty("weather", new Weather(bindingAddress)); engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); - QList<QObject *> mobjs = engine.rootObjects(); - MasterVolume *mv = mobjs.first()->findChild<MasterVolume *>("mv"); - engine.rootContext()->setContextProperty("MasterVolume", mv); - QObject::connect(mv, SIGNAL(sliderVolumeChanged(int)), client, SLOT(incDecVolume(int))); - QObject::connect(client, SIGNAL(volumeExternallyChanged(int)), mv, SLOT(changeExternalVolume(int))); + QObject *root = engine.rootObjects().first(); + QQuickWindow *window = qobject_cast<QQuickWindow *>(root); + QObject::connect(window, SIGNAL(frameSwapped()), layoutHandler, SLOT(slotActivateSurface())); - // Initalize PA client - client->init(); + // start homescreen appplications + launcher->launch("launcher@0.1"); //Launcher return a.exec(); } diff --git a/homescreen/src/mainwindow.cpp b/homescreen/src/mainwindow.cpp deleted file mode 100644 index 7a0d743..0000000 --- a/homescreen/src/mainwindow.cpp +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "mainwindow.h" -#include "ui_mainwindow.h" -#include <include/daynightmode.hpp> - -MainWindow::MainWindow(QWidget *parent) : - QMainWindow(parent), - mp_ui(new Ui::MainWindow), - mp_statusBarWidget(0), - mp_controlBarWidget(0), - mp_settingsWidget(0), - //mp_applauncherwidget(0), - mp_popupWidget(0), - mp_layoutHandler(new LayoutHandler()), - mp_dBusDayNightModeProxy(0), - mp_proximityAdaptor(0), - mp_homeScreenControlInterface(0) -{ - // this has to be adopted to the system setup - mp_dBusDayNightModeProxy = new org::agl::daynightmode("org.agl.homescreen.simulator", //"org.agl.systeminfoprovider" - "/", - QDBusConnection::sessionBus(), - 0); - QObject::connect(mp_dBusDayNightModeProxy, SIGNAL(dayNightMode(int)), this, SLOT(dayNightModeSlot(int))); - - mp_proximityAdaptor = new ProximityAdaptor((QObject*)this); - - // dbus setup - QDBusConnection dbus = QDBusConnection::sessionBus(); - dbus.registerObject("/Proximity", this); - dbus.registerService("org.agl.homescreen"); - - // no window decoration - setWindowFlags(Qt::FramelessWindowHint); - - mp_ui->setupUi(this); - - mp_statusBarWidget = new StatusBarWidget(this); - mp_statusBarWidget->raise(); - // apply layout - mp_statusBarWidget->move(0, 0); - - mp_controlBarWidget = new ControlBarWidget(this); - mp_controlBarWidget->raise(); - // apply layout - mp_controlBarWidget->move(0, 1920-60); - - mp_settingsWidget = new SettingsWidget(this); - mp_settingsWidget->raise(); - // apply layout - mp_settingsWidget->move(0, 60); - //mp_settingsWidget->hide(); - - /*mp_applauncherwidget = new AppLauncherWidget(this); - mp_applauncherwidget->raise(); - // apply layout - mp_applauncherwidget->move(0, 60);*/ - - - mp_popupWidget = new PopupWidget(); - mp_controlBarWidget->raise(); - // apply layout - mp_popupWidget->move(0, 0); - - - QObject::connect(mp_settingsWidget, SIGNAL(colorSchemeChanged()), this, SLOT(updateColorScheme())); - QObject::connect(mp_settingsWidget, SIGNAL(colorSchemeChanged()), mp_statusBarWidget, SLOT(updateColorScheme())); - QObject::connect(mp_settingsWidget, SIGNAL(colorSchemeChanged()), mp_controlBarWidget, SLOT(updateColorScheme())); - QObject::connect(mp_settingsWidget, SIGNAL(colorSchemeChanged()), mp_settingsWidget, SLOT(updateColorScheme())); - QObject::connect(mp_settingsWidget, SIGNAL(colorSchemeChanged()), mp_popupWidget, SLOT(updateColorScheme())); - - QObject::connect(mp_controlBarWidget, SIGNAL(settingsButtonPressed()), mp_settingsWidget, SLOT(raise())); - //QObject::connect(mp_controlBarWidget, SIGNAL(homeButtonPressed()), mp_applauncherwidget, SLOT(raise())); - QObject::connect(mp_controlBarWidget, SIGNAL(hideAppLayer()), mp_layoutHandler, SLOT(hideAppLayer())); - - //QObject::connect(mp_applauncherwidget, SIGNAL(newRequestsToBeVisibleApp(int)), mp_layoutHandler, SLOT(makeMeVisible(int))); - //QObject::connect(mp_applauncherwidget, SIGNAL(showAppLayer()), mp_layoutHandler, SLOT(showAppLayer())); - - - // apply color scheme - updateColorScheme(); - - // this is only useful during development and will be removed later - setWindowIcon(QIcon(":/icons/home_day.png")); - - // mp_applauncherwidget->populateAppList(); - //mp_layoutHandler->setUpLayouts(); - - mp_homeScreenControlInterface = new HomeScreenControlInterface(this); - // QObject::connect(mp_homeScreenControlInterface, SIGNAL(newRequestGetAllSurfacesOfProcess(int)), mp_layoutHandler, SLOT(requestGetAllSurfacesOfProcess(int))); - QObject::connect(mp_homeScreenControlInterface, SIGNAL(newRequestGetSurfaceStatus(int)), mp_layoutHandler, SLOT(requestGetSurfaceStatus(int))); - QObject::connect(mp_homeScreenControlInterface, SIGNAL(newRequestsToBeVisibleApp(int)), mp_layoutHandler, SLOT(makeMeVisible(int))); - QObject::connect(mp_homeScreenControlInterface, SIGNAL(newRequestRenderSurfaceToArea(int, int)), mp_layoutHandler, SLOT(requestRenderSurfaceToArea(int,int))); - QObject::connect(mp_homeScreenControlInterface, SIGNAL(newRequestRenderSurfaceToAreaAllowed(int, int)), mp_layoutHandler, SLOT(requestRenderSurfaceToAreaAllowed(int,int))); - QObject::connect(mp_homeScreenControlInterface, SIGNAL(newRequestSurfaceIdToFullScreen(int)), mp_layoutHandler, SLOT(requestSurfaceIdToFullScreen(int))); - - QObject::connect(mp_popupWidget, SIGNAL(comboBoxResult(QString)), mp_layoutHandler, SLOT(setLayoutByName(QString))); -} - -MainWindow::~MainWindow() -{ - delete mp_homeScreenControlInterface; - - delete mp_dBusDayNightModeProxy; - - delete mp_layoutHandler; - - delete mp_popupWidget; - //delete mp_applauncherwidget; - delete mp_settingsWidget; - delete mp_controlBarWidget; - delete mp_statusBarWidget; - delete mp_proximityAdaptor; - delete mp_ui; -} - -void MainWindow::dayNightModeSlot(int mode) -{ - QSettings settings; - settings.setValue("systemsettings/daynightmode", mode); - // make sure that everything is written to the settings file before continuing - settings.sync(); - - updateColorScheme(); -} - -void MainWindow::setObjectDetected(bool detected) -{ - qDebug("setObjectDetected %s", detected ? "true" : "false"); - QSettings settings; - settings.setValue("systemsettings/proximityobjectdetected", detected); - // make sure that everything is written to the settings file before continuing - settings.sync(); - - updateColorScheme(); -} - -void MainWindow::updateColorScheme() -{ - QSettings settings; - QSettings settings_cs(QApplication::applicationDirPath() + - "/colorschemes/" + - settings.value("systemsettings/colorscheme", "default").toString() + - "/" + - QString::number(settings.value("systemsettings/proximityobjectdetected", false).toBool()) + - "/" + - QString::number(settings.value("systemsettings/daynightmode", SystemDayNight::DAYNIGHTMODE_DAY).toInt()) + - ".ini", - QSettings::IniFormat); - - mp_ui->widget_background->setStyleSheet(settings_cs.value("MainWindow/widget_background_css").toString()); - mp_ui->widget_homeIcon->setStyleSheet(settings_cs.value("MainWindow/widget_homeIcon_css").toString()); - - // update children - mp_statusBarWidget->updateColorScheme(); - mp_controlBarWidget->updateColorScheme(); - mp_settingsWidget->updateColorScheme(); - //mp_applauncherwidget->updateColorScheme(); - mp_popupWidget->updateColorScheme(); -} - -void MainWindow::changeEvent(QEvent* event) -{ - if (QEvent::LanguageChange == event->type()) - { - mp_ui->retranslateUi(this); - } - - QMainWindow::changeEvent(event); -} - diff --git a/homescreen/src/mainwindow.h b/homescreen/src/mainwindow.h deleted file mode 100644 index ebcfea2..0000000 --- a/homescreen/src/mainwindow.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef MAINWINDOW_H -#define MAINWINDOW_H - -#include <QMainWindow> -#include "daynightmode_proxy.h" -#include "proximity_adaptor.h" - -#include "homescreencontrolinterface.h" - -#include "statusbarwidget.h" -#include "controlbarwidget.h" -#include "settingswidget.h" -//#include "applauncher.h" -#include "popupwidget.h" - -#include "layouthandler.h" - - -namespace Ui { -class MainWindow; -} - -class MainWindow : public QMainWindow -{ - Q_OBJECT - -public: - explicit MainWindow(QWidget *parent = 0); - ~MainWindow(); - -// day/night mode -public Q_SLOTS: - void dayNightModeSlot(int mode); - -// from proximity_adaptor.h -public Q_SLOTS: - void setObjectDetected(bool detected); - -public slots: - void updateColorScheme(); - -protected: - // called when the translator loaded a new language set - void changeEvent(QEvent* event); - - -private: - Ui::MainWindow *mp_ui; - - StatusBarWidget *mp_statusBarWidget; - org::agl::daynightmode *mp_dBusDayNightMode_StatusBarWidget; - ControlBarWidget *mp_controlBarWidget; - org::agl::daynightmode *mp_dBusDayNightMode_ControlBarWidget; - SettingsWidget *mp_settingsWidget; - //AppLauncherWidget *mp_applauncherwidget; - PopupWidget *mp_popupWidget; - - LayoutHandler *mp_layoutHandler; - - org::agl::daynightmode *mp_dBusDayNightModeProxy; - - ProximityAdaptor *mp_proximityAdaptor; - - HomeScreenControlInterface *mp_homeScreenControlInterface; -}; - -#endif // MAINWINDOW_H diff --git a/homescreen/src/mastervolume.cpp b/homescreen/src/mastervolume.cpp index 46985ee..5e1e450 100644 --- a/homescreen/src/mastervolume.cpp +++ b/homescreen/src/mastervolume.cpp @@ -16,8 +16,6 @@ #include "mastervolume.h" -#include <QtCore/QDebug> - void MasterVolume::setVolume(pa_volume_t volume) { int volume_delta = volume - m_volume; diff --git a/homescreen/src/mastervolume.h b/homescreen/src/mastervolume.h index edcdd8c..645968a 100644 --- a/homescreen/src/mastervolume.h +++ b/homescreen/src/mastervolume.h @@ -16,7 +16,6 @@ #include <QtCore/QObject> #include <QQmlEngine> -#include <QDebug> #include <pulse/pulseaudio.h> diff --git a/homescreen/src/paclient.cpp b/homescreen/src/paclient.cpp deleted file mode 100644 index 59a3742..0000000 --- a/homescreen/src/paclient.cpp +++ /dev/null @@ -1,240 +0,0 @@ -/* - * Copyright (C) 2016,2017 Konsulko Group - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "paclient.h" - -#include <QtCore/QDebug> - -PaClient::PaClient() - : m_init(false), m_ml(nullptr), m_mlapi(nullptr), m_ctx(nullptr) -{ -} - -PaClient::~PaClient() -{ - if (m_init) - close(); -} - -void PaClient::close() -{ - if (!m_init) return; - pa_threaded_mainloop_stop(m_ml); - pa_threaded_mainloop_free(m_ml); - m_init = false; -} - -static void set_sink_volume_cb(pa_context *c, int success, void *data) -{ - Q_UNUSED(data); - - if (!success) - qWarning() << "PaClient: set sink volume: " << - pa_strerror(pa_context_errno(c)); -} - -void PaClient::incDecVolume(const int volume_delta) -{ - pa_operation *o; - pa_context *c = context(); - pa_sink_info *i = getDefaultSinkInfo(); - - if (volume_delta > 0) - pa_cvolume_inc_clamp(&i->volume, volume_delta, 65536); - else - pa_cvolume_dec(&i->volume, abs(volume_delta)); - - o = pa_context_set_sink_volume_by_index(c, i->index, &i->volume, set_sink_volume_cb, NULL); - if (!o) { - qWarning() << "PaClient: set sink #" << i->index << - " volume: " << pa_strerror(pa_context_errno(c)); - return; - } - pa_operation_unref(o); -} - -void get_sink_info_change_cb(pa_context *c, - const pa_sink_info *i, - int eol, - void *data) -{ - Q_UNUSED(c); - Q_ASSERT(i); - Q_ASSERT(data); - - if (eol) return; - - PaClient *self = reinterpret_cast<PaClient*>(data); - pa_sink_info *si = self->getDefaultSinkInfo(); - if (i->index == si->index) { - self->setDefaultSinkInfo(i); - pa_cvolume *cvolume = &self->getDefaultSinkInfo()->volume; - emit self->volumeExternallyChanged(pa_cvolume_avg(cvolume)); - } -} - -void get_default_sink_info_cb(pa_context *c, - const pa_sink_info *i, - int eol, - void *data) -{ - Q_UNUSED(c); - Q_ASSERT(i); - Q_ASSERT(data); - - if (eol) return; - - PaClient *self = reinterpret_cast<PaClient*>(data); - self->setDefaultSinkInfo(i); -} - -pa_sink_info *PaClient::getDefaultSinkInfo(void) -{ - return &m_default_sink_info; -} - -void PaClient::setDefaultSinkInfo(const pa_sink_info *i) -{ - m_default_sink_info.index = i->index; - m_default_sink_info.channel_map.channels = i->channel_map.channels; - pa_cvolume *cvolume = &m_default_sink_info.volume; - cvolume->channels = i->volume.channels; - for (int chan = 0; chan < i->channel_map.channels; chan++) { - cvolume->values[chan] = i->volume.values[chan]; - } -} - -void get_server_info_cb(pa_context *c, - const pa_server_info *i, - void *data) -{ - pa_operation *o; - o = pa_context_get_sink_info_by_name(c, i->default_sink_name, get_default_sink_info_cb, data); - if (!o) { - qWarning() << "PaClient: get sink info by name: " << - pa_strerror(pa_context_errno(c)); - return; - } -} - -void subscribe_cb(pa_context *c, - pa_subscription_event_type_t type, - uint32_t index, - void *data) -{ - pa_operation *o; - - if ((type & PA_SUBSCRIPTION_EVENT_TYPE_MASK) != PA_SUBSCRIPTION_EVENT_CHANGE) { - qWarning("PaClient: unhandled subscribe event operation"); - return; - } - - switch (type & PA_SUBSCRIPTION_EVENT_FACILITY_MASK) { - case PA_SUBSCRIPTION_EVENT_SINK: - o = pa_context_get_sink_info_by_index(c, index, get_sink_info_change_cb, data); - if (!o) { - qWarning() << "PaClient: get sink info by index: " << - pa_strerror(pa_context_errno(c)); - return; - } - break; - default: - qWarning("PaClient: unhandled subscribe event facility"); - } -} - -void context_state_cb(pa_context *c, void *data) -{ - pa_operation *o; - PaClient *self = reinterpret_cast<PaClient*>(data); - - switch (pa_context_get_state(c)) { - case PA_CONTEXT_CONNECTING: - case PA_CONTEXT_AUTHORIZING: - case PA_CONTEXT_SETTING_NAME: - break; - case PA_CONTEXT_READY: - o = pa_context_get_server_info(c, get_server_info_cb, data); - if (!o) { - qWarning() << "PaClient: get server info: " << - pa_strerror(pa_context_errno(c)); - return; - } - pa_operation_unref(o); - pa_context_set_subscribe_callback(c, subscribe_cb, data); - o = pa_context_subscribe(c, (pa_subscription_mask_t)(PA_SUBSCRIPTION_MASK_SINK), NULL, NULL); - if (!o) { - qWarning() << "PaClient: subscribe: " << - pa_strerror(pa_context_errno(c)); - return; - } - break; - case PA_CONTEXT_TERMINATED: - self->close(); - break; - - case PA_CONTEXT_FAILED: - default: - qCritical() << "PaClient: connection failed: " << - pa_strerror(pa_context_errno(c)); - self->close(); - break; - } -} - -void PaClient::init() -{ - m_ml = pa_threaded_mainloop_new(); - if (!m_ml) { - qCritical("PaClient: failed to create mainloop"); - return; - } - - pa_threaded_mainloop_set_name(m_ml, "PaClient mainloop"); - - m_mlapi = pa_threaded_mainloop_get_api(m_ml); - - lock(); - - m_ctx = pa_context_new(m_mlapi, "HomeScreen"); - if (!m_ctx) { - qCritical("PaClient: failed to create context"); - unlock(); - pa_threaded_mainloop_free(m_ml); - return; - } - pa_context_set_state_callback(m_ctx, context_state_cb, this); - - if (pa_context_connect(m_ctx, 0, (pa_context_flags_t)0, 0) < 0) { - qCritical("PaClient: failed to connect"); - pa_context_unref(m_ctx); - unlock(); - pa_threaded_mainloop_free(m_ml); - return; - } - - if (pa_threaded_mainloop_start(m_ml) != 0) { - qCritical("PaClient: failed to start mainloop"); - pa_context_unref(m_ctx); - unlock(); - pa_threaded_mainloop_free(m_ml); - return; - } - - unlock(); - - m_init = true; -} diff --git a/homescreen/src/paclient.h b/homescreen/src/paclient.h deleted file mode 100644 index abf178b..0000000 --- a/homescreen/src/paclient.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (C) 2016,2017 Konsulko Group - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include <pulse/pulseaudio.h> - -#include <QtCore/QHash> -#include <QtCore/QObject> - -class PaClient : public QObject -{ - Q_OBJECT - public: - PaClient(); - ~PaClient(); - - void init(); - void close(); - - inline pa_context *context() const - { - return m_ctx; - } - - inline void lock() - { - pa_threaded_mainloop_lock(m_ml); - } - - inline void unlock() - { - pa_threaded_mainloop_unlock(m_ml); - } - - pa_sink_info * getDefaultSinkInfo(void); - void setDefaultSinkInfo(const pa_sink_info *i); - void setMasterVolume(const pa_cvolume *); - - public slots: - void incDecVolume(const int volume_delta); - - signals: - void volumeExternallyChanged(int volume); - - private: - bool m_init; - pa_threaded_mainloop *m_ml; - pa_mainloop_api *m_mlapi; - pa_context *m_ctx; - pa_cvolume m_master_cvolume; - pa_sink_info m_default_sink_info; -}; diff --git a/homescreen/src/popupwidget.cpp b/homescreen/src/popupwidget.cpp deleted file mode 100644 index 1f062f1..0000000 --- a/homescreen/src/popupwidget.cpp +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "popupwidget.h" -#include "ui_popupwidget.h" -#include <include/daynightmode.hpp> - -PopupWidget::PopupWidget(QWidget *parent) : - QWidget(parent), - mp_ui(new Ui::PopupWidget), - mp_popupAdaptor(0), - m_sendComboBoxChoice(false) -{ - // publish dbus popup interface - mp_popupAdaptor = new PopupAdaptor((QObject*)this); - QDBusConnection dbus = QDBusConnection::sessionBus(); - dbus.registerObject("/Popup", this); - dbus.registerService("org.agl.homescreen"); - - // no window decoration - setWindowFlags(Qt::FramelessWindowHint); - - mp_ui->setupUi(this); - - this->close(); -} - -PopupWidget::~PopupWidget() -{ - delete mp_popupAdaptor; - delete mp_ui; -} - -void PopupWidget::updateColorScheme() -{ - QSettings settings; - QSettings settings_cs(QApplication::applicationDirPath() + - "/colorschemes/" + - settings.value("systemsettings/colorscheme", "default").toString() + - "/" + - QString::number(settings.value("systemsettings/proximityobjectdetected", false).toBool()) + - "/" + - QString::number(settings.value("systemsettings/daynightmode", SystemDayNight::DAYNIGHTMODE_DAY).toInt()) + - ".ini", - QSettings::IniFormat); - - mp_ui->widget_popup->setStyleSheet(settings_cs.value(QString("PopupWidget/widget_popup_css")).toString()); - mp_ui->label_text->setStyleSheet(settings_cs.value(QString("PopupWidget/label_text_css")).toString()); -} - -void PopupWidget::showPopup(int /*type*/, const QString &text) -{ - m_sendComboBoxChoice = false; - mp_ui->comboBox_choice->hide(); - this->show(); - this->raise(); - mp_ui->label_text->setText(text); -} - -void PopupWidget::showPopupComboBox(const QString &text, const QStringList &choices) -{ - mp_ui->comboBox_choice->clear(); - m_sendComboBoxChoice = true; - mp_ui->comboBox_choice->addItems(choices); - mp_ui->comboBox_choice->show(); - this->show(); - this->raise(); - mp_ui->label_text->setText(text); -} - -void PopupWidget::on_pushButton_OK_clicked() -{ - if (m_sendComboBoxChoice) - { - emit comboBoxResult(mp_ui->comboBox_choice->currentText()); - m_sendComboBoxChoice = false; - } - this->close(); -} diff --git a/homescreen/src/popupwidget.h b/homescreen/src/popupwidget.h deleted file mode 100644 index 7f3aaa8..0000000 --- a/homescreen/src/popupwidget.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef POPUPWIDGET_H -#define POPUPWIDGET_H - -#include <QWidget> -#include <include/popup.hpp> -#include "popup_adaptor.h" - -namespace Ui { -class PopupWidget; -} - -class PopupWidget : public QWidget -{ - Q_OBJECT - -public: - explicit PopupWidget(QWidget *parent = 0); - ~PopupWidget(); -public slots: - void updateColorScheme(); - - // from popup_adaptor.h -public Q_SLOTS: // METHODS - void showPopup(int /*type*/, const QString &text); - void showPopupComboBox(const QString &text, const QStringList &choices); - -private slots: - void on_pushButton_OK_clicked(); - -signals: - void comboBoxResult(QString choice); - -private: - Ui::PopupWidget *mp_ui; - - PopupAdaptor *mp_popupAdaptor; - bool m_sendComboBoxChoice; - // for showPupupFor LayoutSelection - //QList<QPushButton> m_pushButtons; -}; - -#endif // POPUPWIDGET_H diff --git a/homescreen/src/settingswidget.cpp b/homescreen/src/settingswidget.cpp deleted file mode 100644 index 1629bf0..0000000 --- a/homescreen/src/settingswidget.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "settingswidget.h" -#include "ui_settingswidget.h" -#include <QSettings> -#include <include/daynightmode.hpp> - -SettingsWidget::SettingsWidget(QWidget *parent) : - QWidget(parent), - mp_ui(new Ui::SettingsWidget), - mp_translator(0) -{ - // no window decoration - setWindowFlags(Qt::FramelessWindowHint); - - // multi-language support - mp_translator = new QTranslator(); - mp_translator->load("homescreen_en_US.qm", ":/translations"); // TODO: read from system - QApplication::instance()->installTranslator(mp_translator); - - mp_ui->setupUi(this); - - mp_ui->comboBox_language->addItem(QString("English"), QVariant("homescreen_en_US.qm")); // TODO: make this configurable - mp_ui->comboBox_language->addItem(QString("Deutsch"), QVariant("homescreen_de_DE.qm")); - mp_ui->comboBox_language->addItem(QString("日本語"), QVariant("homescreen_ja_JP.qm")); - - mp_ui->comboBox_colorScheme->addItem(QString("Default"), QVariant("default")); // TODO: make this configurable - mp_ui->comboBox_colorScheme->addItem(QString("Demo 1"), QVariant("demo1")); - mp_ui->comboBox_colorScheme->addItem(QString("Demo 2"), QVariant("demo2")); - - QSettings settings; - mp_ui->comboBox_language->setCurrentIndex(settings.value("systemsettings/language", 0).toInt()); - mp_ui->comboBox_colorScheme->setCurrentIndex(settings.value("systemsettings/colorschemeindex", 0).toInt()); -} - -SettingsWidget::~SettingsWidget() -{ - delete mp_translator; - delete mp_ui; -} - -void SettingsWidget::updateColorScheme() -{ - QSettings settings; - QSettings settings_cs(QApplication::applicationDirPath() + - "/colorschemes/" + - settings.value("systemsettings/colorscheme", "default").toString() + - "/" + - QString::number(settings.value("systemsettings/proximityobjectdetected", false).toBool()) + - "/" + - QString::number(settings.value("systemsettings/daynightmode", SystemDayNight::DAYNIGHTMODE_DAY).toInt()) + - ".ini", - QSettings::IniFormat); - - mp_ui->widget_background->setStyleSheet(settings_cs.value("SettingsWidget/widget_background_css").toString()); - mp_ui->comboBox_language->setStyleSheet(settings_cs.value("SettingsWidget/comboBox_language_css").toString()); - mp_ui->comboBox_colorScheme->setStyleSheet(settings_cs.value("SettingsWidget/comboBox_colorScheme_css").toString()); - mp_ui->widget_settingsIcon->setStyleSheet(settings_cs.value("SettingsWidget/widget_settingsIcon_css").toString()); -} - -void SettingsWidget::changeEvent(QEvent* event) -{ - if (QEvent::LanguageChange == event->type()) - { - mp_ui->retranslateUi(this); - } - - QWidget::changeEvent(event); -} - -void SettingsWidget::on_comboBox_language_currentIndexChanged(const QString &) -{ - if (0 != mp_translator) - mp_translator->load(mp_ui->comboBox_language->currentData().toString(), ":/translations"); - - QSettings settings; - settings.setValue("systemsettings/language", mp_ui->comboBox_language->currentIndex()); -} - -void SettingsWidget::on_comboBox_colorScheme_currentIndexChanged(const QString &) -{ - QSettings settings; - settings.setValue("systemsettings/colorscheme", mp_ui->comboBox_colorScheme->currentData().toString()); - settings.setValue("systemsettings/colorschemeindex", mp_ui->comboBox_colorScheme->currentIndex()); - // make sure that everything is written to the settings file before continuing - settings.sync(); - - emit colorSchemeChanged(); -} diff --git a/homescreen/src/settingswidget.h b/homescreen/src/settingswidget.h deleted file mode 100644 index 75bb383..0000000 --- a/homescreen/src/settingswidget.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SETTINGSWIDGET_H -#define SETTINGSWIDGET_H - -#include <QWidget> -#include <QTranslator> - -namespace Ui { -class SettingsWidget; -} - -class SettingsWidget : public QWidget -{ - Q_OBJECT - -public: - explicit SettingsWidget(QWidget *parent = 0); - ~SettingsWidget(); -public slots: - void updateColorScheme(); - -protected: - // called when the translator loaded a new language set - void changeEvent(QEvent* event); - -private slots: - void on_comboBox_language_currentIndexChanged(const QString &); - void on_comboBox_colorScheme_currentIndexChanged(const QString &); - -signals: - void colorSchemeChanged(void); - -private: - Ui::SettingsWidget *mp_ui; - QTranslator *mp_translator; -}; - -#endif // SETTINGSWIDGET_H |