Unverified Commit 72c97a09 authored by Don Gagne's avatar Don Gagne Committed by GitHub

Merge pull request #8709 from DonLakeFlyer/CustomExample

Major update to simplify and document the custom build example
parents 4254acfd d68e5586
......@@ -2,27 +2,26 @@
## Custom Build Example
To build this sample custom version, simply rename the directory from `custom-example` to `custom` before running `qmake` (or launching Qt Creator.) The build system will automatically find anything in `custom` and incorporate it into the build. If you had already run a build before renaming the directory, delete the build directory before running `qmake`. To restore the build to a stock QGroundControl one, rename the directory back to `custom-example` (making sure to clean the build directory again.)
To build this sample custom version:
### Custom Builds
* Clean you build directory of any previous build
* Rename the directory from `custom-example` to `custom`
* Change to the `custom` directory
* Run `python updateqrc.py`
* Build QGC
The root project file (`qgroundcontrol.pro`) will look and see if `custom/custom.pri` exists. If it does, it will load it before anything else is setup. This allows you to modify the build in any way necessary for a custom build. This example shows you how to:
![Custom Build Screenshot](README.jpg)
* Fully brand your build
* Define a single flight stack to avoid carrying over unnecessary code
* Implement your own, autopilot and firmware plugin overrides
* Implement your own camera manager and plugin overrides
* Implement your own QtQuick interface module
* Implement your own toolbar, toolbar indicators and UI navigation
* Implement your own Fly View overlay (and how to hide elements from QGC such as the flight widget)
* Implement your own, custom QtQuick camera control
* Implement your own, custom Pre-flight Checklist
* Define your own resources for all of the above
More details on what a custom build is and how to create your own can be found in the [QGC Dev Guide](https://dev.qgroundcontrol.com/en/custom_build/custom_build.html).
Note that within `qgroundcontrol.pro`, most main build steps are surrounded by flags, which you can define to override them. For example, if you want to have your own Android build, done in some completely different way, you simply:
The main features of this example:
```
DEFINES += DISABLE_BUILTIN_ANDROID
```
* Assumes an "Off The Shelf" purchased commercial vehicle. This means most vehicle setup is hidden from the user since they should mostly never need to adjust those things. They would be set up correctly by the vehicle producing company prior to sale.
* The above assumption cause the QGC UI to adjust and not show various things. Providing an even simpler experience to the user.
* The full experience continues to be available in "Advanced Mode".
* Brands the build with various custom images and custom color palette which matches corporate branding of the theoretical commercial company this build is for.
* Customizes portions of the interface such as you can see in the above screenshot which shows a custom instrument widget replacing the standard QGC ui.
* It also overrides various QGC Application settings to hide some settings the users shouldn't modify as well as adjusting defaults for others.
* The source code is fully commented to explain what and why it is doing things.
With this defined within your `custom.pri` file, it is up to you to define how to do the Android build. You can either replace the entire process or prepare it before invoking QGC’s own Android project file on your own. You would do this if you want to have your own branding within the Android manifest. The same applies to iOS (`DISABLE_BUILTIN_IOS`).
> Important Note: This custom build is not automatically built each time regular QGC code changes. This can mean that it may fall out of date with the latest changes in QGC code. This can show up as the `python updateqrc.py` steps failing due to upstream resource changes. Or possibly fail to compile because the plugin mechanism for custom builds has changed. If this happens please notify the QGC devs and they will bring it up to date. Or even better, submit a pull for the fix yourself!
\ No newline at end of file
......@@ -35,36 +35,32 @@ CONFIG += QGC_DISABLE_PX4_PLUGIN_FACTORY
DEFINES += CUSTOMHEADER=\"\\\"CustomPlugin.h\\\"\"
DEFINES += CUSTOMCLASS=CustomPlugin
TARGET = CustomQGC
DEFINES += QGC_APPLICATION_NAME=\"\\\"CustomQGC\\\"\"
TARGET = MyGroundStation
DEFINES += QGC_APPLICATION_NAME='"\\\"Custom QGroundControl\\\""'
DEFINES += QGC_ORG_NAME=\"\\\"qgroundcontrol.org\\\"\"
DEFINES += QGC_ORG_DOMAIN=\"\\\"org.qgroundcontrol\\\"\"
QGC_APP_NAME = "Custom GS"
QGC_BINARY_NAME = "CustomQGC"
QGC_APP_NAME = "Custom QGroundControl"
QGC_BINARY_NAME = "CustomQGroundControl"
QGC_ORG_NAME = "Custom"
QGC_ORG_DOMAIN = "org.qgroundcontrol"
QGC_APP_DESCRIPTION = "Custom QGC Ground Station"
QGC_APP_COPYRIGHT = "Copyright (C) 2019 QGroundControl Development Team. All rights reserved."
QGC_ORG_DOMAIN = "org.custom"
QGC_APP_DESCRIPTION = "Custom QGroundControl"
QGC_APP_COPYRIGHT = "Copyright (C) 2020 QGroundControl Development Team. All rights reserved."
# Our own, custom resources
RESOURCES += \
$$QGCROOT/custom/custom.qrc
$$PWD/custom.qrc
QML_IMPORT_PATH += \
$$QGCROOT/custom/res
$$PWD/res
# Our own, custom sources
SOURCES += \
$$PWD/src/CustomPlugin.cc \
$$PWD/src/CustomQuickInterface.cc \
$$PWD/src/CustomVideoManager.cc
HEADERS += \
$$PWD/src/CustomPlugin.h \
$$PWD/src/CustomQuickInterface.h \
$$PWD/src/CustomVideoManager.h
INCLUDEPATH += \
$$PWD/src \
......@@ -73,20 +69,16 @@ INCLUDEPATH += \
# Custom Firmware/AutoPilot Plugin
INCLUDEPATH += \
$$QGCROOT/custom/src/FirmwarePlugin \
$$QGCROOT/custom/src/AutoPilotPlugin
$$PWD/src/FirmwarePlugin \
$$PWD/src/AutoPilotPlugin
HEADERS+= \
$$QGCROOT/custom/src/AutoPilotPlugin/CustomAutoPilotPlugin.h \
$$QGCROOT/custom/src/FirmwarePlugin/CustomCameraControl.h \
$$QGCROOT/custom/src/FirmwarePlugin/CustomCameraManager.h \
$$QGCROOT/custom/src/FirmwarePlugin/CustomFirmwarePlugin.h \
$$QGCROOT/custom/src/FirmwarePlugin/CustomFirmwarePluginFactory.h \
$$PWD/src/AutoPilotPlugin/CustomAutoPilotPlugin.h \
$$PWD/src/FirmwarePlugin/CustomFirmwarePlugin.h \
$$PWD/src/FirmwarePlugin/CustomFirmwarePluginFactory.h \
SOURCES += \
$$QGCROOT/custom/src/AutoPilotPlugin/CustomAutoPilotPlugin.cc \
$$QGCROOT/custom/src/FirmwarePlugin/CustomCameraControl.cc \
$$QGCROOT/custom/src/FirmwarePlugin/CustomCameraManager.cc \
$$QGCROOT/custom/src/FirmwarePlugin/CustomFirmwarePlugin.cc \
$$QGCROOT/custom/src/FirmwarePlugin/CustomFirmwarePluginFactory.cc \
$$PWD/src/AutoPilotPlugin/CustomAutoPilotPlugin.cc \
$$PWD/src/FirmwarePlugin/CustomFirmwarePlugin.cc \
$$PWD/src/FirmwarePlugin/CustomFirmwarePluginFactory.cc \
<RCC>
<qresource prefix="/custom">
<file alias="CustomArmedIndicator.qml">res/MainToolbar/CustomArmedIndicator.qml</file>
<file alias="CustomBatteryIndicator.qml">res/MainToolbar/CustomBatteryIndicator.qml</file>
<file alias="CustomCameraControl.qml">res/CustomCameraControl.qml</file>
<file alias="CustomFlyView.qml">res/CustomFlyView.qml</file>
<file alias="CustomGPSIndicator.qml">res/MainToolbar/CustomGPSIndicator.qml</file>
<file alias="CustomMainToolBar.qml">res/MainToolbar/CustomMainToolBar.qml</file>
<file alias="CustomMainToolBarIndicators.qml">res/MainToolbar/CustomMainToolBarIndicators.qml</file>
<file alias="CustomModeIndicator.qml">res/MainToolbar/CustomModeIndicator.qml</file>
<file alias="CustomMultiVehicleSelector.qml">res/MainToolbar/CustomMultiVehicleSelector.qml</file>
<file alias="CustomRCRSSIIndicator.qml">res/MainToolbar/CustomRCRSSIIndicator.qml</file>
<file alias="PairingIndicator.qml">res/PairingIndicator.qml</file>
<file alias="PreFlightCheckList.qml">res/PreFlightCheckList.qml</file>
<file alias="CustomFlyViewOverlay.qml">res/CustomFlyViewOverlay.qml</file>
</qresource>
<qresource prefix="custom/img">
<file alias="altitude.svg">res/Images/altitude.svg</file>
<file alias="attitude_crosshair.svg">res/Images/attitude_crosshair.svg</file>
<file alias="attitude_dial.svg">res/Images/attitude_dial.svg</file>
<file alias="attitude_pointer.svg">res/Images/attitude_pointer.svg</file>
<file alias="camera_photo.svg">res/Images/camera_photo.svg</file>
<file alias="camera_settings.svg">res/Images/camera_settings.svg</file>
<file alias="camera_video.svg">res/Images/camera_video.svg</file>
<file alias="chronometer.svg">res/Images/chronometer.svg</file>
<file alias="compass_needle.svg">res/Images/compass_needle.svg</file>
<file alias="compass_pointer.svg">res/Images/compass_pointer.svg</file>
<file alias="distance.svg">res/Images/distance.svg</file>
<file alias="gimbal_icon.svg">res/Images/gimbal_icon.svg</file>
<file alias="gimbal_pitch_indoors.svg">res/Images/gimbal_pitch_indoors.svg</file>
<file alias="gimbal_pitch_outdoors.svg">res/Images/gimbal_pitch_outdoors.svg</file>
<file alias="gimbal_position.svg">res/Images/gimbal_position.svg</file>
<file alias="horizontal_speed.svg">res/Images/horizontal_speed.svg</file>
<file alias="microSD.svg">res/Images/microSD.svg</file>
<file alias="odometer.svg">res/Images/odometer.svg</file>
<file alias="PairingButton.svg">res/Images/PairingButton.svg</file>
<file alias="PairingConnected.svg">res/Images/PairingConnected.svg</file>
<file alias="PairingError.svg">res/Images/PairingError.svg</file>
<file alias="PairingIcon.svg">res/Images/PairingIcon.svg</file>
<file alias="thermal-brightness.svg">res/Images/thermal-brightness.svg</file>
<file alias="thermal-palette.svg">res/Images/thermal-palette.svg</file>
<file alias="thermal-pip.svg">res/Images/thermal-pip.svg</file>
<file alias="thermal-standard.svg">res/Images/thermal-standard.svg</file>
<file alias="vertical_speed.svg">res/Images/vertical_speed.svg</file>
<file alias="void.png">res/Images/void.png</file>
<file alias="CustomAppIcon.png">res/Images/CustomAppIcon.png</file>
</qresource>
<qresource prefix="/qmlimages">
<file alias="PaperPlane.svg">res/Images/CustomVehicleIcon.svg</file>
</qresource>
<qresource prefix="Custom/Widgets">
<file alias="Custom/Widgets/CustomArtificialHorizon.qml">res/Custom/Widgets/CustomArtificialHorizon.qml</file>
......@@ -54,8 +31,4 @@
<file alias="Custom/Widgets/CustomVehicleButton.qml">res/Custom/Widgets/CustomVehicleButton.qml</file>
<file alias="Custom/Widgets/qmldir">res/Custom/Widgets/qmldir</file>
</qresource>
<qresource prefix="Custom/Camera">
<file alias="Custom/Camera/qmldir">res/Custom/Camera/qmldir</file>
<file alias="Custom/Camera/ZoomControl.qml">res/Custom/Camera/ZoomControl.qml</file>
</qresource>
</RCC>
<file alias="PaperPlane.svg">src/ui/toolbar/Images/PaperPlane.svg</file>
<RCC>
<qresource prefix="/fonts">
<file alias="opensans">../resources/fonts/OpenSans-Regular.ttf</file>
<file alias="opensans-demibold">../resources/fonts/OpenSans-Semibold.ttf</file>
<file alias="NanumGothic-Regular">../resources/fonts/NanumGothic-Regular.ttf</file>
<file alias="NanumGothic-Bold">../resources/fonts/NanumGothic-Bold.ttf</file>
</qresource>
<qresource prefix="/res">
<file alias="action.svg">../resources/action.svg</file>
<file alias="AntennaRC">../resources/Antenna_RC.svg</file>
<file alias="AntennaT">../resources/Antenna_T.svg</file>
<file alias="ArrowDown.svg">../resources/ArrowDown.svg</file>
<file alias="ArrowRight.svg">../resources/ArrowRight.svg</file>
<file alias="buttonLeft.svg">../resources/buttonLeft.svg</file>
<file alias="buttonRight.svg">../resources/buttonRight.svg</file>
<file alias="cancel.svg">../resources/cancel.svg</file>
<file alias="clockwise-arrow.svg">../resources/clockwise-arrow.svg</file>
<file alias="counter-clockwise-arrow.svg">../resources/counter-clockwise-arrow.svg</file>
<file alias="chevron-down.svg">../resources/chevron-down.svg</file>
<file alias="chevron-up.svg">../resources/chevron-up.svg</file>
<file alias="DropArrow.svg">../resources/DropArrow.svg</file>
<file alias="gear-black.svg">../resources/gear-black.svg</file>
<file alias="gear-white.svg">../resources/gear-white.svg</file>
<file alias="helicoptericon.svg">../resources/helicoptericon.svg</file>
<file alias="JoystickBezel.png">../resources/JoystickBezel.png</file>
<file alias="JoystickBezelLight.png">../resources/JoystickBezelLight.png</file>
<file alias="land.svg">../resources/land.svg</file>
<file alias="LockClosed.svg">../resources/LockClosed.svg</file>
<file alias="LockOpen.svg">../resources/LockOpen.svg</file>
<file alias="notile.png">../resources/notile.png</file>
<file alias="Pause.svg">../resources/Pause.svg</file>
<file alias="pause-mission.svg">../resources/pause-mission.svg</file>
<file alias="Play">../resources/Play.svg</file>
<file alias="PowerButton">../resources/PowerButton.svg</file>
<file alias="QGCLogoBlack">../resources/QGCLogoBlack.svg</file>
<file alias="QGCLogoFull">../resources/QGCLogoFull.svg</file>
<file alias="QGCLogoWhite">../resources/QGCLogoWhite.svg</file>
<file alias="QGCLogoArrow">../resources/QGCLogoArrow.svg</file>
<file alias="QGroundControlConnect">../resources/QGroundControlConnect.svg</file>
<file alias="rtl.svg">../resources/rtl.svg</file>
<file alias="SplashScreen">../resources/SplashScreen.png</file>
<file alias="Stop">../resources/Stop.svg</file>
<file alias="takeoff.svg">../resources/takeoff.svg</file>
<file alias="TrashDelete.svg">../resources/TrashDelete.svg</file>
<file alias="waves.svg">../resources/waves.svg</file>
<file alias="wind-guru.svg">../resources/wind-guru.svg</file>
<file alias="wind-rose.svg">../resources/wind-rose.svg</file>
<file alias="wind-roseBlack.svg">../resources/wind-roseBlack.svg</file>
<file alias="wind-rose-arrow.svg">../resources/wind-rose-arrow.svg</file>
<file alias="XDelete.svg">../resources/XDelete.svg</file>
<file alias="XDeleteBlack.svg">../resources/XDeleteBlack.svg</file>
<file alias="waypoint.svg">../resources/waypoint.svg</file>
<file>../resources/icons/qgroundcontrol.ico</file>
</qresource>
<qresource prefix="/res/firmware">
<file alias="3drradio.png">../resources/firmware/3drradio.png</file>
<file alias="apm.png">../resources/firmware/apm.png</file>
<file alias="px4.png">../resources/firmware/px4.png</file>
</qresource>
<qresource prefix="/res/calibration">
<file alias="accel_back.png">../resources/calibration/accel_back.png</file>
<file alias="accel_down.png">../resources/calibration/accel_down.png</file>
<file alias="accel_front.png">../resources/calibration/accel_front.png</file>
<file alias="accel_left.png">../resources/calibration/accel_left.png</file>
<file alias="accel_right.png">../resources/calibration/accel_right.png</file>
<file alias="accel_up.png">../resources/calibration/accel_up.png</file>
</qresource>
<qresource prefix="/qml/calibration/mode1">
<file alias="radioCenter.png">../resources/calibration/mode1/radioCenter.png</file>
<file alias="radioHome.png">../resources/calibration/mode1/radioHome.png</file>
<file alias="radioPitchDown.png">../resources/calibration/mode1/radioPitchDown.png</file>
<file alias="radioPitchUp.png">../resources/calibration/mode1/radioPitchUp.png</file>
<file alias="radioRollLeft.png">../resources/calibration/mode1/radioRollLeft.png</file>
<file alias="radioRollRight.png">../resources/calibration/mode1/radioRollRight.png</file>
<file alias="radioSwitchMinMax.png">../resources/calibration/mode1/radioSwitchMinMax.png</file>
<file alias="radioThrottleDown.png">../resources/calibration/mode1/radioThrottleDown.png</file>
<file alias="radioThrottleUp.png">../resources/calibration/mode1/radioThrottleUp.png</file>
<file alias="radioYawLeft.png">../resources/calibration/mode1/radioYawLeft.png</file>
<file alias="radioYawRight.png">../resources/calibration/mode1/radioYawRight.png</file>
</qresource>
<qresource prefix="/qml/calibration/mode2">
<file alias="radioCenter.png">../resources/calibration/mode2/radioCenter.png</file>
<file alias="radioHome.png">../resources/calibration/mode2/radioHome.png</file>
<file alias="radioPitchDown.png">../resources/calibration/mode2/radioPitchDown.png</file>
<file alias="radioPitchUp.png">../resources/calibration/mode2/radioPitchUp.png</file>
<file alias="radioRollLeft.png">../resources/calibration/mode2/radioRollLeft.png</file>
<file alias="radioRollRight.png">../resources/calibration/mode2/radioRollRight.png</file>
<file alias="radioSwitchMinMax.png">../resources/calibration/mode2/radioSwitchMinMax.png</file>
<file alias="radioThrottleDown.png">../resources/calibration/mode2/radioThrottleDown.png</file>
<file alias="radioThrottleUp.png">../resources/calibration/mode2/radioThrottleUp.png</file>
<file alias="radioYawLeft.png">../resources/calibration/mode2/radioYawLeft.png</file>
<file alias="radioYawRight.png">../resources/calibration/mode2/radioYawRight.png</file>
</qresource>
<qresource prefix="/db/mapping/joystick">
<file alias="gamecontrollerdb.txt">../resources/SDL_GameControllerDB/gamecontrollerdb.txt</file>
</qresource>
<qresource prefix="/res/audio">
<file alias="Alert">../resources/audio/alert.wav</file>
</qresource>
<qresource prefix="/opengl">
<file>../resources/opengl/buglist.json</file>
</qresource>
</RCC>
This diff is collapsed.
This diff is collapsed.
<?xml version="1.0" encoding="utf-8"?>
<!-- Svg Vector Icons : http://www.onlinewebfonts.com/icon -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
<metadata> Svg Vector Icons : http://www.onlinewebfonts.com/icon </metadata>
<g><g transform="translate(0.000000,511.000000) scale(0.100000,-0.100000)"><path d="M1411.9,2317.3c-26.8-28.7-32.6-92-36.4-365.9l-5.7-333.3l-84.3-24.9c-203.1-59.4-264.4-205-210.7-496.1c90-488.5,454-672.4,687.7-350.5c82.4,113,153.2,350.5,153.2,515.3V1394h773.9h772l47.9-109.2l47.9-109.2l-113-82.4c-295-216.5-521-542.1-630.2-906.1c-42.1-137.9-44.1-174.3-51.7-1021c-5.8-927.1-5.8-932.9,80.4-932.9c78.5,0,88.1,32.6,88.1,291.2v245.2h95.8h95.8v220.3v220.3h-97.7h-99.6l11.5,379.3c11.5,419.5,32.6,536.4,137.9,764.3C3183.8,591.3,3360,809.7,3565,961l70.9,51.7l34.5-72.8c21.1-40.2,57.5-82.4,84.3-95.8c69-34.5,2421.3-34.5,2490.2,0c26.8,13.4,63.2,55.6,84.3,95.8l34.5,72.8l70.9-51.7c203-151.3,381.2-369.7,488.5-605.3c109.2-237.5,128.3-348.6,139.8-766.2l11.5-379.3h-99.6H6877v-220.3v-220.3h95.8h95.8v-245.2c0-258.6,9.6-291.2,88.1-291.2c86.2,0,86.2,5.7,80.5,932.9c-7.6,846.7-9.6,883.1-51.7,1021c-111.1,367.8-335.2,687.7-636,909.9l-109.2,80.4l47.9,109.2l49.8,107.3H7308h772l7.7-166.7c23-415.7,243.3-699.2,494.2-632.1c84.3,23,149.4,72.8,214.5,168.6c116.8,174.3,185.8,542.1,124.5,662.8c-44.1,86.2-139.8,157.1-226,170.5l-74.7,13.4v339.1c0,304.6-3.8,342.9-34.5,369.7c-42.1,38.3-99.6,42.1-147.5,7.7c-30.6-24.9-34.5-57.5-32.6-364l1.9-339.1l-1093.8,3.8l-1095.7,5.7l-17.2,67c-30.7,116.9-21.1,114.9-461.7,114.9h-404.2l-46,67.1c-55.6,82.4-180.1,143.7-289.2,143.7c-109.2,0-241.4-65.1-293.1-145.6l-42.1-65.1h-404.2c-440.6,0-431,1.9-461.7-114.9l-17.2-67l-1095.7-5.7l-1095.7-3.8v344.8c0,319.9-1.9,344.8-36.4,364C1498.1,2361.3,1446.3,2355.6,1411.9,2317.3z"/><path d="M297,2102.7c-182-38.3-233.7-86.2-172.4-153.2c101.5-111.1,457.8-168.6,837.1-136c139.8,13.4,262.4,30.7,270.1,38.3c9.6,9.6,13.4,53.6,9.6,99.6c-5.7,80.4-7.7,84.3-72.8,90c-36.4,3.8-136,19.2-220.3,34.5C758.7,2110.4,400.4,2125.7,297,2102.7z"/><path d="M1925.2,2102.7c-82.4-9.6-162.8-23-176.2-26.8c-26.8-11.5-36.4-183.9-9.6-183.9c7.7,0,116.9-17.2,243.3-36.4c329.5-53.6,500-65.1,645.6-42.1c319.9,46,325.6,166.7,15.3,260.5C2517.1,2112.3,2143.6,2127.6,1925.2,2102.7z"/><path d="M7432.5,2093.1c-180.1-40.2-296.9-105.4-296.9-162.8c0-59.4,65.1-91.9,235.6-116.9c145.6-23,316.1-11.5,645.5,42.1c126.4,19.2,237.5,36.4,245.2,36.4c7.7,0,13.4,40.2,9.6,90c-5.7,90-7.6,91.9-82.4,105.4C8012.9,2118,7558.9,2121.9,7432.5,2093.1z"/><path d="M9281,2110.4c-30.6-3.8-134.1-21.1-229.9-36.4c-93.9-15.3-197.3-30.6-229.9-32.6c-55.6-5.7-57.5-9.6-63.2-105.4c-3.8-74.7,1.9-101.5,19.2-101.5c13.4,0,134.1-9.6,268.2-21.1c275.8-24.9,521-3.8,693.4,59.4c283.5,107.3,180.1,226-208.8,239.4C9424.7,2116.1,9313.6,2114.2,9281,2110.4z"/><path d="M4584,263.8c-34.5-19.2-74.7-61.3-90-91.9l-28.7-55.6l-386.9-1.9c-214.5-1.9-417.6-13.4-450.2-23c-82.4-26.8-191.6-151.3-216.5-243.3c-28.7-103.4-28.7-1626.3,0-1712.5c34.5-101.5,111.1-189.6,197.3-229.9c74.7-34.5,149.4-36.4,1390.7-36.4c1241.3,0,1316,1.9,1390.7,36.4c93.9,42.1,168.6,134.1,197.3,241.4c28.7,101.5,28.7,1599.5,0,1701c-24.9,90-120.7,203.1-205,237.5c-46,19.2-160.9,26.8-421.4,26.8c-197.3,0-377.4,3.8-398.4,9.6c-23,5.8-49.8,30.7-63.2,57.5c-11.5,24.9-47.9,63.2-82.4,84.3c-57.5,34.5-97.7,38.3-417.6,38.3C4681.7,302.1,4639.6,298.3,4584,263.8z M6246.7-232.4c65.1-67,70.9-130.3,15.3-201.1c-80.5-101.5-266.3-40.2-266.3,88.1C5995.8-190.2,6139.5-127,6246.7-232.4z M5329.2-280.2c327.5-157.1,519.1-515.3,457.8-852.4c-72.8-396.5-394.6-672.4-787.3-672.4c-390.8,0-724.1,283.5-791.1,676.2c-61.3,365.9,164.7,743.3,528.7,877.3C4890.5-194,5181.7-207.5,5329.2-280.2z"/><path d="M4831.2-538.8c-126.4-44.1-237.5-147.5-293.1-277.8c-76.6-180.1-24.9-425.3,120.7-561.3c170.5-159,461.6-164.7,660.9-13.4c160.9,122.6,224.1,383.1,139.8,578.5c-55.5,128.3-183.9,243.3-312.2,281.6C5022.7-494.8,4955.7-494.8,4831.2-538.8z"/></g></g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.6, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 288 288" style="enable-background:new 0 0 288 288;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<path class="st0" d="M106.783,143.429c-1.327-5.063-2.711-10.125-4.095-15.256c-29.464-2.025-52.834-26.495-52.834-56.465
c0-31.299,25.438-56.736,56.736-56.736s56.647,25.438,56.647,56.736c0,17.247-7.752,32.684-19.902,43.067
c0.675,1.744,1.373,3.499,2.048,5.209c1.496,3.792,2.576,6.345,3.814,9.394c17.641-13.062,29.116-34.032,29.116-57.669
c-0.011-39.614-32.108-71.71-71.722-71.71s-71.71,32.099-71.71,71.71c0,39.614,32.108,71.71,71.71,71.71
c0.068,0.011,0.124,0.011,0.191,0.011L106.783,143.429z"/>
<path class="st0" d="M231.879,162.801c-13.321-4.534-33.3-7.223-50.043-8.562c-16.932-1.35-30.42-1.485-30.42-1.485h-1.395
l-0.461-1.215c0,0-5.659-13.467-11.633-28.644c-5.974-15.177-12.274-31.86-13.669-39.536c-1.294-7.054-2.588-12.736-4.748-16.28
c-2.16-3.533-4.759-5.265-10.508-4.927c-2.599,0.157-4.039,1.181-5.209,2.88c-1.17,1.699-1.924,4.264-2.228,7.256
c-0.607,5.985,0.45,13.478,1.204,18.699c3.454,23.874,11.937,46.632,16.561,70.687c2.756,14.322,3.893,28.925,6.514,42.888
l0.743,4.185l-3.724-1.958c-1.766-0.923-3.015-2.531-4.275-4.467c-1.271-1.935-2.464-4.286-3.724-6.694
c-2.509-4.815-5.186-10.036-7.628-12.927c-3.78-4.478-8.449-9.473-13.388-12.466c-4.883-2.959-9.676-3.915-14.885-1.305
c-2.306,2.093-3.139,3.983-3.162,6.143c-0.022,2.25,0.889,4.86,2.329,7.628c2.869,5.535,7.752,11.397,9.203,17.483
c3.611,15.154,12.781,26.978,20.926,39.904c6.368,10.105,11.093,21.23,20.926,26.227c12.972,6.592,24.256,17.01,37.116,19.16
c15.616,2.61,33.076,3.397,48.084,1.394c14.873-1.981,27.103-6.851,32.828-14.604c12.297-49.862,4.534-82.32-15.335-109.468V162.801
z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.6, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 360 72" style="enable-background:new 0 0 360 72;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.st2{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.2573;stroke-dasharray:2,6,2,6;}
.st3{fill:#0CA678;}
</style>
<path class="st0" d="M349.779,17.419h-30.656c-5.646,0-10.221,4.605-10.221,10.288v20.571c0,2.827,2.299,5.141,5.107,5.141h5.107
l2.825-5.684c1.258-2.531,4.587-4.599,7.395-4.599h10.226c2.808,0,6.137,2.067,7.395,4.599l2.825,5.684h5.107
c2.808,0,5.107-2.314,5.107-5.141V27.708C360,22.03,355.426,17.419,349.779,17.419L349.779,17.419z M321.681,35.422
c-2.821,0-5.107-2.302-5.107-5.147c0-2.839,2.287-5.141,5.107-5.141c2.82,0,5.107,2.302,5.107,5.141
C326.788,33.12,324.506,35.422,321.681,35.422z M347.229,35.422c-2.821,0-5.107-2.302-5.107-5.147c0-2.839,2.287-5.141,5.107-5.141
c2.82,0,5.107,2.302,5.107,5.141C352.337,33.12,350.049,35.422,347.229,35.422z"/>
<path class="st1" d="M39.568,25.298l5.557-4.015c-1.334-2.006-2-4.237-2-6.913c0-6.691,5.336-12.042,12.003-12.042
c6.891,0,12.227,5.353,12.227,12.042c0,6.913-5.336,12.266-12.227,12.266c-2.223,0-4.447-0.668-6.225-1.784l-4.223,5.799v11.596
l3.778,5.129c1.779-1.338,4.223-2.006,6.67-2.006c6.67,0,12.003,5.575,12.003,12.266s-5.336,12.042-12.003,12.042
c-6.67,0-12.226-5.353-12.226-12.042c0-2.452,0.889-4.683,2-6.691l-5.781-4.015H27.784l-5.112,3.791
c1.334,2.006,2.223,4.237,2.223,6.913c0,6.691-5.557,12.042-12.227,12.042c-6.67,0-12.003-5.353-12.003-12.042
c0-6.691,5.336-12.266,12.003-12.266c2.444,0,4.668,0.668,6.446,2.006l4.002-5.575v-11.82l-4.223-5.353
c-2,1.114-4.223,2.006-6.891,2.006C5.333,26.631,0,21.277,0,14.364C0,7.673,5.336,2.323,12.003,2.323
c6.891,0,12.227,5.353,12.227,12.042c0,2.452-0.666,4.907-2,6.691l6.002,4.237h11.337L39.568,25.298z M49.793,49.16l3.778,5.353
l2.889,2.898c0.221,0.668-1.11,2.006-1.555,1.784l-3.113-3.344l-5.112-3.569c-0.889,1.56-1.555,3.344-1.555,5.353
c0,5.353,4.447,9.812,10.004,9.812c5.336,0,9.78-4.461,9.78-9.812c0-5.575-4.447-10.036-9.78-10.036
C53.129,47.599,51.351,48.267,49.793,49.16L49.793,49.16z M46.904,19.944l4.891-3.569l2.889-2.898c0.666-0.668,2,1.114,1.779,1.56
l-2.889,3.123l-3.334,4.907c1.334,0.892,3.113,1.338,4.891,1.338c5.557,0,10.004-4.461,10.004-10.036
c0-5.353-4.447-9.812-10.004-9.812c-5.336,0-9.78,4.461-9.78,9.812c0,2.006,0.666,4.015,1.555,5.575L46.904,19.944z M17.562,22.843
l-3.778-5.129l-2.889-2.677c-0.221-0.446,1.11-1.784,1.779-1.56l2.889,2.898l4.891,3.569c0.889-1.56,1.555-3.569,1.555-5.575
c0-5.353-4.447-9.812-10.004-9.812c-5.336,0-9.78,4.461-9.78,9.812c0,5.575,4.447,10.036,9.78,10.036
c2.223,0,4.002-0.668,5.557-1.56L17.562,22.843z M20.896,52.058l-5.336,3.79l-2.889,3.345c-0.666,0.222-2-1.114-1.779-1.784
l2.889-2.898l4.002-5.353c-1.555-0.892-3.113-1.56-5.112-1.56c-5.336,0-9.78,4.461-9.78,10.036c0,5.575,4.447,9.812,9.78,9.812
c5.557,0,10.004-4.237,10.004-9.812C22.675,55.627,22.009,53.618,20.896,52.058L20.896,52.058z"/>
<line class="st2" x1="81.29" y1="34.839" x2="297.29" y2="34.839"/>
<rect x="184.065" y="26.323" class="st0" width="19.355" height="18.387"/>
<path class="st3" d="M206.948,24.149l-13.7-7.298c-0.426-0.238-0.948-0.238-1.375,0l-13.271,7.298
c-0.474,0.238-0.758,0.711-0.758,1.232v10.334c0,8.105,4.833,15.5,12.277,18.769l1.849,0.806c0.188,0.094,0.379,0.094,0.568,0.094
c0.188,0,0.379-0.047,0.568-0.094l2.085-0.9c7.587-3.223,12.516-10.617,12.516-18.864V25.383
C207.706,24.861,207.422,24.387,206.948,24.149L206.948,24.149z M199.931,34.198l-8.389,6.826c-0.285,0.238-0.568,0.332-0.9,0.332
c-0.379,0-0.806-0.189-1.09-0.521l-3.601-4.219c-0.521-0.617-0.427-1.517,0.141-1.991c0.618-0.521,1.518-0.426,1.992,0.142
l2.701,3.175l7.3-5.971c0.617-0.474,1.517-0.426,1.99,0.189C200.642,32.825,200.548,33.725,199.931,34.198L199.931,34.198z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.6, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 288 288" style="enable-background:new 0 0 288 288;" xml:space="preserve">
<style type="text/css">
.st0{fill:#C92A30;}
</style>
<path class="st0" d="M279.208,90.739c-35.477-36.963-83.184-57.313-134.318-57.313c-51.541,0-101.247,21.676-136.384,59.487
l-8.503,9.142l142.983,152.52l145.017-154.67L279.208,90.739z M158.864,196.782h-29.737v-29.737h29.737V196.782z M158.864,150.006
h-29.737v-83.38h29.737V150.006z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.6, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 288 288" style="enable-background:new 0 0 288 288;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
</style>
<path class="st0" d="M95.992,203.994h-71.99c-13.259,0-24.001,10.743-24.001,24.001v47.988c0,6.594,5.399,11.993,11.993,11.993
h11.993l6.636-13.258c2.953-5.906,10.771-10.729,17.365-10.729h24.016c6.594,0,14.411,4.823,17.364,10.729l6.636,13.258H108
c6.594,0,11.993-5.399,11.993-11.993v-47.988C119.993,214.751,109.25,203.994,95.992,203.994L95.992,203.994z M30.006,245.993
c-6.623,0-11.993-5.37-11.993-12.007c0-6.623,5.37-11.993,11.993-11.993c6.622,0,11.994,5.37,11.994,11.993
C41.999,240.623,36.642,245.993,30.006,245.993z M90.002,245.993c-6.623,0-11.993-5.37-11.993-12.007
c0-6.623,5.37-11.993,11.993-11.993c6.622,0,11.993,5.37,11.993,11.993C101.996,240.623,96.624,245.993,90.002,245.993z"/>
<path class="st1" d="M287.974,0.034v24.001l-0.002-0.014h-29.991v24.001h5.99c13.274,0,24.001,10.743,24.001,24.001L288,96.025
c0,13.259-10.742,24.001-24.001,24.001h-19.586c12.443,25.38,19.586,53.81,19.586,83.983c0,19.868-16.128,35.995-35.995,35.995
h-35.995v-23.987h35.995c6.622,0,12.008-5.385,12.008-12.008c-0.029-30.426-8.296-58.884-22.526-83.49
c-5.722,1.013-11.853,3.712-15.114,6.96c-4.093,4.106-7.452,7.467-7.452,7.467c-5.849,5.864-12.767,10.658-20.36,14.214
c3.403,5.499,5.456,11.924,5.456,18.87c0,19.881-16.128,35.995-35.995,35.995c-19.896,0-36.009-16.114-36.009-35.995
c0-6.946,2.053-13.372,5.456-18.87c-7.594-3.571-14.511-8.352-20.374-14.229c0,0-3.361-3.346-7.452-7.452
c-3.234-3.234-9.323-5.933-15.003-6.96c-10.376,18.037-17.59,38.09-20.697,59.503H25.644c2.672-21.316,9.013-41.451,18.081-59.996
H24.014c-13.274,0-24.001-10.742-24.001-24.001V72.024C0.012,58.779,10.74,48.037,24,48.037h6.004V24.036H0.012V0.034L83.996,0.02
v24.001H54.005v24.001l0.182,0.014h11.994c6.594,0,15.34-3.346,19.446-7.452l7.452-7.452c13.037-13.034,31.032-21.091,50.915-21.091
s37.88,8.057,50.9,21.077c0,0,3.346,3.36,7.452,7.465c4.091,4.106,12.866,7.452,19.446,7.452h12.19V24.036h-29.991V0.034H287.974z
M132.001,168.015c0,6.623,5.357,11.993,11.993,11.993c6.622,0,12.008-5.37,11.993-11.993c0-6.636-5.372-12.008-11.993-12.008
S132.001,161.379,132.001,168.015z M195.332,70.369l-26.937-19.418c-2.131-1.46-4.936,0.338-4.49,2.806l2.245,13.022h-28.953
c-1.569,0-2.92,1.346-2.92,2.919v5.836c0,1.569,1.346,2.92,2.92,2.92h28.844l-2.245,13.021c-0.448,2.583,2.468,4.376,4.49,2.806
l27.05-19.418c1.68-1.013,1.68-3.372-0.004-4.493V70.369z M149.315,90.91h-28.953l2.245-13.022c0.446-2.582-2.468-4.376-4.49-2.806
L91.18,94.391c-1.571,1.122-1.571,3.59,0,4.713l27.05,19.418c2.131,1.46,4.937-0.338,4.49-2.806l-2.245-13.022h28.844
c1.569,0,2.92-1.346,2.92-2.919v-5.836c-0.119-1.683-1.351-3.03-2.925-3.03V90.91z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.6, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 288 288" style="enable-background:new 0 0 288 288;" xml:space="preserve">
<style type="text/css">
.st0{fill:#69BD48;}
.st1{fill:#231F20;}
</style>
<rect x="44.998" y="94.501" class="st0" width="128.109" height="136.125"/>
<path class="st1" d="M251.546,247.045H4.502c-1.346,0-2.251,0.452-3.156,1.345C0.453,249.296,0,250.652,0,251.999
c1.346,20.244,18.446,35.999,38.702,35.999h178.652c20.244,0,37.344-15.755,38.702-35.999c0-1.346-0.452-2.704-1.345-3.596
c-0.917-0.906-1.81-1.358-3.168-1.358H251.546z M137.7,272.255h-19.803c-2.703,0-4.501-2.251-4.501-4.502
c0-2.25,1.798-4.501,4.501-4.501H137.7c2.251,0,4.502,2.251,4.502,4.501C142.202,270.004,140.404,272.255,137.7,272.255z"/>
<path class="st1" d="M274.495,0.002h-74.689c-7.645,0-13.504,6.3-13.504,13.504v106.201L288,119.696V13.507
c0-7.205-6.299-13.504-13.504-13.504L274.495,0.002z"/>
<path class="st1" d="M186.296,147.156c0,7.645,5.847,13.504,13.505,13.504l74.689-0.011c7.645,0,13.504-6.3,13.504-13.505v-18.446
H186.296V147.156z M230.395,139.952h13.505c2.703,0,4.501,1.798,4.501,4.501c0,2.704-1.798,4.502-4.501,4.502h-13.505
c-2.703,0-4.501-1.798-4.501-4.502C225.894,141.75,227.703,139.952,230.395,139.952z"/>
<path class="st1" d="M18.899,238.054h218.247c2.704,0,4.502-2.251,4.502-4.502V169.65h-41.847c-12.6,0-22.495-10.349-22.495-22.495
V77.408L27.448,77.396c-7.205,0-13.052,5.847-13.052,13.052v143.106c0,2.704,1.798,4.502,4.501,4.502L18.899,238.054z
M102.606,135.45l26.997-12.146l-8.551-3.156c-2.25-0.905-3.596-3.597-2.703-5.848c0.905-2.251,3.596-3.596,5.847-2.703
l18.446,6.752c0.906,0.452,2.251,1.346,2.704,2.251c0.452,0.905,0.452,2.251,0,3.596l-6.752,18.446
c-0.906,2.251-3.597,3.596-5.848,2.704c-2.25-0.906-3.596-3.596-2.703-5.847l3.156-8.551l-26.997,12.147
c-2.251,0.905-4.954,0-5.847-2.251C98.997,139.046,100.355,136.354,102.606,135.45L102.606,135.45z M81.004,190.802l6.752-18.446
c0.905-2.251,3.596-3.596,5.847-2.704c2.251,0.906,3.596,3.597,2.703,5.847l-3.156,8.551l26.996-12.147
c2.251-0.905,4.954,0,5.847,2.251c0.906,2.251,0,4.954-2.25,5.847l-26.997,12.147l8.55,3.156c2.251,0.905,3.596,3.596,2.703,5.847
c-0.905,2.251-3.596,3.596-5.847,2.703l-18.446-6.752c-0.905-0.453-2.251-1.345-2.703-2.251
C81.445,193.946,80.551,193.053,81.004,190.802L81.004,190.802z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1"
id="Layer_1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 288 288"
style="enable-background:new 0 0 288 288;" xml:space="preserve">
<g transform="translate(0,-952.36218)">
<path d="M102.3,978.9c-3.2,0.1-5.5,2.1-6.7,4.1l-13.1,26.2H30.3c-16.7,0-30.3,13.7-30.3,30.3v144c0,16.7,13.7,30.3,30.3,30.3h227.4
c16.7,0,30.3-13.7,30.3-30.3v-144c0-16.7-13.7-30.3-30.3-30.3h-52.1L192.4,983c-1.3-2.5-4-4.1-6.7-4.1H102.3z M106.9,994h74.1
l13,26.1c1.2,2.5,3.9,4.2,6.7,4.3h56.8c8.5,0,15.2,6.6,15.2,15.2v144c0,8.5-6.6,15.2-15.2,15.2H30.3c-8.5,0-15.2-6.6-15.2-15.2
v-144c0-8.5,6.6-15.2,15.2-15.2h56.8c2.8,0,5.5-1.7,6.7-4.3L106.9,994z M144,1047.1c-35.5,0-64.4,28.9-64.4,64.4
c0,35.5,28.9,64.4,64.4,64.4c35.5,0,64.4-28.9,64.4-64.4C208.4,1076,179.5,1047.1,144,1047.1z M144,1062.3
c27.3,0,49.3,22,49.3,49.3c0,27.3-22,49.3-49.3,49.3c-27.3,0-49.3-22-49.3-49.3C94.7,1084.2,116.7,1062.3,144,1062.3z"/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 72 72" style="enable-background:new 0 0 72 72;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M63.6,65.5h-5.5V40h5.5V65.5z M18.6,31.2H3.4c-4.5,0-4.5-9.1,0-9.1h15.2C23.2,22.1,23.2,31.2,18.6,31.2z
M8.2,65.5h5.7V35H8.2V65.5z M8.2,18.3V6.5h5.7v11.8H8.2z M28.4,51h15.2c4.5,0,4.5-9.3,0-9.3H28.4C23.9,41.7,23.9,51,28.4,51z
M38.6,65.5h-5.5V54.6h5.5V65.5z M33.2,6.5V38h5.5V6.4L33.2,6.5L33.2,6.5z M68.4,36.2h-15c-4.8,0-4.8-9.1,0-9.1h15
C73.2,27.1,73.2,36.2,68.4,36.2z M58.2,6.5v16.8h5.4V6.5H58.2z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 288 288" style="enable-background:new 0 0 288 288;" xml:space="preserve">
<g>
<path d="M21.2,215.3h168.7c11.7,0,21.2-9.5,21.2-21.2V93.9c0-11.7-9.5-21.2-21.2-21.2H21.2C9.5,72.7,0,82.2,0,93.9v100.2
C0,205.8,9.5,215.3,21.2,215.3z"/>
<polygon points="225.2,165.5 288,206.1 288,81.9 225.2,122.5 "/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 72 72" style="enable-background:new 0 0 72 72;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
</style>
<title>670134</title>
<desc>Created with Sketch.</desc>
<path class="st0" d="M19.589,25.301L19.589,25.301c1.113-0.307,2.259,0.344,2.57,1.453c0.307,1.109-0.345,2.258-1.453,2.565
c-7.701,2.139-13.367,9.206-13.359,17.587c0,3.427,0.996,6.588,2.637,9.322l0.775-4.4c0.198-1.135,1.281-1.895,2.416-1.693
c1.135,0.198,1.895,1.281,1.693,2.416L13.26,61.67l-0.378,0.595c-0.09,0.157-0.067,0.352-0.202,0.487
c-0.041,0.041-0.101,0.022-0.146,0.06l-0.131,0.206l-0.79,0.176c-0.191,0.037-0.341,0.127-0.532,0.116l-0.236,0.052l-9.119-1.607
c-1.135-0.198-1.895-1.281-1.693-2.416c0.198-1.135,1.281-1.895,2.416-1.693l3.959,0.697c-2.007-3.36-3.232-7.247-3.232-11.438
C3.178,36.604,10.118,27.927,19.589,25.301z M69.549,57.648L69.549,57.648c1.135-0.202,2.218,0.554,2.42,1.689
c0.199,1.135-0.558,2.213-1.693,2.416l-9.119,1.607l-0.236-0.052c-0.191,0.015-0.345-0.075-0.532-0.116l-0.79-0.176l-0.131-0.206
c-0.041-0.037-0.105-0.019-0.146-0.06c-0.135-0.135-0.112-0.33-0.202-0.487l-0.378-0.595l-1.607-9.119
c-0.199-1.135,0.558-2.213,1.693-2.416c1.135-0.199,2.213,0.558,2.416,1.693l0.775,4.404c1.64-2.734,2.64-5.895,2.64-9.322
c0.003-8.385-5.663-15.453-13.363-17.587c-1.112-0.307-1.76-1.457-1.453-2.565c0.307-1.112,1.457-1.76,2.565-1.453
c9.471,2.625,16.411,11.303,16.415,21.605c0,4.191-1.225,8.079-3.232,11.438L69.549,57.648z M41.772,20.352l-4.565-4.566
l0.004,28.939l4.565-4.565c0.813-0.813,2.135-0.813,2.947,0c0.813,0.813,0.813,2.131,0,2.947L36.6,51.23
c-0.378,0.378-0.899,0.61-1.476,0.61c-0.577,0-1.097-0.232-1.476-0.61l-8.157-8.157c-0.813-0.813-0.813-2.135,0-2.947
c0.813-0.813,2.131-0.813,2.947,0l4.599,4.599V15.719l-4.599,4.599c-0.813,0.813-2.135,0.813-2.947,0
c-0.813-0.813-0.813-2.135,0-2.947l8.123-8.123c0.412-0.412,0.951-0.607,1.491-0.603c0.004,0,0.007-0.007,0.015-0.007
c0.599,0,1.12,0.262,1.498,0.667l8.101,8.101c0.813,0.813,0.813,2.135,0,2.947C43.907,21.164,42.585,21.164,41.772,20.352z"/>
</svg>
<svg width="72" height="756" viewBox="0 0 72 756" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M36 0V108" stroke="#9F0B10" stroke-width="3" stroke-miterlimit="10"/>
<path d="M18 108H54" stroke="white" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 324H54" stroke="white" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 540H54" stroke="white" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 753H54" stroke="white" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 3H54" stroke="#9F0B10" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 216H54" stroke="white" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 432H54" stroke="white" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 648H54" stroke="white" stroke-width="6" stroke-miterlimit="10"/>
</svg>
<svg width="72" height="756" viewBox="0 0 72 756" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M36 0V108" stroke="#C92A30" stroke-width="3" stroke-miterlimit="10"/>
<path d="M18 108H54" stroke="#212529" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 324H54" stroke="#212529" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 540H54" stroke="#212529" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 753H54" stroke="#212529" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 3H54" stroke="#9F0B10" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 216H54" stroke="#212529" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 432H54" stroke="#212529" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 648H54" stroke="#212529" stroke-width="6" stroke-miterlimit="10"/>
</svg>
<svg width="72" height="756" viewBox="0 0 72 756" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M36 0V108" stroke="#E03131" stroke-width="3" stroke-miterlimit="10"/>
<path d="M18 108H54" stroke="white" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 324H54" stroke="white" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 540H54" stroke="white" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 753H54" stroke="white" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 3H54" stroke="#E03131" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 216H54" stroke="white" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 432H54" stroke="white" stroke-width="6" stroke-miterlimit="10"/>
<path d="M18 648H54" stroke="white" stroke-width="6" stroke-miterlimit="10"/>
</svg>
<svg width="72" height="72" viewBox="0 0 72 72" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M36 44.6C41.3478 44.6 45.683 40.4094 45.683 35.24C45.683 30.0706 41.3478 25.88 36 25.88C30.6522 25.88 26.317 30.0706 26.317 35.24C26.317 40.4094 30.6522 44.6 36 44.6Z" fill="#07916D"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.4 1.40002H57.6L45.387 37.548L26.585 37.434L14.4 1.40002Z" fill="url(#paint0_linear)"/>
<defs>
<linearGradient id="paint0_linear" x1="36.0008" y1="1.82077" x2="36.0008" y2="37.5507" gradientUnits="userSpaceOnUse">
<stop stop-color="#0CA678" stop-opacity="0"/>
<stop offset="1" stop-color="#07916D"/>
</linearGradient>
</defs>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 288 288" style="enable-background:new 0 0 288 288;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<g>
<path class="st0" d="M53.3,245.5c-3.1,3.1-7.7,3.1-10.8,0c-3.1-3.1-3.1-7.7,0-10.8l17-17C44,200,34,176.8,32.4,151.3H7.7
c-4.6,0-7.7-3.1-7.7-7.7c0-3.9,3.1-7.7,7.7-7.7h24.7C34,111.2,44,88,59.5,70.3l-17-17c-3.1-3.1-3.1-7.7,0-10.8
c3.1-3.1,7.7-3.1,10.8,0l17,17C88,44,111.2,34,135.9,32.4V7.7c0-4.6,3.9-7.7,7.7-7.7c4.6,0,7.7,3.1,7.7,7.7v24.7
c25.5,1.5,48.6,11.6,66.4,27l17-17c3.1-3.1,7.7-3.1,10.8,0c3.1,3.1,3.1,7.7,0,10.8l-17,17c15.4,17.8,25.5,40.9,27,65.6h24.7
c3.9,0,7.7,3.9,7.7,7.7c0,4.6-3.9,7.7-7.7,7.7h-24.7c-1.5,25.5-11.6,48.6-27,66.4l17,17c3.1,3.1,3.1,7.7,0,10.8
c-3.1,3.1-7.7,3.1-10.8,0l-17-17c-17.8,15.4-40.9,25.5-66.4,27v24.7c0,3.9-3.1,7.7-7.7,7.7c-3.9,0-7.7-3.9-7.7-7.7v-24.7
c-24.7-1.5-47.9-11.6-65.6-27L53.3,245.5z M143.6,47.9c-53.3,0-96.5,42.5-96.5,95.7c0,54,43.2,96.5,96.5,96.5
c54,0,96.5-42.5,96.5-96.5C240.1,90.3,197.7,47.9,143.6,47.9z"/>
<circle class="st0" cx="144" cy="144" r="72"/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 288 288" style="enable-background:new 0 0 288 288;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<path class="st0" d="M79.2,0h-72C5.3,0,3.5,0.8,2.1,2.1C0.8,3.5,0,5.3,0,7.2v273.6c0,1.9,0.8,3.8,2.1,5.1c1.4,1.4,3.2,2.1,5.1,2.1
h72c1.9,0,3.7-0.8,5.1-2.1c1.4-1.3,2.1-3.2,2.1-5.1V7.2c0-1.9-0.8-3.8-2.1-5.1C82.9,0.8,81.1,0,79.2,0z M43.2,259.2
c-5.8,0-11.1-3.5-13.3-8.9c-2.2-5.4-1-11.6,3.1-15.7c4.1-4.1,10.3-5.3,15.7-3.1c5.4,2.2,8.9,7.5,8.9,13.3
C57.6,252.7,51.2,259.2,43.2,259.2L43.2,259.2z"/>
<path class="st0" d="M280.8,201.6h-63l-117,67.6V288h180c1.9,0,3.8-0.8,5.1-2.1c1.4-1.4,2.1-3.2,2.1-5.1v-72c0-1.9-0.8-3.7-2.1-5.1
C284.5,202.4,282.7,201.6,280.8,201.6L280.8,201.6z"/>
<path class="st0" d="M130.3,235.5L278,150.2c3.4-2,4.6-6.4,2.6-9.8l-36-62.4v0c-2-3.4-6.4-4.6-9.8-2.6l-18.1,10.4L130.3,235.5z"/>
<path class="st0" d="M219.6,37.6l-62.4-36c-3.4-2-7.8-0.8-9.8,2.6L100.8,85v172.8L222.2,47.5c1-1.6,1.2-3.6,0.7-5.5
C222.5,40.1,221.3,38.6,219.6,37.6L219.6,37.6z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 288 288" style="enable-background:new 0 0 288 288;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#FFFFFF;stroke-width:8;}
.st1{fill:#FFFFFF;stroke:#FFFFFF;}
</style>
<rect x="3.6" y="40.7" class="st0" width="280.8" height="206.6"/>
<rect x="122.3" y="144.5" class="st1" width="162.1" height="102.8"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 288 288" style="enable-background:new 0 0 288 288;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#FFFFFF;stroke-width:8;}
</style>
<rect x="3.6" y="40.7" class="st0" width="280.8" height="206.6"/>
</svg>
/****************************************************************************
*
* (c) 2009-2019 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
* @file
* @author Gus Grubba <gus@auterion.com>
*/
import QtQuick 2.11
import QtQuick.Controls 1.2
import QGroundControl 1.0
import QGroundControl.MultiVehicleManager 1.0
import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
//-------------------------------------------------------------------------
//-- Armed Indicator
Rectangle {
anchors.top: parent.top
anchors.bottom: parent.bottom
width: labelRow.width + (ScreenTools.defaultFontPixelWidth * 6)
color: qgcPal.windowShade
property bool _armed: activeVehicle ? activeVehicle.armed : false
Row {
id: labelRow
spacing: ScreenTools.defaultFontPixelWidth
anchors.centerIn: parent
QGCLabel {
id: labelText
text: _armed ? qsTr("Armed") : qsTr("Disarmed")
color: qgcPal.text
font.pointSize: ScreenTools.defaultFontPointSize
anchors.verticalCenter: parent.verticalCenter
}
Rectangle {
height: ScreenTools.defaultFontPixelHeight * 0.5
width: height
radius: height * 0.5
color: _armed ? qgcPal.colorGreen : qgcPal.colorRed
border.color: qgcPal.window
border.width: 1
anchors.verticalCenter: parent.verticalCenter
}
}
QGCMouseArea {
fillItem: parent
onClicked: _armed ? mainWindow.disarmVehicle() : mainWindow.armVehicle()
}
}
/****************************************************************************
*