aboutsummaryrefslogtreecommitdiff
path: root/.icons/kora/devices/scalable
diff options
context:
space:
mode:
authorIndrajith2024-07-03 02:03:35 +0530
committerIndrajith2024-07-03 02:03:35 +0530
commit824022cd1f633c70c4d2782934251616756f4668 (patch)
treea310eb4bf72b26c2d110838b8c487daaa3537bea /.icons/kora/devices/scalable
parent57eb70137b5bbcdabdc0f02eea5477b3e5f845a1 (diff)
downloaddots-824022cd1f633c70c4d2782934251616756f4668.tar.gz
dots-824022cd1f633c70c4d2782934251616756f4668.tar.bz2
dots-824022cd1f633c70c4d2782934251616756f4668.zip
Dots Updated
* Adds GTK Themes * Adds wlogout * Adds tmux config * Adds Pywal-16-colors * Removed unwanted gtk folders * Config Updates * Fish * Hyprland * Hyprlock * Hyprpaper * waybar
Diffstat (limited to '.icons/kora/devices/scalable')
-rw-r--r--.icons/kora/devices/scalable/audio-card.svg16
l---------.icons/kora/devices/scalable/audio-headphones.svg1
-rw-r--r--.icons/kora/devices/scalable/audio-headset.svg12
l---------.icons/kora/devices/scalable/audio-heaphones.svg1
-rw-r--r--.icons/kora/devices/scalable/audio-input-line.svg1
-rw-r--r--.icons/kora/devices/scalable/audio-input-microphone.svg12
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-center-back-testing.svg11
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-center-back.svg12
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-center-testing.svg11
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-center.svg12
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-left-back-testing.svg15
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-left-back.svg12
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-left-side-testing.svg11
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-left-side.svg12
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-left-testing.svg11
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-left.svg12
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-mono-testing.svg4
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-mono.svg5
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-right-back-testing.svg11
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-right-back.svg12
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-right-side-testing.svg11
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-right-side.svg12
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-right-testing.svg11
-rw-r--r--.icons/kora/devices/scalable/audio-speaker-right.svg12
l---------.icons/kora/devices/scalable/audio-speaker-testing.svg1
-rw-r--r--.icons/kora/devices/scalable/audio-speakers.svg12
-rw-r--r--.icons/kora/devices/scalable/audio-speakers2.svg10
-rw-r--r--.icons/kora/devices/scalable/audio-subwoofer-testing.svg12
-rw-r--r--.icons/kora/devices/scalable/audio-subwoofer.svg14
-rw-r--r--.icons/kora/devices/scalable/battery.svg15
l---------.icons/kora/devices/scalable/blueman-camera.svg1
l---------.icons/kora/devices/scalable/blueman-cellular.svg1
l---------.icons/kora/devices/scalable/blueman-desktop.svg1
l---------.icons/kora/devices/scalable/blueman-device.svg1
l---------.icons/kora/devices/scalable/blueman-handheld.svg1
l---------.icons/kora/devices/scalable/blueman-handsfree.svg1
l---------.icons/kora/devices/scalable/blueman-headset.svg1
l---------.icons/kora/devices/scalable/blueman-keyboard.svg1
l---------.icons/kora/devices/scalable/blueman-laptop.svg1
l---------.icons/kora/devices/scalable/blueman-loudspeaker.svg1
l---------.icons/kora/devices/scalable/blueman-mouse.svg1
l---------.icons/kora/devices/scalable/blueman-pointing.svg1
l---------.icons/kora/devices/scalable/blueman-scanner.svg1
l---------.icons/kora/devices/scalable/blueman-server.svg1
l---------.icons/kora/devices/scalable/blueman-smart-phone.svg1
l---------.icons/kora/devices/scalable/bluetooth-48.svg1
l---------.icons/kora/devices/scalable/bluetooth-active.svg1
-rw-r--r--.icons/kora/devices/scalable/bluetooth-black.svg1
-rw-r--r--.icons/kora/devices/scalable/bluetooth-inactive.svg1
l---------.icons/kora/devices/scalable/bluetooth-radio.svg1
-rw-r--r--.icons/kora/devices/scalable/bluetooth.svg12
l---------.icons/kora/devices/scalable/bluetoothradio.svg1
l---------.icons/kora/devices/scalable/bus-usb.svg1
-rw-r--r--.icons/kora/devices/scalable/camera-photo.svg20
-rw-r--r--.icons/kora/devices/scalable/camera-video.svg20
-rw-r--r--.icons/kora/devices/scalable/camera-web.svg21
l---------.icons/kora/devices/scalable/camera.svg1
l---------.icons/kora/devices/scalable/com.github.bajoja.indicator-kdeconnect.svg1
-rw-r--r--.icons/kora/devices/scalable/computer-laptop.svg22
-rw-r--r--.icons/kora/devices/scalable/computer.svg16
-rw-r--r--.icons/kora/devices/scalable/cpu.svg29
l---------.icons/kora/devices/scalable/cs-bluetooth.svg1
l---------.icons/kora/devices/scalable/device_cpu.svg1
l---------.icons/kora/devices/scalable/device_mem.svg1
l---------.icons/kora/devices/scalable/device_pci.svg1
-rw-r--r--.icons/kora/devices/scalable/device_serial.svg13
-rw-r--r--.icons/kora/devices/scalable/device_usb.svg8
l---------.icons/kora/devices/scalable/display.svg1
-rw-r--r--.icons/kora/devices/scalable/drive-harddisk-gnome.svg31
-rw-r--r--.icons/kora/devices/scalable/drive-harddisk-ieee1394.svg31
l---------.icons/kora/devices/scalable/drive-harddisk-root-symbolic.svg1
l---------.icons/kora/devices/scalable/drive-harddisk-root.svg1
l---------.icons/kora/devices/scalable/drive-harddisk-system.svg1
-rw-r--r--.icons/kora/devices/scalable/drive-harddisk.svg31
-rw-r--r--.icons/kora/devices/scalable/drive-multidisk.svg57
l---------.icons/kora/devices/scalable/drive-optical.svg1
l---------.icons/kora/devices/scalable/drive-removable-media-pendrive.svg1
l---------.icons/kora/devices/scalable/drive-removable-media-usb-pendrive.svg1
l---------.icons/kora/devices/scalable/drive-removable-media-usb.svg1
-rw-r--r--.icons/kora/devices/scalable/drive-removable-media.svg31
l---------.icons/kora/devices/scalable/drive-virtual.svg1
l---------.icons/kora/devices/scalable/gnome-computer.svg1
l---------.icons/kora/devices/scalable/gnome-dev-battery.svg1
l---------.icons/kora/devices/scalable/gnome-dev-cdrom-audio.svg1
l---------.icons/kora/devices/scalable/gnome-dev-cdrom.svg1
l---------.icons/kora/devices/scalable/gnome-dev-computer.svg1
l---------.icons/kora/devices/scalable/gnome-dev-disc-cdr.svg1
l---------.icons/kora/devices/scalable/gnome-dev-disc-cdrw.svg1
l---------.icons/kora/devices/scalable/gnome-dev-disc-dvdr-plus.svg1
l---------.icons/kora/devices/scalable/gnome-dev-disc-dvdr.svg1
l---------.icons/kora/devices/scalable/gnome-dev-disc-dvdram.svg1
l---------.icons/kora/devices/scalable/gnome-dev-disc-dvdrom.svg1
l---------.icons/kora/devices/scalable/gnome-dev-disc-dvdrw.svg1
l---------.icons/kora/devices/scalable/gnome-dev-dvd.svg1
l---------.icons/kora/devices/scalable/gnome-dev-ethernet.svg1
l---------.icons/kora/devices/scalable/gnome-dev-floppy.svg1
l---------.icons/kora/devices/scalable/gnome-dev-harddisk-1394.svg1
l---------.icons/kora/devices/scalable/gnome-dev-harddisk-usb.svg1
l---------.icons/kora/devices/scalable/gnome-dev-harddisk.svg1
l---------.icons/kora/devices/scalable/gnome-dev-ipod.svg1
l---------.icons/kora/devices/scalable/gnome-dev-keyboard.svg1
l---------.icons/kora/devices/scalable/gnome-dev-media-cf.svg1
l---------.icons/kora/devices/scalable/gnome-dev-media-ms.svg1
l---------.icons/kora/devices/scalable/gnome-dev-media-sdmmc.svg1
l---------.icons/kora/devices/scalable/gnome-dev-media-sm.svg1
-rw-r--r--.icons/kora/devices/scalable/gnome-dev-memory.svg45
l---------.icons/kora/devices/scalable/gnome-dev-mouse-ball.svg1
l---------.icons/kora/devices/scalable/gnome-dev-mouse-optical.svg1
-rw-r--r--.icons/kora/devices/scalable/gnome-dev-printer-new.svg68
l---------.icons/kora/devices/scalable/gnome-dev-printer.svg1
l---------.icons/kora/devices/scalable/gnome-dev-removable-1394.svg1
l---------.icons/kora/devices/scalable/gnome-dev-removable-usb.svg1
l---------.icons/kora/devices/scalable/gnome-dev-removable.svg1
l---------.icons/kora/devices/scalable/gnome-dev-wavelan.svg1
l---------.icons/kora/devices/scalable/gnome-fs-blockdev.svg1
l---------.icons/kora/devices/scalable/gnome-fs-client.svg1
l---------.icons/kora/devices/scalable/gnome-phone-manager.svg1
l---------.icons/kora/devices/scalable/gtk-harddisk.svg1
l---------.icons/kora/devices/scalable/harddrive.svg1
-rw-r--r--.icons/kora/devices/scalable/hifi.svg11
l---------.icons/kora/devices/scalable/i-network-printer.svg1
-rw-r--r--.icons/kora/devices/scalable/input-dialpad.svg11
-rw-r--r--.icons/kora/devices/scalable/input-gaming.svg24
-rw-r--r--.icons/kora/devices/scalable/input-keyboard.svg16
-rw-r--r--.icons/kora/devices/scalable/input-mouse.svg22
-rw-r--r--.icons/kora/devices/scalable/input-tablet.svg12
-rw-r--r--.icons/kora/devices/scalable/input-touchpad.svg11
l---------.icons/kora/devices/scalable/joystick.svg1
-rw-r--r--.icons/kora/devices/scalable/kde-connect.svg13
-rw-r--r--.icons/kora/devices/scalable/kdeconnect.svg14
l---------.icons/kora/devices/scalable/keyboard.svg1
l---------.icons/kora/devices/scalable/lan-segment.svg1
l---------.icons/kora/devices/scalable/laptop.svg1
l---------.icons/kora/devices/scalable/media-cdrom.svg1
-rw-r--r--.icons/kora/devices/scalable/media-flash-memory-stick.svg1
l---------.icons/kora/devices/scalable/media-flash-sd-mmc.svg1
-rw-r--r--.icons/kora/devices/scalable/media-flash-smart-media.svg1
-rw-r--r--.icons/kora/devices/scalable/media-flash.svg14
l---------.icons/kora/devices/scalable/media-floppy-3_5.svg1
-rw-r--r--.icons/kora/devices/scalable/media-floppy.svg12
l---------.icons/kora/devices/scalable/media-memory-sd.svg1
-rw-r--r--.icons/kora/devices/scalable/media-memory.svg9
-rw-r--r--.icons/kora/devices/scalable/media-optical-audio.svg1
-rw-r--r--.icons/kora/devices/scalable/media-optical-blu-ray.svg14
-rw-r--r--.icons/kora/devices/scalable/media-optical-data.svg1
l---------.icons/kora/devices/scalable/media-optical-dvd-data.svg1
l---------.icons/kora/devices/scalable/media-optical-dvd-video.svg1
-rw-r--r--.icons/kora/devices/scalable/media-optical-dvd.svg1
l---------.icons/kora/devices/scalable/media-optical-mixed-cd.svg1
-rw-r--r--.icons/kora/devices/scalable/media-optical-recordable.svg1
-rw-r--r--.icons/kora/devices/scalable/media-optical-video.svg1
-rw-r--r--.icons/kora/devices/scalable/media-optical.svg1
l---------.icons/kora/devices/scalable/media-removable.svg1
-rw-r--r--.icons/kora/devices/scalable/media-tape.svg15
l---------.icons/kora/devices/scalable/modem.svg1
l---------.icons/kora/devices/scalable/multimedia-player-apple-ipod.svg1
-rw-r--r--.icons/kora/devices/scalable/multimedia-player.svg20
-rw-r--r--.icons/kora/devices/scalable/network-card.svg12
-rw-r--r--.icons/kora/devices/scalable/network-defaultroute.svg10
-rw-r--r--.icons/kora/devices/scalable/network-modem.svg10
l---------.icons/kora/devices/scalable/network-server-database.svg1
-rw-r--r--.icons/kora/devices/scalable/network-server.svg21
-rw-r--r--.icons/kora/devices/scalable/network-vpn.svg21
-rw-r--r--.icons/kora/devices/scalable/network-wired.svg11
-rw-r--r--.icons/kora/devices/scalable/network-wireless-hotspot.svg14
-rw-r--r--.icons/kora/devices/scalable/network-wireless.svg10
l---------.icons/kora/devices/scalable/pda.svg1
l---------.icons/kora/devices/scalable/phone.svg1
l---------.icons/kora/devices/scalable/preferences-system-bluetooth-inactive.svg1
l---------.icons/kora/devices/scalable/preferences-system-bluetooth.svg1
l---------.icons/kora/devices/scalable/printer-laser.svg1
l---------.icons/kora/devices/scalable/printer-network.svg1
-rw-r--r--.icons/kora/devices/scalable/printer.svg66
l---------.icons/kora/devices/scalable/removable-media.svg1
-rw-r--r--.icons/kora/devices/scalable/scanner.svg25
l---------.icons/kora/devices/scalable/serial-port.svg1
l---------.icons/kora/devices/scalable/server-database.svg1
-rw-r--r--.icons/kora/devices/scalable/smartphone.svg13
l---------.icons/kora/devices/scalable/soundcard.svg1
l---------.icons/kora/devices/scalable/stock_cell-phone.svg1
l---------.icons/kora/devices/scalable/system.svg1
-rw-r--r--.icons/kora/devices/scalable/tablet.svg25
-rw-r--r--.icons/kora/devices/scalable/uninterruptible-power-supply.svg15
l---------.icons/kora/devices/scalable/unity-fallback-mount-helper.svg1
-rw-r--r--.icons/kora/devices/scalable/video-display.svg16
-rw-r--r--.icons/kora/devices/scalable/video-television.svg16
l---------.icons/kora/devices/scalable/vmware-memory.svg1
-rw-r--r--.icons/kora/devices/scalable/wiimotedev.svg11
188 files changed, 1384 insertions, 0 deletions
diff --git a/.icons/kora/devices/scalable/audio-card.svg b/.icons/kora/devices/scalable/audio-card.svg
new file mode 100644
index 000000000..e9589bc1a
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-card.svg
@@ -0,0 +1,16 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(0 -37.3547 36.0807 0 30.9978 49.6397)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#63984b" offset="0"/>
+ <stop stop-color="#8fc278" offset="1"/>
+ </linearGradient>
+ <linearGradient id="b" x2="1" gradientTransform="matrix(0 -24 24 0 408.571 535.798)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#2a2c2f" offset="0"/>
+ <stop stop-color="#424649" offset="1"/>
+ </linearGradient>
+ <path transform="scale(.75)" d="m61.065 18.493c0-3.426-2.781-6.208-6.207-6.208h-45.716c-3.426 0-6.207 2.782-6.207 6.208v27.014c0 3.426 2.781 6.208 6.207 6.208h45.716c3.426 0 6.207-2.782 6.207-6.208z" fill="url(#a)"/>
+ <g transform="matrix(.75 0 0 .75 -282.429 -368.848)">
+ <path d="m421.571 514.756c0-2.184-1.773-3.958-3.958-3.958h-18.083c-2.185 0-3.959 1.774-3.959 3.958v18.084c0 2.184 1.774 3.958 3.959 3.958h18.083c2.185 0 3.958-1.774 3.958-3.958z" fill="url(#b)"/>
+ <path d="m399.481 515.616v3.637h-1.819v3.636h-1.818v1.818h1.818v3.636h1.819v1.819h1.818v-3.637h1.818v-1.818h3.636v1.818h1.818v1.818h1.819v1.819h1.818v3.636h1.818v-1.818h1.818v-3.637h1.818v-1.818h1.819v-1.818h1.818v-1.818h-1.818v-1.818h-1.819v-1.818h-1.818v-3.637h-1.818v-1.818h-1.818v3.636h-1.818v1.819h-1.819v1.818h-1.818v1.818h-3.636v-1.818h-1.818v-5.455z" fill="#e0e0e0" fill-rule="nonzero"/>
+ <path d="m380.515 540.696h56.113c-.187.311-.439.64-.815 1.002h-54.484c-.311-.294-.579-.632-.814-1.002z" fill="#e6ed6e" fill-rule="nonzero"/>
+ </g>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-headphones.svg b/.icons/kora/devices/scalable/audio-headphones.svg
new file mode 120000
index 000000000..1af0d21bd
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-headphones.svg
@@ -0,0 +1 @@
+audio-headset.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/audio-headset.svg b/.icons/kora/devices/scalable/audio-headset.svg
new file mode 100644
index 000000000..25ec467a0
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-headset.svg
@@ -0,0 +1,12 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <circle cx="24" cy="24" r="22.764" style="fill:url(#_Linear1)"/>
+ <g transform="matrix(.75 0 0 .75 -282.429 -368.848)">
+ <path d="m420.498 521.55c0.034-0.117 0.035-0.24 0.035-0.368v-1.367c0-3.235-1.221-6.26-3.471-8.515-2.253-2.258-5.265-3.502-8.5-3.502-3.234 0-6.233 1.244-8.486 3.502-2.25 2.255-3.467 5.28-3.467 8.515v1.367c0 0.128 1e-3 0.251 0.035 0.368-2.062 0.163-3.709 2.362-3.709 5.042 0 2.692 1.648 4.899 3.723 5.045 0.555 0.748 1.45 1.202 2.403 1.202 1.656 0 3.002-1.348 3.002-3.006v-6.482c0-1.606-1.232-2.922-2.815-3.002v-0.534c0-5.259 4.075-9.378 9.323-9.378s9.324 4.119 9.324 9.378v0.534c-1.584 0.081-2.815 1.396-2.815 3.002v6.482c0 1.084 0.577 2.036 1.439 2.565-0.983 1.445-2.364 2.589-3.999 3.287-0.447-0.498-1.096-0.813-1.816-0.813h-3.385c-1.347 0-2.442 1.096-2.442 2.442v0.042c0 1.347 1.095 2.442 2.442 2.442h3.385c0.99 0 1.844-0.593 2.227-1.443 1.616-0.588 3.093-1.52 4.336-2.76 0.925-0.923 1.68-1.976 2.249-3.12 0.379-0.204 0.714-0.489 0.973-0.838 2.075-0.146 3.719-2.353 3.719-5.045 0-2.68-1.647-4.879-3.71-5.042z" style="fill-rule:nonzero;fill:rgb(4,46,57)"/>
+ </g>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(2.16708e-15,-35.3911,35.3911,2.16708e-15,968.766,41.2823)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(0,103,131)" offset="0"/>
+ <stop style="stop-color:rgb(19,190,227)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-heaphones.svg b/.icons/kora/devices/scalable/audio-heaphones.svg
new file mode 120000
index 000000000..1af0d21bd
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-heaphones.svg
@@ -0,0 +1 @@
+audio-headset.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/audio-input-line.svg b/.icons/kora/devices/scalable/audio-input-line.svg
new file mode 100644
index 000000000..15b004f4b
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-input-line.svg
@@ -0,0 +1 @@
+<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="399.9939" x2="399.9939" y1="545.13873" y2="518.13873"><stop offset="0" stop-color="#c52828"/><stop offset="1" stop-color="#ff5454"/></linearGradient><g fill="#fff" fill-opacity=".891129" transform="matrix(-.65057561 0 0 .65057561 45.87932 16.71264)"><circle cx="400.57138" cy="531.79791" fill="url(#a)" fill-opacity="1" r="13.999958" transform="matrix(-2.9644167 0 0 2.9644167 1208.7944 -1552.9724)"/><g fill="#fff" fill-opacity=".891129"><path d="m1.558 3.814c.353.353.815.528 1.278.528.462 0 .925-.177 1.278-.528.706-.706.706-1.852 0-2.558l-.426-.424c-.706-.706-1.85-.706-2.556 0s-.706 1.851 0 2.557z"/><path d="m3.627 5.135c0 .482.193.94.53 1.276l3.254 3.255.65.65c.337.338.795.529 1.278.529.482 0 .939-.191 1.277-.529.337-.337.53-.796.53-1.277s-.193-.939-.53-1.277l-.651-.65-3.253-3.255c-.675-.676-1.868-.676-2.555 0-.337.337-.53.795-.53 1.278z"/><path d="m42.332 35.941c-1.655-.847-3.715-1.899-6.178-3.833-.482-.378-1.063-.534-1.631-.5.22-.874.104-1.807-.338-2.611.084-.265.15-.527.18-.79.113-1.021-.204-2.017-.852-2.663l-12.355-12.356c-.226-.227-1.448-1.352-3.343-1.352-.644 0-1.509.146-2.446.668l-2.149-2.141c-.687-.687-1.88-.687-2.555 0-.349.338-.53.796-.53 1.278 0 .48.181.928.53 1.276l2.139 2.141c-.813 1.446-.72 2.76-.545 3.517.292 1.267 1.016 2.066 1.23 2.28l12.355 12.355c.264.263 1.008.874 2.248.874.402 0 .807-.07 1.213-.199.538.295 1.129.457 1.727.457.42 0 .838-.082 1.238-.229.031.676.336 1.335.908 1.784 2.83 2.221 5.217 3.44 6.961 4.334.77.393 1.709.874 2.039 1.159-.013.32-.076.459-.107.484h-39.661c-1.331 0-2.41 1.079-2.41 2.41s1.079 2.41 2.41 2.41h39.77c1.938 0 4.82-1.443 4.82-5.423 0-2.944-2.373-4.157-4.668-5.33z"/></g></g></svg> \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/audio-input-microphone.svg b/.icons/kora/devices/scalable/audio-input-microphone.svg
new file mode 100644
index 000000000..ed3908e89
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-input-microphone.svg
@@ -0,0 +1,12 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <circle cx="24" cy="24" r="22.764" style="fill:url(#_Linear1)"/>
+ <g transform="matrix(.75 0 0 .75 -4.26326e-14 0)">
+ <path d="m42.711 28.673c0.244 0.244 0.366 0.532 0.366 0.865v2.462c0 2.833-0.946 5.298-2.837 7.394s-4.227 3.298-7.009 3.606v2.538h4.922c0.334 0 0.623 0.122 0.866 0.366 0.243 0.243 0.366 0.532 0.366 0.865s-0.123 0.622-0.366 0.865c-0.243 0.244-0.532 0.366-0.866 0.366h-12.307c-0.333 0-0.622-0.122-0.865-0.366-0.244-0.243-0.366-0.532-0.366-0.865s0.122-0.622 0.366-0.865c0.243-0.244 0.532-0.366 0.865-0.366h4.923v-2.538c-2.782-0.308-5.119-1.51-7.01-3.606s-2.836-4.561-2.836-7.394v-2.462c0-0.333 0.122-0.621 0.365-0.865 0.244-0.244 0.532-0.365 0.866-0.365 0.333 0 0.622 0.121 0.865 0.365 0.244 0.244 0.366 0.532 0.366 0.865v2.462c0 2.372 0.842 4.401 2.528 6.086 1.686 1.686 3.715 2.529 6.087 2.529s4.401-0.843 6.086-2.529c1.686-1.686 2.529-3.714 2.529-6.086v-2.462c0-0.333 0.122-0.621 0.366-0.865 0.243-0.244 0.532-0.365 0.865-0.365s0.622 0.121 0.865 0.365zm-10.711 9.48c1.692 0 3.141-0.602 4.346-1.807s1.807-2.654 1.807-4.346v-9.846c0-1.692-0.602-3.141-1.807-4.346s-2.654-1.808-4.346-1.808c-1.693 0-3.141 0.603-4.346 1.808s-1.808 2.654-1.808 4.346v9.846c0 1.692 0.603 3.141 1.808 4.346s2.653 1.807 4.346 1.807z" style="fill-rule:nonzero;fill:rgb(4,46,57)"/>
+ </g>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(2.16708e-15,-35.3911,35.3911,2.16708e-15,968.766,41.2823)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(0,103,131)" offset="0"/>
+ <stop style="stop-color:rgb(19,190,227)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-center-back-testing.svg b/.icons/kora/devices/scalable/audio-speaker-center-back-testing.svg
new file mode 100644
index 000000000..852c11b4f
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-center-back-testing.svg
@@ -0,0 +1,11 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m42.792 19.981c-1.964-8.196-9.621-14.347-18.783-14.347-9.193 0-16.871 6.193-18.803 14.431-0.22 0.941 0.364 1.883 1.304 2.104 0.941 0.22 1.883-0.364 2.104-1.304 1.578-6.728 7.888-11.731 15.395-11.731 7.482 0 13.775 4.969 15.379 11.663 0.225 0.939 1.171 1.519 2.11 1.294s1.519-1.171 1.294-2.11zm-8.464 0.02c-1.087-3.604-5.25-6.439-10.323-6.439-5.092 0-9.266 2.856-10.336 6.478-0.234 0.794 0.22 1.629 1.014 1.864 0.794 0.234 1.629-0.22 1.864-1.014 0.756-2.561 3.858-4.328 7.458-4.328 3.588 0 6.682 1.756 7.451 4.305 0.239 0.793 1.077 1.242 1.869 1.003 0.793-0.239 1.242-1.077 1.003-1.869z" style="fill:rgb(14,166,200)"/>
+ <path d="m5 25.667 11 11.428v5.905c0 1 1 1 1 1h14s1 0 1-1v-5.905l11-11.428c-12.508-1.742-25.174-1.751-38 0z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <rect x="16" y="37.095" width="16" height="3.818" style="fill:rgb(110,110,110)"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(1.12254e-15,18.3325,-18.3325,1.12254e-15,24,25.6675)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(126,126,126)" offset="0"/>
+ <stop style="stop-color:rgb(159,159,159)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-center-back.svg b/.icons/kora/devices/scalable/audio-speaker-center-back.svg
new file mode 100644
index 000000000..aab94d2ba
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-center-back.svg
@@ -0,0 +1,12 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m41.09 20.389c-1.784-7.445-8.759-13.005-17.081-13.005-8.35 0-15.344 5.598-17.099 13.081" style="fill:none;stroke-width:3.5px;stroke:#848484"/>
+ <path d="m32.892 20.434c-0.928-3.076-4.557-5.372-8.887-5.372-4.345 0-7.984 2.312-8.897 5.403" style="fill:none;stroke-width:3px;stroke:#848484"/>
+ <path d="m5 25.667l11 11.428v5.905c0 1 1 1 1 1h14s1 0 1-1v-5.905l11-11.428c-12.508-1.742-25.174-1.751-38 0z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <rect x="16" y="37.095" width="16" height="3.818" style="fill:#6e6e6e"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(1.12254e-15,18.3325,-18.3325,1.12254e-15,470.527,25.6675)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#7e7e7e" offset="0"/>
+ <stop style="stop-color:#9f9f9f" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-center-testing.svg b/.icons/kora/devices/scalable/audio-speaker-center-testing.svg
new file mode 100644
index 000000000..854e9939b
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-center-testing.svg
@@ -0,0 +1,11 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m39.388 28.895c-1.604 6.694-7.897 11.663-15.379 11.663-7.507 0-13.817-5.003-15.395-11.731-0.221-0.94-1.163-1.524-2.104-1.304-0.94 0.221-1.524 1.163-1.304 2.104 1.932 8.238 9.61 14.431 18.803 14.431 9.162 0 16.819-6.151 18.783-14.347 0.225-0.939-0.355-1.885-1.294-2.11s-1.885 0.355-2.11 1.294zm-7.932-0.07c-0.769 2.548-3.863 4.305-7.451 4.305-3.6 0-6.702-1.767-7.458-4.328-0.235-0.794-1.07-1.248-1.864-1.014-0.794 0.235-1.248 1.07-1.014 1.864 1.07 3.622 5.244 6.478 10.336 6.478 5.073 0 9.236-2.836 10.323-6.439 0.239-0.792-0.21-1.63-1.003-1.869-0.792-0.239-1.63 0.21-1.869 1.003z" style="fill:rgb(14,166,200)"/>
+ <path d="m5 24.024 11-11.427v-5.905c0-1 1-1 1-1h14s1 0 1 1v5.905l11 11.427c-12.508 1.742-25.174 1.752-38 0z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <rect x="16" y="8.779" width="16" height="3.818" style="fill:rgb(110,110,110)"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(1.12254e-15,-18.3325,18.3325,1.12254e-15,232.698,24.0243)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(126,126,126)" offset="0"/>
+ <stop style="stop-color:rgb(159,159,159)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-center.svg b/.icons/kora/devices/scalable/audio-speaker-center.svg
new file mode 100644
index 000000000..c237ea6e0
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-center.svg
@@ -0,0 +1,12 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m41.09 29.279c-1.784 7.444-8.759 13.005-17.081 13.005-8.35 0-15.344-5.599-17.099-13.082" style="fill:none;stroke-width:3.5px;stroke:#848484"/>
+ <path d="m32.892 29.234c-0.928 3.075-4.557 5.372-8.887 5.372-4.345 0-7.984-2.313-8.897-5.404" style="fill:none;stroke-width:3px;stroke:#848484"/>
+ <path d="m5 24l11-11.428v-5.905c0-1 1-1 1-1h14s1 0 1 1v5.905l11 11.428c-12.508 1.742-25.174 1.752-38 0z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <rect x="16" y="8.754" width="16" height="3.818" style="fill:#6e6e6e"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(1.12254e-15,-18.3325,18.3325,1.12254e-15,127.89,24)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#7e7e7e" offset="0"/>
+ <stop style="stop-color:#9f9f9f" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-left-back-testing.svg b/.icons/kora/devices/scalable/audio-speaker-left-back-testing.svg
new file mode 100644
index 000000000..054d84d77
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-left-back-testing.svg
@@ -0,0 +1,15 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m40.373 34.225c4.407-7.185 3.342-16.949-3.137-23.427-6.5-6.501-16.308-7.55-23.499-3.09-0.821 0.509-1.074 1.589-0.565 2.409 0.509 0.821 1.589 1.074 2.409 0.565 5.873-3.642 13.873-2.717 19.18 2.591 5.292 5.291 6.227 13.255 2.628 19.122-0.505 0.823-0.246 1.902 0.577 2.407s1.902 0.246 2.407-0.577zm-5.998-5.971c1.778-3.317 0.84-8.265-2.747-11.853-3.6-3.601-8.572-4.532-11.89-2.726-0.727 0.395-0.996 1.307-0.6 2.034 0.395 0.727 1.307 0.996 2.034 0.6 2.345-1.276 5.789-0.332 8.334 2.213 2.538 2.538 3.483 5.968 2.225 8.314-0.391 0.73-0.116 1.64 0.613 2.031 0.73 0.391 1.64 0.116 2.031-0.613z" style="fill:url(#_Linear1)"/>
+ <path d="m9.629 11.523-0.302 15.859-4.176 4.175c-0.707 0.707 0 1.414 0 1.414l9.9 9.9s0.707 0.707 1.414 0l4.175-4.176 15.859-0.302c-7.612-10.077-16.562-19.039-26.87-26.87z" style="fill-rule:nonzero;fill:url(#_Linear2)"/>
+ <path d="m17.941 41.395-11.314-11.314 2.7-2.699 11.313 11.313-2.699 2.7z" style="fill:rgb(110,110,110)"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(1.43414e-15,-23.3701,23.4213,1.43101e-15,653.206,31.4402)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(0,103,131)" offset="0"/>
+ <stop style="stop-color:rgb(19,190,227)" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear2" x2="1" gradientTransform="matrix(-12.963,12.963,-12.963,-12.963,-275.681,-273.788)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(126,126,126)" offset="0"/>
+ <stop style="stop-color:rgb(159,159,159)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-left-back.svg b/.icons/kora/devices/scalable/audio-speaker-left-back.svg
new file mode 100644
index 000000000..4d197a41e
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-left-back.svg
@@ -0,0 +1,12 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m14.713 9.153c6.525-4.002 15.389-3.002 21.274 2.882 5.904 5.905 6.891 14.809 2.84 21.342" style="fill:none;stroke-width:3.5px;stroke:#848484"/>
+ <path d="m20.478 14.982c2.83-1.518 7.021-0.576 10.083 2.485 3.072 3.073 4.01 7.282 2.469 10.113" style="fill:none;stroke-width:3px;stroke:#848484"/>
+ <path d="m36.499 38.406l-15.858 0.302-4.176 4.176c-0.707 0.707-1.414 0-1.414 0l-9.9-9.9s-0.707-0.707 0-1.414l4.176-4.175 0.302-15.859c10.077 7.612 19.04 16.561 26.87 26.87z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <path d="m6.627 30.094l11.314 11.314 2.7-2.7-11.314-11.313-2.7 2.699z" style="fill:#6e6e6e"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(-12.963,12.963,-12.963,-12.963,-126.477,-124.571)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#7e7e7e" offset="0"/>
+ <stop style="stop-color:#9f9f9f" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-left-side-testing.svg b/.icons/kora/devices/scalable/audio-speaker-left-side-testing.svg
new file mode 100644
index 000000000..8c4ebb690
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-left-side-testing.svg
@@ -0,0 +1,11 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m28.698 42.792c8.196-1.964 14.347-9.621 14.347-18.783 0-9.193-6.193-16.871-14.431-18.803-0.941-0.22-1.883 0.364-2.104 1.304-0.22 0.941 0.364 1.883 1.304 2.104 6.728 1.578 11.731 7.888 11.731 15.395 0 7.482-4.969 13.775-11.663 15.379-0.939 0.225-1.519 1.171-1.294 2.11s1.171 1.519 2.11 1.294zm-0.02-8.464c3.604-1.087 6.439-5.25 6.439-10.323 0-5.092-2.856-9.266-6.478-10.336-0.794-0.234-1.629 0.22-1.864 1.014-0.234 0.794 0.22 1.629 1.014 1.864 2.561 0.756 4.328 3.858 4.328 7.458 0 3.588-1.756 6.682-4.305 7.451-0.793 0.239-1.242 1.077-1.003 1.869 0.239 0.793 1.077 1.242 1.869 1.003z" style="fill:rgb(14,166,200)"/>
+ <path d="m23.012 5-11.428 11h-5.905c-1 0-1 1-1 1v14s0 1 1 1h5.905l11.428 11c1.742-12.508 1.751-25.174 0-38z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <rect x="7.766" y="16" width="3.818" height="16" style="fill:rgb(110,110,110)"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(-18.3325,2.24508e-15,-2.24508e-15,-18.3325,23.0115,-159.325)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(126,126,126)" offset="0"/>
+ <stop style="stop-color:rgb(159,159,159)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-left-side.svg b/.icons/kora/devices/scalable/audio-speaker-left-side.svg
new file mode 100644
index 000000000..8641f46f7
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-left-side.svg
@@ -0,0 +1,12 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m28.291 6.91c7.444 1.784 13.005 8.759 13.005 17.081 0 8.35-5.599 15.344-13.082 17.099" style="fill:none;stroke-width:3.5px;stroke:#848484"/>
+ <path d="m28.246 15.108c3.075 0.928 5.372 4.557 5.372 8.887 0 4.345-2.313 7.984-5.404 8.897" style="fill:none;stroke-width:3px;stroke:#848484"/>
+ <path d="m23.012 43l-11.428-11h-5.905c-1 0-1-1-1-1v-14s0-1 1-1h5.905l11.428-11c1.742 12.508 1.752 25.174 0 38z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <rect x="7.766" y="16" width="3.818" height="16" style="fill:#6e6e6e"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(-18.3325,2.24508e-15,-2.24508e-15,-18.3325,23.0121,-67.6625)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#7e7e7e" offset="0"/>
+ <stop style="stop-color:#9f9f9f" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-left-testing.svg b/.icons/kora/devices/scalable/audio-speaker-left-testing.svg
new file mode 100644
index 000000000..16e6e61ec
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-left-testing.svg
@@ -0,0 +1,11 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m14.109 39.442c7.185 4.407 16.948 3.342 23.426-3.136 6.502-6.501 7.55-16.309 3.091-23.5-0.509-0.821-1.588-1.074-2.409-0.565s-1.074 1.588-0.565 2.409c3.641 5.873 2.717 13.873-2.591 19.182-5.29 5.29-13.255 6.225-19.122 2.626-0.823-0.505-1.902-0.246-2.407 0.577s-0.246 1.902 0.577 2.407zm5.971-5.998c3.317 1.778 8.265 0.84 11.853-2.747 3.6-3.6 4.531-8.572 2.727-11.89-0.396-0.727-1.308-0.996-2.035-0.601-0.727 0.396-0.996 1.308-0.601 2.035 1.276 2.345 0.332 5.789-2.213 8.334-2.537 2.538-5.967 3.483-8.313 2.225-0.73-0.391-1.64-0.116-2.031 0.613-0.391 0.73-0.116 1.64 0.613 2.031z" style="fill:rgb(14,166,200)"/>
+ <path d="m36.811 8.699-15.859-0.303-4.175-4.175c-0.707-0.707-1.415 0-1.415 0l-9.899 9.899s-0.707 0.707 0 1.414l4.175 4.176 0.303 15.859c10.076-7.613 19.039-16.563 26.87-26.87z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <path d="m6.939 17.01 11.313-11.314 2.7 2.7-11.314 11.314-2.699-2.7z" style="fill:rgb(110,110,110)"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(-12.963,-12.963,12.963,-12.963,124.662,-79.1536)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(126,126,126)" offset="0"/>
+ <stop style="stop-color:rgb(159,159,159)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-left.svg b/.icons/kora/devices/scalable/audio-speaker-left.svg
new file mode 100644
index 000000000..ad3f713b2
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-left.svg
@@ -0,0 +1,12 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m39.18 13.795c4.002 6.525 3.002 15.39-2.883 21.274-5.904 5.904-14.809 6.891-21.341 2.84" style="fill:none;stroke-width:4.4px;stroke:#848484"/>
+ <path d="m33.351 19.56c1.518 2.831 0.576 7.021-2.486 10.083-3.072 3.072-7.281 4.01-10.112 2.47" style="fill:none;stroke-width:3px;stroke:#848484"/>
+ <path d="m9.927 35.582l-0.302-15.859-4.176-4.176c-0.707-0.707 0-1.414 0-1.414l9.9-9.899s0.707-0.708 1.414 0l4.175 4.175 15.859 0.303c-7.612 10.076-16.562 19.039-26.87 26.87z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <path d="m18.239 5.709l-11.314 11.314 2.7 2.7 11.313-11.314-2.699-2.7z" style="fill:#6e6e6e"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(-12.963,-12.963,12.963,-12.963,74.1685,-28.6596)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#7e7e7e" offset="0"/>
+ <stop style="stop-color:#9f9f9f" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-mono-testing.svg b/.icons/kora/devices/scalable/audio-speaker-mono-testing.svg
new file mode 100644
index 000000000..076b330db
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-mono-testing.svg
@@ -0,0 +1,4 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m4 24c0-8.352 5.142-15.429 12.403-18.399 0.58-0.232 1.238-0.16 1.755 0.19s0.827 0.934 0.827 1.559c0.015 0.081 0.015 0.16 0.015 0.238 0 0.769-0.464 1.462-1.175 1.755-5.693 2.406-9.686 8.077-9.686 14.657s3.993 12.251 9.683 14.665c0.707 0.292 1.169 0.982 1.169 1.747 9e-3 0.078 9e-3 0.157 9e-3 0.238 0 0.63-0.312 1.219-0.833 1.572-0.522 0.354-1.185 0.426-1.77 0.192-7.255-2.985-12.397-10.062-12.397-18.414zm40 0c0 8.282-5.056 15.311-12.214 18.34-0.623 0.256-1.332 0.185-1.891-0.19-0.56-0.374-0.895-1.003-0.895-1.677 0 0 0-1e-3 0.01-2e-3 0-0.799 0.48-1.52 1.219-1.828 5.663-2.426 9.632-8.083 9.632-14.643s-3.969-12.217-9.636-14.635c-0.741-0.309-1.225-1.033-1.225-1.836 0-1e-3 0-2e-3 0.017-2e-3 0-0.668 0.333-1.291 0.887-1.663 0.555-0.371 1.258-0.442 1.875-0.188 7.165 3.013 12.221 10.042 12.221 18.324z" style="fill-rule:nonzero;fill:rgb(14,166,200)"/>
+ <circle cx="24" cy="24" r="10" style="fill:rgb(126,126,126)"/>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-mono.svg b/.icons/kora/devices/scalable/audio-speaker-mono.svg
new file mode 100644
index 000000000..ff97fc9aa
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-mono.svg
@@ -0,0 +1,5 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m4 24c0-8.283 5.057-15.313 12.224-18.325 0.617-0.253 1.319-0.183 1.873 0.188 0.553 0.371 0.886 0.994 0.886 1.661 0.017 0 0.017 0 0.017 1e-3 0 0.805-0.485 1.532-1.228 1.841-5.665 2.419-9.633 8.075-9.633 14.634 0 6.558 3.967 12.214 9.628 14.641 0.741 0.309 1.223 1.033 1.223 1.836h0.01c0 0.672-0.335 1.3-0.894 1.675-0.558 0.374-1.267 0.445-1.889 0.189-7.16-3.028-12.217-10.058-12.217-18.341z" style="fill-rule:nonzero;fill:#ababab"/>
+ <path d="m44 24c0-8.279-5.053-15.307-12.215-18.321-0.618-0.255-1.323-0.184-1.878 0.188-0.556 0.372-0.89 0.997-0.89 1.665-0.017 1e-3 -0.017 2e-3 -0.017 3e-3 0 0.8 0.481 1.521 1.22 1.828 5.669 2.416 9.641 8.075 9.641 14.637s-3.972 12.221-9.638 14.646c-0.735 0.305-1.213 1.023-1.213 1.819-0.01 1e-3 -0.01 2e-3 -0.01 3e-3 0 0.674 0.336 1.305 0.897 1.68 0.56 0.376 1.271 0.447 1.895 0.19 7.155-3.031 12.208-10.059 12.208-18.338z" style="fill-rule:nonzero;fill:#ababab"/>
+ <circle cx="24" cy="24" r="10" style="fill:#7e7e7e"/>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-right-back-testing.svg b/.icons/kora/devices/scalable/audio-speaker-right-back-testing.svg
new file mode 100644
index 000000000..c68305af2
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-right-back-testing.svg
@@ -0,0 +1,11 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m34.19 7.591c-7.185-4.407-16.949-3.342-23.427 3.137-6.501 6.5-7.55 16.309-3.09 23.5 0.509 0.821 1.589 1.074 2.409 0.565 0.821-0.509 1.074-1.589 0.565-2.409-3.642-5.873-2.717-13.874 2.591-19.181 5.291-5.292 13.255-6.227 19.122-2.628 0.823 0.505 1.902 0.246 2.407-0.577s0.246-1.902-0.577-2.407zm-5.971 5.998c-3.317-1.778-8.265-0.84-11.853 2.747-3.6 3.6-4.532 8.573-2.726 11.89 0.395 0.727 1.307 0.996 2.034 0.6 0.727-0.395 0.996-1.307 0.6-2.034-1.276-2.345-0.331-5.789 2.214-8.334 2.537-2.538 5.967-3.483 8.313-2.225 0.73 0.391 1.64 0.116 2.031-0.613 0.391-0.73 0.116-1.64-0.613-2.031z" style="fill:rgb(14,166,200)"/>
+ <path d="m11.488 38.335 15.859 0.302 4.175 4.176c0.707 0.707 1.414 0 1.414 0l9.9-9.9s0.707-0.707 0-1.414l-4.175-4.175-0.303-15.859c-10.077 7.613-19.039 16.562-26.87 26.87z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <path d="m41.36 30.023-11.314 11.314-2.699-2.7 11.314-11.313 2.699 2.699z" style="fill:rgb(110,110,110)"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(12.963,12.963,-12.963,12.963,-272.319,322.141)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(126,126,126)" offset="0"/>
+ <stop style="stop-color:rgb(159,159,159)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-right-back.svg b/.icons/kora/devices/scalable/audio-speaker-right-back.svg
new file mode 100644
index 000000000..d852fccab
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-right-back.svg
@@ -0,0 +1,12 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m9.105 33.238c-4.002-6.526-3.002-15.39 2.883-21.274 5.904-5.905 14.808-6.891 21.341-2.841" style="fill:none;stroke-width:3.5px;stroke:#848484"/>
+ <path d="m14.934 27.473c-1.518-2.831-0.576-7.021 2.486-10.083 3.072-3.072 7.281-4.01 10.112-2.47" style="fill:none;stroke-width:3px;stroke:#848484"/>
+ <path d="m38.358 11.451l0.302 15.859 4.176 4.175c0.707 0.708 0 1.415 0 1.415l-9.9 9.899s-0.707 0.707-1.414 0l-4.175-4.175-15.859-0.303c7.612-10.076 16.561-19.04 26.87-26.87z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <path d="m30.046 41.323l11.314-11.313-2.7-2.7-11.313 11.314 2.699 2.699z" style="fill:#6e6e6e"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(12.963,12.963,-12.963,12.963,-123.517,173.326)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#7e7e7e" offset="0"/>
+ <stop style="stop-color:#9f9f9f" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-right-side-testing.svg b/.icons/kora/devices/scalable/audio-speaker-right-side-testing.svg
new file mode 100644
index 000000000..8f9826329
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-right-side-testing.svg
@@ -0,0 +1,11 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m19.36 5.208c-8.196 1.964-14.347 9.621-14.347 18.783 0 9.193 6.193 16.871 14.432 18.803 0.941 0.22 1.883-0.364 2.104-1.304 0.22-0.941-0.364-1.883-1.304-2.104-6.729-1.578-11.732-7.888-11.732-15.395 0-7.482 4.969-13.775 11.663-15.379 0.939-0.225 1.519-1.171 1.294-2.11s-1.171-1.519-2.11-1.294zm0.02 8.464c-3.603 1.087-6.439 5.25-6.439 10.323 0 5.092 2.857 9.266 6.479 10.336 0.794 0.234 1.629-0.22 1.864-1.014 0.234-0.794-0.22-1.629-1.014-1.864-2.561-0.756-4.329-3.858-4.329-7.458 0-3.588 1.757-6.682 4.305-7.451 0.793-0.239 1.242-1.077 1.003-1.869-0.239-0.793-1.077-1.242-1.869-1.003z" style="fill:rgb(14,166,200)"/>
+ <path d="m25.047 43 11.428-11h5.904c1 0 1-1 1-1v-14s0-1-1-1h-5.904l-11.428-11c-1.742 12.508-1.752 25.174 0 38z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <rect x="36.475" y="16" width="3.817" height="16" style="fill:rgb(110,110,110)"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(18.3325,0,0,18.3325,25.0468,207.325)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(126,126,126)" offset="0"/>
+ <stop style="stop-color:rgb(159,159,159)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-right-side.svg b/.icons/kora/devices/scalable/audio-speaker-right-side.svg
new file mode 100644
index 000000000..8e61f4df3
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-right-side.svg
@@ -0,0 +1,12 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m19.768 41.09c-7.444-1.784-13.005-8.759-13.005-17.081 0-8.35 5.599-15.344 13.082-17.099" style="fill:none;stroke-width:3.5px;stroke:#848484"/>
+ <path d="m19.813 32.892c-3.075-0.928-5.372-4.557-5.372-8.887 0-4.345 2.313-7.984 5.404-8.897" style="fill:none;stroke-width:3px;stroke:#848484"/>
+ <path d="m25.047 5l11.428 11h5.905c1 0 1 1 1 1v14s0 1-1 1h-5.905l-11.428 11c-1.742-12.508-1.752-25.174 0-38z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <rect x="36.475" y="16" width="3.818" height="16" style="fill:#6e6e6e"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(18.3325,0,0,18.3325,25.0475,115.662)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#7e7e7e" offset="0"/>
+ <stop style="stop-color:#9f9f9f" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-right-testing.svg b/.icons/kora/devices/scalable/audio-speaker-right-testing.svg
new file mode 100644
index 000000000..c965759a9
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-right-testing.svg
@@ -0,0 +1,11 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m7.878 13.773c-4.407 7.185-3.343 16.947 3.137 23.426 6.5 6.501 16.308 7.55 23.499 3.09 0.821-0.509 1.074-1.589 0.565-2.409-0.509-0.821-1.589-1.074-2.409-0.565-5.873 3.642-13.873 2.717-19.181-2.59-5.291-5.291-6.226-13.255-2.627-19.122 0.505-0.823 0.246-1.902-0.577-2.407s-1.902-0.246-2.407 0.577zm5.998 5.97c-1.778 3.317-0.84 8.266 2.747 11.854 3.6 3.6 8.572 4.531 11.89 2.727 0.727-0.396 0.996-1.308 0.601-2.035-0.396-0.727-1.308-0.996-2.035-0.601-2.345 1.276-5.789 0.332-8.334-2.213-2.538-2.537-3.483-5.968-2.225-8.314 0.391-0.73 0.116-1.64-0.613-2.031-0.73-0.391-1.64-0.116-2.031 0.613z" style="fill:rgb(14,166,200)"/>
+ <path d="m38.622 36.474 0.302-15.858 4.175-4.176c0.708-0.707 0-1.414 0-1.414l-9.899-9.899s-0.707-0.707-1.414 0l-4.176 4.175-15.858 0.302c7.612 10.077 16.562 19.04 26.87 26.87z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <path d="m30.31 6.602 11.314 11.314-2.7 2.7-11.314-11.314 2.7-2.7z" style="fill:rgb(110,110,110)"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(12.963,-12.963,12.963,12.963,149.963,147.816)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(126,126,126)" offset="0"/>
+ <stop style="stop-color:rgb(159,159,159)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-right.svg b/.icons/kora/devices/scalable/audio-speaker-right.svg
new file mode 100644
index 000000000..0775d36b6
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-right.svg
@@ -0,0 +1,12 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m33.525 38.857c-6.525 4.002-15.389 3.003-21.274-2.882-5.904-5.904-6.89-14.809-2.84-21.341" style="fill:none;stroke-width:3.5px;stroke:#848484"/>
+ <path d="m27.76 33.029c-2.83 1.518-7.021 0.576-10.082-2.486-3.073-3.072-4.01-7.281-2.47-10.112" style="fill:none;stroke-width:3px;stroke:#848484"/>
+ <path d="m11.739 9.605l15.859-0.303 4.175-4.175c0.707-0.707 1.414 0 1.414 0l9.9 9.899s0.707 0.707 0 1.415l-4.176 4.175-0.302 15.859c-10.076-7.613-19.04-16.562-26.87-26.87z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <path d="m41.611 17.916l-11.314-11.313-2.699 2.699 11.313 11.314 2.7-2.7z" style="fill:#6e6e6e"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(12.963,-12.963,12.963,12.963,87.5617,85.428)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#7e7e7e" offset="0"/>
+ <stop style="stop-color:#9f9f9f" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speaker-testing.svg b/.icons/kora/devices/scalable/audio-speaker-testing.svg
new file mode 120000
index 000000000..57c89ccea
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speaker-testing.svg
@@ -0,0 +1 @@
+audio-speaker-right-testing.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/audio-speakers.svg b/.icons/kora/devices/scalable/audio-speakers.svg
new file mode 100644
index 000000000..43298df3e
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speakers.svg
@@ -0,0 +1,12 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <circle cx="24" cy="24" r="22.764" style="fill:url(#_Linear1)"/>
+ <g transform="scale(.75)">
+ <path d="m23.467 16c-4.267 0-4.267 4.267-4.267 4.267v23.466c0 4.267 4.039 4.259 4.267 4.267h17.066s4.267-8e-3 4.267-4.267v-23.466c0-4.267-4.267-4.267-4.267-4.267h-17.066zm8.533 4.267c1.182 0 2.133 0.958 2.133 2.133s-0.951 2.133-2.133 2.133-2.133-0.958-2.133-2.133 0.951-2.133 2.133-2.133zm0 6.4c4.713 0 8.533 3.82 8.533 8.533s-3.82 8.533-8.533 8.533-8.533-3.82-8.533-8.533 3.82-8.533 8.533-8.533zm0 4.266c-2.356 0-4.267 1.911-4.267 4.267s1.911 4.267 4.267 4.267 4.267-1.911 4.267-4.267-1.911-4.267-4.267-4.267z" style="fill-rule:nonzero;fill:rgb(4,46,57)"/>
+ </g>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(2.16708e-15,-35.3911,35.3911,2.16708e-15,968.766,41.2823)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(0,103,131)" offset="0"/>
+ <stop style="stop-color:rgb(19,190,227)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-speakers2.svg b/.icons/kora/devices/scalable/audio-speakers2.svg
new file mode 100644
index 000000000..b7a79a526
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-speakers2.svg
@@ -0,0 +1,10 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <circle cx="24" cy="24" r="22.764" style="fill:url(#_Linear1)"/>
+ <path d="m24 12c-0.295 0-0.551 0.125-0.767 0.375l-5.676 6.572h-4.466c-0.296 0-0.551 0.126-0.767 0.375-0.216 0.25-0.324 0.547-0.324 0.889v7.578c0 0.342 0.108 0.639 0.324 0.888 0.216 0.25 0.472 0.376 0.767 0.376h4.466l5.676 6.572c0.216 0.25 0.471 0.375 0.767 0.375 0.295 0 0.551-0.125 0.767-0.375s0.324-0.546 0.324-0.888v-21.474c0-0.342-0.108-0.638-0.324-0.888s-0.471-0.375-0.767-0.375zm10.551 17.575c-0.966 1.704-2.245 2.944-3.835 3.721-0.148 0.065-0.29 0.099-0.426 0.099-0.307 0-0.568-0.125-0.785-0.376-0.215-0.249-0.323-0.546-0.323-0.888 0-0.513 0.221-0.901 0.665-1.164 0.636-0.382 1.068-0.671 1.295-0.869 0.841-0.71 1.497-1.601 1.969-2.674 0.471-1.072 0.707-2.214 0.707-3.424 0-1.211-0.236-2.352-0.707-3.425-0.472-1.072-1.128-1.963-1.969-2.674-0.227-0.197-0.659-0.487-1.295-0.868-0.444-0.264-0.665-0.652-0.665-1.165 0-0.342 0.108-0.638 0.323-0.888 0.217-0.25 0.472-0.375 0.768-0.375 0.147 0 0.295 0.033 0.443 0.098 1.59 0.777 2.869 2.017 3.835 3.721s1.449 3.563 1.449 5.576-0.483 3.872-1.449 5.575zm-3.639-2.783c-0.483 0.862-1.122 1.477-1.918 1.846-0.113 0.066-0.256 0.099-0.426 0.099-0.295 0-0.551-0.122-0.767-0.366-0.216-0.243-0.324-0.542-0.324-0.898 0-0.276 0.068-0.509 0.205-0.7 0.136-0.191 0.301-0.356 0.494-0.494s0.386-0.289 0.58-0.454c0.193-0.164 0.358-0.398 0.494-0.7 0.136-0.303 0.204-0.678 0.204-1.126 0-0.447-0.068-0.822-0.204-1.125-0.136-0.302-0.301-0.536-0.494-0.7-0.194-0.165-0.387-0.316-0.58-0.454s-0.358-0.303-0.494-0.494c-0.137-0.191-0.205-0.424-0.205-0.701 0-0.355 0.108-0.654 0.324-0.898 0.216-0.243 0.472-0.365 0.767-0.365 0.17 0 0.313 0.033 0.426 0.099 0.796 0.355 1.434 0.967 1.918 1.835 0.483 0.869 0.724 1.804 0.724 2.804s-0.241 1.931-0.724 2.792z" style="fill-rule:nonzero;fill:rgb(4,46,57)"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(2.16708e-15,-35.3911,35.3911,2.16708e-15,968.766,41.2823)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(0,103,131)" offset="0"/>
+ <stop style="stop-color:rgb(19,190,227)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-subwoofer-testing.svg b/.icons/kora/devices/scalable/audio-subwoofer-testing.svg
new file mode 100644
index 000000000..e94c69950
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-subwoofer-testing.svg
@@ -0,0 +1,12 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(-.506203 -42 42 -.506203 388.014 40.6128)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#939393" offset="0"/>
+ <stop stop-color="#c5cfce" offset="1"/>
+ </linearGradient>
+ <path transform="translate(-.4455)" d="m37.02 1.667c2.783 0 5.039 2.257 5.039 5.04v34.586c0 2.783-2.256 5.04-5.039 5.04h-25.149c-2.783 0-5.039-2.257-5.039-5.04v-34.586c0-2.783 2.256-5.04 5.039-5.04z" fill="url(#a)" fill-rule="nonzero"/>
+ <circle cx="24" cy="37.69437" r="3.827" fill="#221c1c"/>
+ <g transform="matrix(0 -1 -1 0 0 -2.42587)">
+ <circle cx="-21" cy="-24" r="11" fill="#221c1c"/>
+ <circle cx="-21" cy="-24" r="5" fill="#0057ff"/>
+ </g>
+</svg>
diff --git a/.icons/kora/devices/scalable/audio-subwoofer.svg b/.icons/kora/devices/scalable/audio-subwoofer.svg
new file mode 100644
index 000000000..96fbc2cf4
--- /dev/null
+++ b/.icons/kora/devices/scalable/audio-subwoofer.svg
@@ -0,0 +1,14 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(0 -34.7211 27.3837 0 983.505 40.9551)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#006783" offset="0"/>
+ <stop stop-color="#13bee3" offset="1"/>
+ </linearGradient>
+ <linearGradient id="b" x2="1" gradientTransform="matrix(0 -25.712 25.712 0 24 31.712)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#3a3a3a" offset="0"/>
+ <stop stop-color="#020202" offset="1"/>
+ </linearGradient>
+ <path transform="translate(-.4455)" d="m37.02 1.667c2.783 0 5.039 2.257 5.039 5.04v34.586c0 2.783-2.256 5.04-5.039 5.04h-25.149c-2.783 0-5.039-2.257-5.039-5.04v-34.586c0-2.783 2.256-5.04 5.039-5.04z" fill="url(#a)" fill-rule="nonzero"/>
+ <path transform="matrix(1.1136 0 0 1.1136 -2.72645 -2.72645)" d="m36.856 18.856c0-7.095-5.761-12.856-12.856-12.856s-12.856 5.761-12.856 12.856c0 7.096 5.761 12.856 12.856 12.856s12.856-5.76 12.856-12.856z" fill="url(#b)"/>
+ <path transform="matrix(1.1136 0 0 1.1136 -2.72645 -2.72645)" d="m29.844 18.856c0-3.225-2.619-5.844-5.844-5.844s-5.844 2.619-5.844 5.844 2.619 5.844 5.844 5.844 5.844-2.619 5.844-5.844z" fill="#00a0ff"/>
+ <circle cx="24.0001" cy="38.78881" r="4.7998371" fill="#dedede" stroke-width="1.37768"/>
+</svg>
diff --git a/.icons/kora/devices/scalable/battery.svg b/.icons/kora/devices/scalable/battery.svg
new file mode 100644
index 000000000..f66226b64
--- /dev/null
+++ b/.icons/kora/devices/scalable/battery.svg
@@ -0,0 +1,15 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m32.325 5.811c0-1.936-1.57-3.506-3.506-3.506h-9.638c-1.936 0-3.506 1.57-3.506 3.506v0.494h16.65v-0.494z" style="fill:#8e8e8e"/>
+ <path d="m40 12.463c0-3.567-2.896-6.463-6.463-6.463h-19.074c-3.567 0-6.463 2.896-6.463 6.463v26.711c0 3.568 2.896 6.464 6.463 6.464h19.074c3.567 0 6.463-2.896 6.463-6.464v-26.711z" style="fill:url(#_Linear1)"/>
+ <path d="m14.467 9.804c-1.915 0-3.467 1.552-3.467 3.467v5.788h26v-5.788c0-1.915-1.552-3.467-3.467-3.467h-19.066zm-3.467 11.569v9.254h26v-9.254h-26zm0 11.568v5.788c0 1.915 1.552 3.467 3.467 3.467h19.066c1.915 0 3.467-1.552 3.467-3.467v-5.788h-26z" style="fill-rule:nonzero;fill:url(#_Linear2)"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(2.20436e-15,-39.6377,36,2.42711e-15,24,45.6377)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#2f2f2f" offset="0"/>
+ <stop style="stop-color:#4f4f4f" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear2" x2="1" gradientTransform="matrix(1.71025e-15,-32.3117,27.9305,1.97852e-15,24,42.1157)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#00ffb3" offset="0"/>
+ <stop style="stop-color:#c0f957" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/blueman-camera.svg b/.icons/kora/devices/scalable/blueman-camera.svg
new file mode 120000
index 000000000..2849f9385
--- /dev/null
+++ b/.icons/kora/devices/scalable/blueman-camera.svg
@@ -0,0 +1 @@
+camera-photo.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/blueman-cellular.svg b/.icons/kora/devices/scalable/blueman-cellular.svg
new file mode 120000
index 000000000..383406fc4
--- /dev/null
+++ b/.icons/kora/devices/scalable/blueman-cellular.svg
@@ -0,0 +1 @@
+phone.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/blueman-desktop.svg b/.icons/kora/devices/scalable/blueman-desktop.svg
new file mode 120000
index 000000000..d890a06c6
--- /dev/null
+++ b/.icons/kora/devices/scalable/blueman-desktop.svg
@@ -0,0 +1 @@
+computer.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/blueman-device.svg b/.icons/kora/devices/scalable/blueman-device.svg
new file mode 120000
index 000000000..195bf0717
--- /dev/null
+++ b/.icons/kora/devices/scalable/blueman-device.svg
@@ -0,0 +1 @@
+bluetooth.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/blueman-handheld.svg b/.icons/kora/devices/scalable/blueman-handheld.svg
new file mode 120000
index 000000000..bd3c13415
--- /dev/null
+++ b/.icons/kora/devices/scalable/blueman-handheld.svg
@@ -0,0 +1 @@
+input-tablet.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/blueman-handsfree.svg b/.icons/kora/devices/scalable/blueman-handsfree.svg
new file mode 120000
index 000000000..3f0ee3efc
--- /dev/null
+++ b/.icons/kora/devices/scalable/blueman-handsfree.svg
@@ -0,0 +1 @@
+audio-headphones.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/blueman-headset.svg b/.icons/kora/devices/scalable/blueman-headset.svg
new file mode 120000
index 000000000..3f0ee3efc
--- /dev/null
+++ b/.icons/kora/devices/scalable/blueman-headset.svg
@@ -0,0 +1 @@
+audio-headphones.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/blueman-keyboard.svg b/.icons/kora/devices/scalable/blueman-keyboard.svg
new file mode 120000
index 000000000..ff417223d
--- /dev/null
+++ b/.icons/kora/devices/scalable/blueman-keyboard.svg
@@ -0,0 +1 @@
+input-keyboard.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/blueman-laptop.svg b/.icons/kora/devices/scalable/blueman-laptop.svg
new file mode 120000
index 000000000..a19553813
--- /dev/null
+++ b/.icons/kora/devices/scalable/blueman-laptop.svg
@@ -0,0 +1 @@
+computer-laptop.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/blueman-loudspeaker.svg b/.icons/kora/devices/scalable/blueman-loudspeaker.svg
new file mode 120000
index 000000000..fcba5c94d
--- /dev/null
+++ b/.icons/kora/devices/scalable/blueman-loudspeaker.svg
@@ -0,0 +1 @@
+audio-speakers.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/blueman-mouse.svg b/.icons/kora/devices/scalable/blueman-mouse.svg
new file mode 120000
index 000000000..e81935d80
--- /dev/null
+++ b/.icons/kora/devices/scalable/blueman-mouse.svg
@@ -0,0 +1 @@
+input-mouse.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/blueman-pointing.svg b/.icons/kora/devices/scalable/blueman-pointing.svg
new file mode 120000
index 000000000..e81935d80
--- /dev/null
+++ b/.icons/kora/devices/scalable/blueman-pointing.svg
@@ -0,0 +1 @@
+input-mouse.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/blueman-scanner.svg b/.icons/kora/devices/scalable/blueman-scanner.svg
new file mode 120000
index 000000000..490a5aa3c
--- /dev/null
+++ b/.icons/kora/devices/scalable/blueman-scanner.svg
@@ -0,0 +1 @@
+scanner.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/blueman-server.svg b/.icons/kora/devices/scalable/blueman-server.svg
new file mode 120000
index 000000000..84ab20350
--- /dev/null
+++ b/.icons/kora/devices/scalable/blueman-server.svg
@@ -0,0 +1 @@
+network-wired.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/blueman-smart-phone.svg b/.icons/kora/devices/scalable/blueman-smart-phone.svg
new file mode 120000
index 000000000..9a05e5c33
--- /dev/null
+++ b/.icons/kora/devices/scalable/blueman-smart-phone.svg
@@ -0,0 +1 @@
+smartphone.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/bluetooth-48.svg b/.icons/kora/devices/scalable/bluetooth-48.svg
new file mode 120000
index 000000000..195bf0717
--- /dev/null
+++ b/.icons/kora/devices/scalable/bluetooth-48.svg
@@ -0,0 +1 @@
+bluetooth.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/bluetooth-active.svg b/.icons/kora/devices/scalable/bluetooth-active.svg
new file mode 120000
index 000000000..195bf0717
--- /dev/null
+++ b/.icons/kora/devices/scalable/bluetooth-active.svg
@@ -0,0 +1 @@
+bluetooth.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/bluetooth-black.svg b/.icons/kora/devices/scalable/bluetooth-black.svg
new file mode 100644
index 000000000..b0ef7c4e5
--- /dev/null
+++ b/.icons/kora/devices/scalable/bluetooth-black.svg
@@ -0,0 +1 @@
+<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientTransform="matrix(0 -1 1 0 -.000002 47.999998)" gradientUnits="userSpaceOnUse" x1="1" x2="47"><stop offset="0" stop-color="#2e2e2e"/><stop offset="1" stop-color="#505050"/></linearGradient><linearGradient id="b" gradientUnits="userSpaceOnUse" x1="197.88585" x2="183.32736" y1="364.75723" y2="12.945999"><stop offset="0" stop-color="#197cf1"/><stop offset="1" stop-color="#20bcfa"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="172.17424" x2="172.17424" xlink:href="#a" y1="352.17371" y2="12.945999"/><linearGradient id="d" gradientUnits="userSpaceOnUse" x1="197.88585" x2="183.32736" xlink:href="#a" y1="364.75723" y2="12.945999"/><g transform="translate(-384.57143 -499.798)"><ellipse cx="408.57144" cy="524.86047" fill="#fff" fill-rule="evenodd" rx="11.625" ry="17.1875"/><g fill="url(#b)" transform="matrix(.12777778 0 0 .12777778 385.57143 500.798)"><path d="m180.003 0c-66.28 0-120.003 53.723-120.003 120v120c0 66.277 53.723 120 120.003 120 66.274 0 119.997-53.723 119.997-120v-120c0-66.277-53.723-120-119.997-120zm69.364 224.128c2.705 2.168 4.279 5.448 4.279 8.915s-1.574 6.746-4.279 8.915l-71.652 57.439c-2.067 1.657-4.597 2.511-7.148 2.511-1.68 0-3.369-.371-4.942-1.125-3.961-1.901-6.481-5.906-6.481-10.3v-82.024l-34.182 27.632c-2.114 1.709-4.653 2.541-7.176 2.541-3.331 0-6.634-1.45-8.892-4.243-3.967-4.907-3.204-12.101 1.703-16.068l47.385-38.306-47.385-38.306c-4.907-3.967-5.67-11.161-1.703-16.068 3.967-4.908 11.162-5.669 16.068-1.703l34.182 27.632v-82.051c0-4.394 2.52-8.399 6.481-10.3 3.962-1.901 8.663-1.362 12.091 1.386l71.652 57.441c2.705 2.168 4.279 5.448 4.279 8.914s-1.574 6.746-4.279 8.915l-55.046 44.125z" fill="url(#c)"/><path d="m223.954 126.959-41.96-33.638v67.275z" fill="url(#d)"/><path d="m223.954 233.042-41.96-33.638v67.275z" fill="url(#d)"/></g></g></svg> \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/bluetooth-inactive.svg b/.icons/kora/devices/scalable/bluetooth-inactive.svg
new file mode 100644
index 000000000..8640c3c23
--- /dev/null
+++ b/.icons/kora/devices/scalable/bluetooth-inactive.svg
@@ -0,0 +1 @@
+<svg height="48" width="48" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient gradientUnits="userSpaceOnUse" x1="197.88585" x2="183.32736" y1="364.75723" y2="12.945999"><stop offset="0" stop-color="#197cf1"/><stop offset="1" stop-color="#20bcfa"/></linearGradient><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="197.88585" x2="183.32736" y1="364.75723" y2="12.945999"><stop offset="0" stop-color="#6c6d6e"/><stop offset="1" stop-color="#9b9c9e"/></linearGradient><g transform="translate(-384.57143 -499.798)"><ellipse cx="408.57144" cy="524.86047" fill="#fff" fill-rule="evenodd" rx="11.625" ry="17.1875"/><g fill="url(#a)" transform="matrix(.12777778 0 0 .12777778 385.57143 500.798)"><path d="m180.003 0c-66.28 0-120.003 53.723-120.003 120v120c0 66.277 53.723 120 120.003 120 66.274 0 119.997-53.723 119.997-120v-120c0-66.277-53.723-120-119.997-120zm69.364 224.128c2.705 2.168 4.279 5.448 4.279 8.915s-1.574 6.746-4.279 8.915l-71.652 57.439c-2.067 1.657-4.597 2.511-7.148 2.511-1.68 0-3.369-.371-4.942-1.125-3.961-1.901-6.481-5.906-6.481-10.3v-82.024l-34.182 27.632c-2.114 1.709-4.653 2.541-7.176 2.541-3.331 0-6.634-1.45-8.892-4.243-3.967-4.907-3.204-12.101 1.703-16.068l47.385-38.306-47.385-38.306c-4.907-3.967-5.67-11.161-1.703-16.068 3.967-4.908 11.162-5.669 16.068-1.703l34.182 27.632v-82.051c0-4.394 2.52-8.399 6.481-10.3 3.962-1.901 8.663-1.362 12.091 1.386l71.652 57.441c2.705 2.168 4.279 5.448 4.279 8.914s-1.574 6.746-4.279 8.915l-55.046 44.125z"/><path d="m223.954 126.959-41.96-33.638v67.275z"/><path d="m223.954 233.042-41.96-33.638v67.275z"/></g></g></svg> \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/bluetooth-radio.svg b/.icons/kora/devices/scalable/bluetooth-radio.svg
new file mode 120000
index 000000000..195bf0717
--- /dev/null
+++ b/.icons/kora/devices/scalable/bluetooth-radio.svg
@@ -0,0 +1 @@
+bluetooth.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/bluetooth.svg b/.icons/kora/devices/scalable/bluetooth.svg
new file mode 100644
index 000000000..dc42c1856
--- /dev/null
+++ b/.icons/kora/devices/scalable/bluetooth.svg
@@ -0,0 +1,12 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <g transform="matrix(.127778 0 0 .127778 1 1)">
+ <path d="M180.003,0C113.723,0 60,53.723 60,120L60,240C60,306.277 113.723,360 180.003,360C246.277,360 300,306.277 300,240L300,120C300,53.723 246.277,0 180.003,0Z" style="fill:url(#_Linear1)"/>
+ </g>
+ <path d="m32.864 29.639c0.345 0.277 0.546 0.696 0.546 1.139s-0.201 0.862-0.546 1.139l-9.156 7.339c-0.264 0.212-0.587 0.321-0.913 0.321-0.215 0-0.431-0.047-0.632-0.144-0.506-0.243-0.828-0.754-0.828-1.316v-10.481l-4.368 3.531c-0.27 0.219-0.594 0.325-0.917 0.325-0.425 0-0.847-0.185-1.136-0.542-0.507-0.627-0.409-1.547 0.218-2.053l6.055-4.895-6.055-4.895c-0.627-0.507-0.725-1.426-0.218-2.053s1.426-0.724 2.053-0.217l4.368 3.53v-10.484c0-0.561 0.322-1.073 0.828-1.316s1.107-0.174 1.545 0.177l9.156 7.34c0.345 0.277 0.546 0.696 0.546 1.139s-0.201 0.862-0.546 1.139l-7.034 5.638 7.034 5.639zm-3.248 1.139-5.361-4.299v8.597l5.361-4.298zm0-13.555-5.361-4.299v8.597l5.361-4.298z" style="fill:white"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(1.14237e-14,-279.846,186.564,1.71356e-14,5160.32,316.655)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(0,103,131)" offset="0"/>
+ <stop style="stop-color:rgb(19,190,227)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/bluetoothradio.svg b/.icons/kora/devices/scalable/bluetoothradio.svg
new file mode 120000
index 000000000..195bf0717
--- /dev/null
+++ b/.icons/kora/devices/scalable/bluetoothradio.svg
@@ -0,0 +1 @@
+bluetooth.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/bus-usb.svg b/.icons/kora/devices/scalable/bus-usb.svg
new file mode 120000
index 000000000..62992d8f6
--- /dev/null
+++ b/.icons/kora/devices/scalable/bus-usb.svg
@@ -0,0 +1 @@
+drive-removable-media-usb.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/camera-photo.svg b/.icons/kora/devices/scalable/camera-photo.svg
new file mode 100644
index 000000000..5cc3ca323
--- /dev/null
+++ b/.icons/kora/devices/scalable/camera-photo.svg
@@ -0,0 +1,20 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(.0571222 -29.1323 29.1323 .0571222 704.369 42.1566)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#333" offset="0"/>
+ <stop stop-color="#828282" offset="1"/>
+ </linearGradient>
+ <linearGradient id="b" x2="1" gradientTransform="matrix(2.4e-7 -18.6016 18.6016 2.4e-7 650.396 35.5558)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#a7a7a7" offset="0"/>
+ <stop stop-color="#3b3b3b" offset="1"/>
+ </linearGradient>
+ <linearGradient id="c" x2="1" gradientTransform="matrix(0 -13.0097 13.0097 0 599.652 32.6079)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#006783" offset="0"/>
+ <stop stop-color="#13bee3" offset="1"/>
+ </linearGradient>
+ <path d="m29.66 9.58c-.624-1.49-2.082-2.461-3.699-2.461h-12.494c-1.553 0-2.967.898-3.628 2.304-1.078 2.293-2.573 5.473-2.573 5.473h24.62s-1.272-3.037-2.226-5.316z" fill="#808080"/>
+ <path d="m46.992 17.358c0-1.503-.598-2.945-1.661-4.009-1.063-1.063-2.505-1.66-4.009-1.66h-34.644c-1.504 0-2.946.597-4.009 1.66-1.063 1.064-1.661 2.506-1.661 4.009v17.794c0 1.503.598 2.945 1.661 4.009 1.063 1.063 2.505 1.66 4.009 1.66h34.644c1.504 0 2.946-.597 4.009-1.66 1.063-1.064 1.661-2.506 1.661-4.009z" fill="url(#a)"/>
+ <circle cx="38.252" cy="17.187" r="2.291" fill="#00f47c"/>
+ <circle cx="19.653" cy="26.255" r="11.837" fill="#ebebeb"/>
+ <circle cx="19.653" cy="26.255" r="9.301" fill="url(#b)"/>
+ <circle cx="19.653" cy="26.255" r="8.368" fill="url(#c)"/>
+</svg>
diff --git a/.icons/kora/devices/scalable/camera-video.svg b/.icons/kora/devices/scalable/camera-video.svg
new file mode 100644
index 000000000..f6e05cdb7
--- /dev/null
+++ b/.icons/kora/devices/scalable/camera-video.svg
@@ -0,0 +1,20 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(-.506203 -42 42 -.506203 388.014 40.6128)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#323232" offset="0"/>
+ <stop stop-color="#767676" offset="1"/>
+ </linearGradient>
+ <linearGradient id="b" x2="1" gradientTransform="matrix(2.4e-7 -18.6016 18.6016 2.4e-7 650.396 35.5558)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#a7a7a7" offset="0"/>
+ <stop stop-color="#3b3b3b" offset="1"/>
+ </linearGradient>
+ <linearGradient id="c" x2="1" gradientTransform="matrix(0 -13.0097 13.0097 0 599.652 32.6079)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#006783" offset="0"/>
+ <stop stop-color="#13bee3" offset="1"/>
+ </linearGradient>
+ <path transform="translate(-.4455)" d="m37.02 1.667c2.783 0 5.039 2.257 5.039 5.04v34.586c0 2.783-2.256 5.04-5.039 5.04h-25.149c-2.783 0-5.039-2.257-5.039-5.04v-34.586c0-2.783 2.256-5.04 5.039-5.04z" fill="url(#a)" fill-rule="nonzero"/>
+ <circle transform="matrix(0 -1 -1 0 -.467207 -2.04436)" cx="-9" cy="-37" r="2" fill="#cf0000"/>
+ <path d="m14 36c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1zm4 0c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1zm4 0c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1zm4 0c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1zm-10 3c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1zm4 0c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1zm4 0c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1z"/>
+ <circle cx="24" cy="20.79264" r="11.837" fill="#ebebeb"/>
+ <circle transform="translate(4.347 -5.46236)" cx="19.653" cy="26.255" r="9.301" fill="url(#b)"/>
+ <circle transform="translate(4.347 -5.46236)" cx="19.653" cy="26.255" r="8.368" fill="url(#c)"/>
+</svg>
diff --git a/.icons/kora/devices/scalable/camera-web.svg b/.icons/kora/devices/scalable/camera-web.svg
new file mode 100644
index 000000000..89adc48fd
--- /dev/null
+++ b/.icons/kora/devices/scalable/camera-web.svg
@@ -0,0 +1,21 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m46.645 12.677c0-6.249-5.073-11.322-11.322-11.322h-22.646c-6.249 0-11.322 5.073-11.322 11.322v22.646c0 6.249 5.073 11.322 11.322 11.322h22.646c6.249 0 11.322-5.073 11.322-11.322v-22.646z" style="fill:url(#_Linear1)"/>
+ <circle cx="23.824" cy="5.783" r="2.291" style="fill:rgb(0,244,124)"/>
+ <circle cx="24" cy="24" r="14.457" style="fill:rgb(235,235,235)"/>
+ <circle cx="24" cy="24" r="11.36" style="fill:url(#_Linear2)"/>
+ <circle cx="24" cy="24" r="10.22" style="fill:url(#_Linear3)"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(2.77323e-15,-45.2903,45.2903,2.77323e-15,85.3684,46.6452)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(37,37,37)" offset="0"/>
+ <stop style="stop-color:rgb(103,103,103)" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear2" x2="1" gradientTransform="matrix(2.97865e-7 -22.7196 22.7196 2.97865e-7 311.176 35.3598)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(167,167,167)" offset="0"/>
+ <stop style="stop-color:rgb(59,59,59)" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear3" x2="1" gradientTransform="matrix(9.72922e-16,-15.889,15.889,9.72922e-16,448.157,31.759)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(0,103,131)" offset="0"/>
+ <stop style="stop-color:rgb(19,190,227)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/camera.svg b/.icons/kora/devices/scalable/camera.svg
new file mode 120000
index 000000000..2849f9385
--- /dev/null
+++ b/.icons/kora/devices/scalable/camera.svg
@@ -0,0 +1 @@
+camera-photo.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/com.github.bajoja.indicator-kdeconnect.svg b/.icons/kora/devices/scalable/com.github.bajoja.indicator-kdeconnect.svg
new file mode 120000
index 000000000..af028f18e
--- /dev/null
+++ b/.icons/kora/devices/scalable/com.github.bajoja.indicator-kdeconnect.svg
@@ -0,0 +1 @@
+kdeconnect.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/computer-laptop.svg b/.icons/kora/devices/scalable/computer-laptop.svg
new file mode 100644
index 000000000..660e180da
--- /dev/null
+++ b/.icons/kora/devices/scalable/computer-laptop.svg
@@ -0,0 +1,22 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(.244639 -17.0027 17.0027 .244639 9516.23 683.106)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#c1c3c3" offset="0"/>
+ <stop stop-color="#e6e7e8" offset="1"/>
+ </linearGradient>
+ <linearGradient id="b" x2="1" gradientTransform="matrix(.0733702 -5.3359 5.3359 .0733702 3269.26 580.806)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#b1b1b1" offset="0"/>
+ <stop stop-color="#9aacb2" offset="1"/>
+ </linearGradient>
+ <linearGradient id="c" x2="1" gradientTransform="matrix(0 -31.5475 27.6386 0 436.556 33.8791)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#0084b6" offset="0"/>
+ <stop stop-color="#02eeff" offset="1"/>
+ </linearGradient>
+ <path transform="matrix(.75 0 0 .75 -282.386 -364.931)" d="m388.069 535.735 41.766-.01c5.586 0 7.315.624 7.783 1.912l1.745 4.815-61.565-.062 1.826-4.842c.859-2.271 4.773-1.813 8.445-1.813z" fill="url(#a)" fill-rule="nonzero"/>
+ <path transform="matrix(.75 0 0 .75 -282.386 -364.931)" d="m388.019 536.173c9.22 0 40.977-.033 40.977-.033 5.39 0 7.401.733 7.826 1.987l.981 2.904c.082.241-.268.439-.601.439h-57.387c-.333 0-.692-.2-.601-.439l1.173-3.085c.815-2.149 3.845-1.773 7.632-1.773z" fill="url(#b)" fill-rule="nonzero"/>
+ <path transform="matrix(.75098 0 0 .75 .040926 3.91727)" d="m1.096 50.612h61.554v1.08h-61.554z" fill="#ccc"/>
+ <circle cx="44.940002" cy="42.281029" r=".22452563" fill="#08f" stroke-width=".379908"/>
+ <g transform="translate(0 2.98173)">
+ <path d="m39.44 33.88h-30.88c-3.438 0-6.228-2.79-6.228-6.228v-19.092c0-3.438 2.79-6.228 6.228-6.228h30.88c3.438 0 6.228 2.79 6.228 6.228v19.092c0 3.438-2.79 6.228-6.228 6.228z" fill="url(#c)"/>
+ <path d="m39.44 33.88h-30.88c-3.438 0-6.228-2.79-6.228-6.228v-19.092c0-3.438 2.79-6.228 6.228-6.228h30.88c3.438 0 6.228 2.79 6.228 6.228v19.092c0 3.438-2.79 6.228-6.228 6.228zm0-1c2.886 0 5.228-2.342 5.228-5.228v-19.092c0-2.886-2.342-5.228-5.228-5.228h-30.88c-2.886 0-5.228 2.342-5.228 5.228v19.092c0 2.886 2.342 5.228 5.228 5.228z" fill="#3e3e3e"/>
+ </g>
+</svg>
diff --git a/.icons/kora/devices/scalable/computer.svg b/.icons/kora/devices/scalable/computer.svg
new file mode 100644
index 000000000..06640da2c
--- /dev/null
+++ b/.icons/kora/devices/scalable/computer.svg
@@ -0,0 +1,16 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(0 -10.6328 10.6328 0 945.782 54.7328)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#6b6b6b" offset="0"/>
+ <stop stop-color="#474747" offset="1"/>
+ </linearGradient>
+ <linearGradient id="b" x2="1" gradientTransform="matrix(0 -31.5475 27.6386 0 436.556 33.8791)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#0084b6" offset="0"/>
+ <stop stop-color="#02eeff" offset="1"/>
+ </linearGradient>
+ <path transform="matrix(.75 0 0 .75 0 5.32088)" d="m24.462 40.093h15.076v7.9h-15.076z" fill="url(#a)" fill-rule="nonzero"/>
+ <path transform="matrix(1 0 0 1.13354 -.019583 -8.62106)" d="m35.789 43.478c0-.574-.528-1.039-1.178-1.039h-21.184c-.65 0-1.178.465-1.178 1.039v1.151c0 .573.528 1.039 1.178 1.039h21.184c.65 0 1.178-.466 1.178-1.039z" fill="#a4a4a4"/>
+ <g transform="translate(0 2.52247)">
+ <path d="m39.44 33.88h-30.88c-3.438 0-6.228-2.79-6.228-6.228v-19.092c0-3.438 2.79-6.228 6.228-6.228h30.88c3.438 0 6.228 2.79 6.228 6.228v19.092c0 3.438-2.79 6.228-6.228 6.228z" fill="url(#b)"/>
+ <path d="m39.44 33.88h-30.88c-3.438 0-6.228-2.79-6.228-6.228v-19.092c0-3.438 2.79-6.228 6.228-6.228h30.88c3.438 0 6.228 2.79 6.228 6.228v19.092c0 3.438-2.79 6.228-6.228 6.228zm0-1c2.886 0 5.228-2.342 5.228-5.228v-19.092c0-2.886-2.342-5.228-5.228-5.228h-30.88c-2.886 0-5.228 2.342-5.228 5.228v19.092c0 2.886 2.342 5.228 5.228 5.228z" fill="#3e3e3e"/>
+ </g>
+</svg>
diff --git a/.icons/kora/devices/scalable/cpu.svg b/.icons/kora/devices/scalable/cpu.svg
new file mode 100644
index 000000000..dd46865c3
--- /dev/null
+++ b/.icons/kora/devices/scalable/cpu.svg
@@ -0,0 +1,29 @@
+<svg width="100%" height="100%" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;">
+ <g transform="matrix(1.11075,0,0,1.11075,-426.298,-558.927)">
+ <g transform="matrix(0.752467,0,0,0.752467,100.349,130.37)">
+ <path d="M426.555,506.235C426.555,504.805 425.396,503.646 423.966,503.646C416.401,503.646 394.395,503.646 386.831,503.646C385.401,503.646 384.241,504.805 384.241,506.235C384.241,513.799 384.241,535.806 384.241,543.37C384.241,544.8 385.401,545.96 386.831,545.96C394.395,545.96 416.401,545.96 423.966,545.96C425.396,545.96 426.555,544.8 426.555,543.37C426.555,535.806 426.555,513.799 426.555,506.235Z" style="fill:rgb(66,66,66);"/>
+ </g>
+ <g transform="matrix(0.752467,0,0,0.752467,100.349,129.906)">
+ <path d="M426.555,506.235C426.555,504.805 425.396,503.646 423.966,503.646C416.401,503.646 394.395,503.646 386.831,503.646C385.401,503.646 384.241,504.805 384.241,506.235C384.241,513.799 384.241,535.806 384.241,543.37C384.241,544.8 385.401,545.96 386.831,545.96C394.395,545.96 416.401,545.96 423.966,545.96C425.396,545.96 426.555,544.8 426.555,543.37C426.555,535.806 426.555,513.799 426.555,506.235Z" style="fill:url(#_Linear1);"/>
+ </g>
+ <g transform="matrix(0.752467,0,0,0.752467,100.349,129.906)">
+ <path d="M395.145,513.085C394.334,513.085 393.68,513.607 393.68,514.256L393.68,535.348C393.68,535.997 394.334,536.521 395.145,536.521L415.651,536.521C416.463,536.521 417.116,535.997 417.116,535.348L417.116,514.256C417.116,513.607 416.463,513.085 415.651,513.085L395.145,513.085Z" style="fill:url(#_Linear2);fill-rule:nonzero;"/>
+ </g>
+ <g transform="matrix(0.900289,0,0,0.900289,383.791,503.196)">
+ <path d="M8.413,32.493C9.092,32.493 9.642,33.043 9.642,33.722C9.642,34.4 9.092,34.95 8.413,34.95L4.221,34.95C3.542,34.95 2.992,34.4 2.992,33.722C2.992,33.043 3.542,32.493 4.221,32.493L8.413,32.493ZM8.413,26.024C9.092,26.024 9.642,26.575 9.642,27.253C9.642,27.931 9.092,28.482 8.413,28.482L4.221,28.482C3.542,28.482 2.992,27.931 2.992,27.253C2.992,26.575 3.542,26.024 4.221,26.024L8.413,26.024ZM8.413,19.556C9.092,19.556 9.642,20.106 9.642,20.784C9.642,21.463 9.092,22.013 8.413,22.013L4.221,22.013C3.542,22.013 2.992,21.463 2.992,20.784C2.992,20.106 3.542,19.556 4.221,19.556L8.413,19.556ZM8.413,13.05C9.092,13.05 9.642,13.6 9.642,14.278C9.642,14.957 9.092,15.507 8.413,15.507L4.221,15.507C3.542,15.507 2.992,14.957 2.992,14.278C2.992,13.6 3.542,13.05 4.221,13.05L8.413,13.05Z" style="fill:rgb(13,74,107);"/>
+ </g>
+ <g transform="matrix(5.51268e-17,-0.900289,0.900289,5.51268e-17,383.791,546.41)">
+ <path d="M8.413,32.493C9.092,32.493 9.642,33.043 9.642,33.722C9.642,34.4 9.092,34.95 8.413,34.95L4.221,34.95C3.542,34.95 2.992,34.4 2.992,33.722C2.992,33.043 3.542,32.493 4.221,32.493L8.413,32.493ZM8.413,26.024C9.092,26.024 9.642,26.575 9.642,27.253C9.642,27.931 9.092,28.482 8.413,28.482L4.221,28.482C3.542,28.482 2.992,27.931 2.992,27.253C2.992,26.575 3.542,26.024 4.221,26.024L8.413,26.024ZM8.413,19.556C9.092,19.556 9.642,20.106 9.642,20.784C9.642,21.463 9.092,22.013 8.413,22.013L4.221,22.013C3.542,22.013 2.992,21.463 2.992,20.784C2.992,20.106 3.542,19.556 4.221,19.556L8.413,19.556ZM8.413,13.05C9.092,13.05 9.642,13.6 9.642,14.278C9.642,14.957 9.092,15.507 8.413,15.507L4.221,15.507C3.542,15.507 2.992,14.957 2.992,14.278C2.992,13.6 3.542,13.05 4.221,13.05L8.413,13.05Z" style="fill:rgb(13,74,107);"/>
+ </g>
+ <g transform="matrix(0.900289,0,0,0.900289,415.631,503.196)">
+ <path d="M8.413,32.493C9.092,32.493 9.642,33.043 9.642,33.722C9.642,34.4 9.092,34.95 8.413,34.95L4.221,34.95C3.542,34.95 2.992,34.4 2.992,33.722C2.992,33.043 3.542,32.493 4.221,32.493L8.413,32.493ZM8.413,26.024C9.092,26.024 9.642,26.575 9.642,27.253C9.642,27.931 9.092,28.482 8.413,28.482L4.221,28.482C3.542,28.482 2.992,27.931 2.992,27.253C2.992,26.575 3.542,26.024 4.221,26.024L8.413,26.024ZM8.413,19.556C9.092,19.556 9.642,20.106 9.642,20.784C9.642,21.463 9.092,22.013 8.413,22.013L4.221,22.013C3.542,22.013 2.992,21.463 2.992,20.784C2.992,20.106 3.542,19.556 4.221,19.556L8.413,19.556ZM8.413,13.05C9.092,13.05 9.642,13.6 9.642,14.278C9.642,14.957 9.092,15.507 8.413,15.507L4.221,15.507C3.542,15.507 2.992,14.957 2.992,14.278C2.992,13.6 3.542,13.05 4.221,13.05L8.413,13.05Z" style="fill:rgb(13,74,107);"/>
+ </g>
+ <g transform="matrix(5.51268e-17,-0.900289,0.900289,5.51268e-17,383.791,514.57)">
+ <path d="M8.413,32.493C9.092,32.493 9.642,33.043 9.642,33.722C9.642,34.4 9.092,34.95 8.413,34.95L4.221,34.95C3.542,34.95 2.992,34.4 2.992,33.722C2.992,33.043 3.542,32.493 4.221,32.493L8.413,32.493ZM8.413,26.024C9.092,26.024 9.642,26.575 9.642,27.253C9.642,27.931 9.092,28.482 8.413,28.482L4.221,28.482C3.542,28.482 2.992,27.931 2.992,27.253C2.992,26.575 3.542,26.024 4.221,26.024L8.413,26.024ZM8.413,19.556C9.092,19.556 9.642,20.106 9.642,20.784C9.642,21.463 9.092,22.013 8.413,22.013L4.221,22.013C3.542,22.013 2.992,21.463 2.992,20.784C2.992,20.106 3.542,19.556 4.221,19.556L8.413,19.556ZM8.413,13.05C9.092,13.05 9.642,13.6 9.642,14.278C9.642,14.957 9.092,15.507 8.413,15.507L4.221,15.507C3.542,15.507 2.992,14.957 2.992,14.278C2.992,13.6 3.542,13.05 4.221,13.05L8.413,13.05Z" style="fill:rgb(13,74,107);"/>
+ </g>
+ </g>
+ <defs>
+ <linearGradient id="_Linear1" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-1.62745,-39.0587,39.0587,-1.62745,407.026,544.332)"><stop offset="0" style="stop-color:rgb(41,113,195);stop-opacity:1"/><stop offset="1" style="stop-color:rgb(131,187,255);stop-opacity:1"/></linearGradient>
+ <linearGradient id="_Linear2" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.43499e-15,-23.4352,23.4352,1.43499e-15,405.398,536.52)"><stop offset="0" style="stop-color:rgb(208,208,208);stop-opacity:1"/><stop offset="1" style="stop-color:rgb(241,238,238);stop-opacity:1"/></linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/cs-bluetooth.svg b/.icons/kora/devices/scalable/cs-bluetooth.svg
new file mode 120000
index 000000000..195bf0717
--- /dev/null
+++ b/.icons/kora/devices/scalable/cs-bluetooth.svg
@@ -0,0 +1 @@
+bluetooth.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/device_cpu.svg b/.icons/kora/devices/scalable/device_cpu.svg
new file mode 120000
index 000000000..347775659
--- /dev/null
+++ b/.icons/kora/devices/scalable/device_cpu.svg
@@ -0,0 +1 @@
+cpu.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/device_mem.svg b/.icons/kora/devices/scalable/device_mem.svg
new file mode 120000
index 000000000..f19a62edd
--- /dev/null
+++ b/.icons/kora/devices/scalable/device_mem.svg
@@ -0,0 +1 @@
+gnome-dev-memory.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/device_pci.svg b/.icons/kora/devices/scalable/device_pci.svg
new file mode 120000
index 000000000..bc137ffd4
--- /dev/null
+++ b/.icons/kora/devices/scalable/device_pci.svg
@@ -0,0 +1 @@
+network-card.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/device_serial.svg b/.icons/kora/devices/scalable/device_serial.svg
new file mode 100644
index 000000000..3010df388
--- /dev/null
+++ b/.icons/kora/devices/scalable/device_serial.svg
@@ -0,0 +1,13 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(0 -24 24 0 24 36)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#6f6f6f" offset="0"/>
+ <stop stop-color="#8e8e8e" offset="1"/>
+ </linearGradient>
+ <path d="m44 17.595c0-3.088-2.507-5.595-5.595-5.595h-28.81c-3.088 0-5.595 2.507-5.595 5.595v12.81c0 3.088 2.507 5.595 5.595 5.595h28.81c3.088 0 5.595-2.507 5.595-5.595z" fill="url(#a)"/>
+ <path d="m10 21.818v4.364c0 1.003-.815 1.818-1.818 1.818h-4.364c-1.003 0-1.818-.815-1.818-1.818v-4.364c0-1.003.815-1.818 1.818-1.818h4.364c1.003 0 1.818.815 1.818 1.818zm36 0v4.364c0 1.003-.815 1.818-1.818 1.818h-4.364c-1.003 0-1.818-.815-1.818-1.818v-4.364c0-1.003.815-1.818 1.818-1.818h4.364c1.003 0 1.818.815 1.818 1.818z" fill="#b3b3b3"/>
+ <path d="m6 22c1.104 0 2 .896 2 2s-.896 2-2 2-2-.896-2-2 .896-2 2-2zm36 0c1.104 0 2 .896 2 2s-.896 2-2 2-2-.896-2-2 .896-2 2-2z" fill="#242424"/>
+ <g fill-rule="nonzero">
+ <path d="m12.017 16h23.966c1.106 0 2.179.907 1.997 2l-1.997 12c-.182 1.093-.891 2-1.997 2h-19.972c-1.106 0-1.815-.907-1.997-2l-1.997-12c-.182-1.093.891-2 1.997-2z" fill="#00ded9"/>
+ <path d="m15 19c-1.097 0-2 .903-2 2s.903 2 2 2 2-.903 2-2-.903-2-2-2zm6 0c-1.097 0-2 .903-2 2s.903 2 2 2 2-.903 2-2-.903-2-2-2zm6 0c-1.097 0-2 .903-2 2s.903 2 2 2 2-.903 2-2-.903-2-2-2zm6 0c-1.097 0-2 .903-2 2s.903 2 2 2 2-.903 2-2-.903-2-2-2zm-15 6c-1.097 0-2 .903-2 2s.903 2 2 2 2-.903 2-2-.903-2-2-2zm6 0c-1.097 0-2 .903-2 2s.903 2 2 2 2-.903 2-2-.903-2-2-2zm6 0c-1.097 0-2 .903-2 2s.903 2 2 2 2-.903 2-2-.903-2-2-2z" fill="#242424"/>
+ </g>
+</svg>
diff --git a/.icons/kora/devices/scalable/device_usb.svg b/.icons/kora/devices/scalable/device_usb.svg
new file mode 100644
index 000000000..485da43ec
--- /dev/null
+++ b/.icons/kora/devices/scalable/device_usb.svg
@@ -0,0 +1,8 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(0 -43.336 43.336 0 24 45.668)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#2d48a6" offset="0"/>
+ <stop stop-color="#0068ff" offset="1"/>
+ </linearGradient>
+ <path d="m39.44 45.668h-30.88c-3.438 0-6.228-2.79-6.228-6.228v-30.88c0-3.438 2.79-6.228 6.228-6.228h30.88c3.438 0 6.228 2.79 6.228 6.228v30.88c0 3.438-2.79 6.228-6.228 6.228z" fill="url(#a)"/>
+ <path d="m14.591 23.732c-1.71-.444-2.974-1.999-2.974-3.847 0-2.193 1.781-3.973 3.974-3.973s3.974 1.78 3.974 3.973c0 1.848-1.264 3.403-2.974 3.847v3.042h6.409v-12.815h-4l4.982-7.972 4.982 7.972h-3.964v12.815h6.373v-2.774h-1.023c-1.097 0-1.987-.89-1.987-1.987v-3.974c0-1.097.89-1.987 1.987-1.987h4.046c1.096 0 1.987.89 1.987 1.987v3.974c0 1.097-.891 1.987-1.987 1.987h-1.023v3.774c0 .552-.448 1-1 1h-7.373v3.41c1.701.45 2.956 2.001 2.956 3.842 0 2.193-1.781 3.974-3.974 3.974s-3.974-1.781-3.974-3.974c0-1.854 1.273-3.414 2.992-3.851v-3.401h-7.409c-.552 0-1-.448-1-1z" fill="#fff"/>
+</svg>
diff --git a/.icons/kora/devices/scalable/display.svg b/.icons/kora/devices/scalable/display.svg
new file mode 120000
index 000000000..d890a06c6
--- /dev/null
+++ b/.icons/kora/devices/scalable/display.svg
@@ -0,0 +1 @@
+computer.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/drive-harddisk-gnome.svg b/.icons/kora/devices/scalable/drive-harddisk-gnome.svg
new file mode 100644
index 000000000..ccb83bf4c
--- /dev/null
+++ b/.icons/kora/devices/scalable/drive-harddisk-gnome.svg
@@ -0,0 +1,31 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m42.349 46.686h-36.695c-1.91 0-3.627-1.181-3.745-3.086-0.095-1.546-0.601-6.867-0.602-6.878h45.389c-1e-3 0.011-0.507 5.332-0.602 6.878-0.118 1.905-1.835 3.086-3.745 3.086z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <path d="m44.067 4.555c-0.152-1.832-1.682-3.241-3.52-3.241h-33.091c-1.838 0-3.368 1.409-3.52 3.241-0.587 7.112-1.988 24.061-2.617 31.677-0.081 0.984 0.253 1.957 0.921 2.683 0.669 0.727 1.611 1.14 2.598 1.14h38.327c0.987 0 1.929-0.413 2.598-1.14 0.668-0.726 1.002-1.699 0.921-2.683-0.629-7.616-2.03-24.565-2.617-31.677z" style="fill:url(#_Linear2)"/>
+ <path d="m33.494 43.661c0-0.166-0.066-0.326-0.184-0.444-0.118-0.117-0.278-0.184-0.444-0.184h-17.589c-0.167 0-0.327 0.067-0.444 0.184-0.118 0.118-0.184 0.278-0.184 0.444v8e-3c0 0.167 0.066 0.327 0.184 0.444 0.117 0.118 0.277 0.184 0.444 0.184h17.589c0.166 0 0.326-0.066 0.444-0.184 0.118-0.117 0.184-0.277 0.184-0.444v-8e-3z" style="fill:url(#_Linear3)"/>
+ <circle cx="37.572" cy="43.448" r="1.745" style="fill:url(#_Linear4)"/>
+ <path d="m38.349 43.104c-0.061-0.122-0.147-0.224-0.257-0.306-0.032-0.025-0.068-0.034-0.108-0.029s-0.072 0.024-0.096 0.057c-0.024 0.032-0.033 0.067-0.027 0.107 5e-3 0.04 0.024 0.072 0.056 0.096 0.074 0.056 0.131 0.125 0.172 0.206 0.04 0.081 0.061 0.167 0.061 0.259 0 0.079-0.016 0.154-0.046 0.225-0.031 0.072-0.072 0.134-0.125 0.186-0.052 0.052-0.114 0.094-0.185 0.124-0.072 0.031-0.147 0.046-0.226 0.046s-0.154-0.015-0.225-0.046c-0.072-0.03-0.134-0.072-0.186-0.124s-0.094-0.114-0.124-0.186c-0.031-0.071-0.046-0.146-0.046-0.225 0-0.092 0.02-0.178 0.06-0.259 0.041-0.081 0.098-0.15 0.172-0.206 0.032-0.024 0.051-0.056 0.057-0.096 5e-3 -0.039-4e-3 -0.075-0.028-0.107-0.024-0.033-0.055-0.052-0.095-0.057s-0.076 4e-3 -0.109 0.029c-0.11 0.082-0.196 0.184-0.257 0.306s-0.091 0.252-0.091 0.39c0 0.118 0.023 0.231 0.069 0.338 0.046 0.108 0.108 0.201 0.186 0.279s0.171 0.14 0.279 0.186c0.107 0.046 0.22 0.069 0.338 0.069s0.231-0.023 0.339-0.069c0.107-0.046 0.2-0.108 0.278-0.186s0.14-0.171 0.186-0.279c0.046-0.107 0.069-0.22 0.069-0.338 0-0.138-0.03-0.268-0.091-0.39zm-0.781 0.39c0.039 0 0.074-0.015 0.102-0.043 0.029-0.029 0.044-0.063 0.044-0.103v-0.727c0-0.039-0.015-0.073-0.044-0.102-0.028-0.029-0.063-0.043-0.102-0.043s-0.073 0.014-0.102 0.043-0.043 0.063-0.043 0.102v0.727c0 0.04 0.014 0.074 0.043 0.103 0.029 0.028 0.063 0.043 0.102 0.043z" style="fill-rule:nonzero;fill:#e3e8ea"/>
+ <path d="m26.084 26.121c-0.18-1.21 4.836-1.943 4.443-0.115-0.514 2.398-3.264 4.291-5.648 4.291-4.845 0-9.489-4.955-8.582-8.526 1.341-5.281 13.117-6.32 13.763-2.945 0.778 4.066-11.027 5.55-6.582 8.526 1.397 0.935 2.822 0.219 2.606-1.231zm-9.236-7.798c1.023-0.396 0.132-4.266-1.607-3.211-1.738 1.056 0.585 3.606 1.607 3.211zm2.881-2.026c1.217-0.218 1.284-4.608-0.887-3.82-2.171 0.787-0.329 4.039 0.887 3.82zm11.677-6.285c-4.8 0-5.7 6.01-3 6.01 2.699 0 7.799-6.01 3-6.01zm-7.97 5.266c1.438 0.077 3.015-4.824 0.313-4.516-2.701 0.308-1.751 4.438-0.313 4.516z" style="fill-rule:nonzero;fill:#a1a7ae"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(44.2944 -.186744 .186744 44.2944 1.86165 42.9324)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#1a1a1a" offset="0"/>
+ <stop style="stop-color:#2c2c2e" offset=".11"/>
+ <stop style="stop-color:#2b2b2d" offset=".29"/>
+ <stop style="stop-color:#2a2b2d" offset=".51"/>
+ <stop style="stop-color:#2b2b2d" offset=".75"/>
+ <stop style="stop-color:#323232" offset=".9"/>
+ <stop style="stop-color:#171717" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear2" x2="1" gradientTransform="matrix(-.00154162 -38.7406 38.7406 -.00154162 24.0015 40.0548)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#bbbec4" offset="0"/>
+ <stop style="stop-color:#dcdee1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear3" x2="1" gradientTransform="matrix(18.8308,0,0,18.8308,14.6558,43.5669)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#197cf1" offset="0"/>
+ <stop style="stop-color:#20bcfa" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear4" x2="1" gradientTransform="matrix(2.13662e-16,-3.48937,3.48937,2.13662e-16,37.712,44.9756)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#040404;stop-opacity:.45" offset="0"/>
+ <stop style="stop-color:#121212;stop-opacity:.41" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/drive-harddisk-ieee1394.svg b/.icons/kora/devices/scalable/drive-harddisk-ieee1394.svg
new file mode 100644
index 000000000..bb5590aaa
--- /dev/null
+++ b/.icons/kora/devices/scalable/drive-harddisk-ieee1394.svg
@@ -0,0 +1,31 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m42.349 46.686h-36.695c-1.91 0-3.627-1.181-3.745-3.086-0.095-1.546-0.601-6.867-0.602-6.878h45.389c-1e-3 0.011-0.507 5.332-0.602 6.878-0.118 1.905-1.835 3.086-3.745 3.086z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <path d="m44.067 4.555c-0.152-1.832-1.682-3.241-3.52-3.241h-33.091c-1.838 0-3.368 1.409-3.52 3.241-0.587 7.112-1.988 24.061-2.617 31.677-0.081 0.984 0.253 1.957 0.921 2.683 0.669 0.727 1.611 1.14 2.598 1.14h38.327c0.987 0 1.929-0.413 2.598-1.14 0.668-0.726 1.002-1.699 0.921-2.683-0.629-7.616-2.03-24.565-2.617-31.677z" style="fill:url(#_Linear2)"/>
+ <path d="m33.494 43.661c0-0.166-0.066-0.326-0.184-0.444-0.118-0.117-0.278-0.184-0.444-0.184h-17.589c-0.167 0-0.327 0.067-0.444 0.184-0.118 0.118-0.184 0.278-0.184 0.444v8e-3c0 0.167 0.066 0.327 0.184 0.444 0.117 0.118 0.277 0.184 0.444 0.184h17.589c0.166 0 0.326-0.066 0.444-0.184 0.118-0.117 0.184-0.277 0.184-0.444v-8e-3z" style="fill:url(#_Linear3)"/>
+ <circle cx="37.572" cy="43.448" r="1.745" style="fill:url(#_Linear4)"/>
+ <path d="m38.349 43.104c-0.061-0.122-0.147-0.224-0.257-0.306-0.032-0.025-0.068-0.034-0.108-0.029s-0.072 0.024-0.096 0.057c-0.024 0.032-0.033 0.067-0.027 0.107 5e-3 0.04 0.024 0.072 0.056 0.096 0.074 0.056 0.131 0.125 0.172 0.206 0.04 0.081 0.061 0.167 0.061 0.259 0 0.079-0.016 0.154-0.046 0.225-0.031 0.072-0.072 0.134-0.125 0.186-0.052 0.052-0.114 0.094-0.185 0.124-0.072 0.031-0.147 0.046-0.226 0.046s-0.154-0.015-0.225-0.046c-0.072-0.03-0.134-0.072-0.186-0.124s-0.094-0.114-0.124-0.186c-0.031-0.071-0.046-0.146-0.046-0.225 0-0.092 0.02-0.178 0.06-0.259 0.041-0.081 0.098-0.15 0.172-0.206 0.032-0.024 0.051-0.056 0.057-0.096 5e-3 -0.039-4e-3 -0.075-0.028-0.107-0.024-0.033-0.055-0.052-0.095-0.057s-0.076 4e-3 -0.109 0.029c-0.11 0.082-0.196 0.184-0.257 0.306s-0.091 0.252-0.091 0.39c0 0.118 0.023 0.231 0.069 0.338 0.046 0.108 0.108 0.201 0.186 0.279s0.171 0.14 0.279 0.186c0.107 0.046 0.22 0.069 0.338 0.069s0.231-0.023 0.339-0.069c0.107-0.046 0.2-0.108 0.278-0.186s0.14-0.171 0.186-0.279c0.046-0.107 0.069-0.22 0.069-0.338 0-0.138-0.03-0.268-0.091-0.39zm-0.781 0.39c0.039 0 0.074-0.015 0.102-0.043 0.029-0.029 0.044-0.063 0.044-0.103v-0.727c0-0.039-0.015-0.073-0.044-0.102-0.028-0.029-0.063-0.043-0.102-0.043s-0.073 0.014-0.102 0.043-0.043 0.063-0.043 0.102v0.727c0 0.04 0.014 0.074 0.043 0.103 0.029 0.028 0.063 0.043 0.102 0.043z" style="fill-rule:nonzero;fill:#e3e8ea"/>
+ <path d="m21.02 29.396h6v1.78h-6v-1.78zm0-3.559h6v1.78h-6v-1.78zm3-10.678m0 0c-2.743 0-5 2.008-5 4.449s2.257 4.449 5 4.449 5-2.008 5-4.449-2.257-4.449-5-4.449zm0 1.779c1.645 0 3 1.205 3 2.67 0 1.464-1.355 2.67-3 2.67-1.646 0-3-1.206-3-2.67 0-1.465 1.354-2.67 3-2.67zm-7.03 0.136-1.414-1.258 4.243-3.776 1.414 1.259-4.243 3.775zm9.9-3.775 4.242-3.776 4.243 3.776-4.243 3.775-4.242-3.775zm-12.728 1.258-1.414-1.258 4.242-3.776 1.414 1.259-4.242 3.775z" style="fill-opacity:.3;fill-rule:nonzero"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(44.2944 -.186744 .186744 44.2944 1.86165 42.9324)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#1a1a1a" offset="0"/>
+ <stop style="stop-color:#2c2c2e" offset=".11"/>
+ <stop style="stop-color:#2b2b2d" offset=".29"/>
+ <stop style="stop-color:#2a2b2d" offset=".51"/>
+ <stop style="stop-color:#2b2b2d" offset=".75"/>
+ <stop style="stop-color:#323232" offset=".9"/>
+ <stop style="stop-color:#171717" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear2" x2="1" gradientTransform="matrix(-.00154162 -38.7406 38.7406 -.00154162 24.0015 40.0548)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#bbbec4" offset="0"/>
+ <stop style="stop-color:#dcdee1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear3" x2="1" gradientTransform="matrix(18.8308,0,0,18.8308,14.6558,43.5669)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#197cf1" offset="0"/>
+ <stop style="stop-color:#20bcfa" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear4" x2="1" gradientTransform="matrix(2.13662e-16,-3.48937,3.48937,2.13662e-16,37.712,44.9756)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#040404;stop-opacity:.45" offset="0"/>
+ <stop style="stop-color:#121212;stop-opacity:.41" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/drive-harddisk-root-symbolic.svg b/.icons/kora/devices/scalable/drive-harddisk-root-symbolic.svg
new file mode 120000
index 000000000..9d25e6ec1
--- /dev/null
+++ b/.icons/kora/devices/scalable/drive-harddisk-root-symbolic.svg
@@ -0,0 +1 @@
+drive-harddisk.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/drive-harddisk-root.svg b/.icons/kora/devices/scalable/drive-harddisk-root.svg
new file mode 120000
index 000000000..9d25e6ec1
--- /dev/null
+++ b/.icons/kora/devices/scalable/drive-harddisk-root.svg
@@ -0,0 +1 @@
+drive-harddisk.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/drive-harddisk-system.svg b/.icons/kora/devices/scalable/drive-harddisk-system.svg
new file mode 120000
index 000000000..9d25e6ec1
--- /dev/null
+++ b/.icons/kora/devices/scalable/drive-harddisk-system.svg
@@ -0,0 +1 @@
+drive-harddisk.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/drive-harddisk.svg b/.icons/kora/devices/scalable/drive-harddisk.svg
new file mode 100644
index 000000000..d6fa6889c
--- /dev/null
+++ b/.icons/kora/devices/scalable/drive-harddisk.svg
@@ -0,0 +1,31 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m42.349 46.686h-36.695c-1.91 0-3.627-1.181-3.745-3.086-0.095-1.546-0.601-6.867-0.602-6.878h45.389c-1e-3 0.011-0.507 5.332-0.602 6.878-0.118 1.905-1.835 3.086-3.745 3.086z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <path d="m44.067 4.555c-0.152-1.832-1.682-3.241-3.52-3.241h-33.091c-1.838 0-3.368 1.409-3.52 3.241-0.587 7.112-1.988 24.061-2.617 31.677-0.081 0.984 0.253 1.957 0.921 2.683 0.669 0.727 1.611 1.14 2.598 1.14h38.327c0.987 0 1.929-0.413 2.598-1.14 0.668-0.726 1.002-1.699 0.921-2.683-0.629-7.616-2.03-24.565-2.617-31.677z" style="fill:url(#_Linear2)"/>
+ <path d="m33.494 43.661c0-0.166-0.066-0.326-0.184-0.444-0.118-0.117-0.278-0.184-0.444-0.184h-17.589c-0.167 0-0.327 0.067-0.444 0.184-0.118 0.118-0.184 0.278-0.184 0.444v8e-3c0 0.167 0.066 0.327 0.184 0.444 0.117 0.118 0.277 0.184 0.444 0.184h17.589c0.166 0 0.326-0.066 0.444-0.184 0.118-0.117 0.184-0.277 0.184-0.444v-8e-3z" style="fill:url(#_Linear3)"/>
+ <circle cx="37.572" cy="43.448" r="1.745" style="fill:url(#_Linear4)"/>
+ <path d="m38.349 43.104c-0.061-0.122-0.147-0.224-0.257-0.306-0.032-0.025-0.068-0.034-0.108-0.029s-0.072 0.024-0.096 0.057c-0.024 0.032-0.033 0.067-0.027 0.107 5e-3 0.04 0.024 0.072 0.056 0.096 0.074 0.056 0.131 0.125 0.172 0.206 0.04 0.081 0.061 0.167 0.061 0.259 0 0.079-0.016 0.154-0.046 0.225-0.031 0.072-0.072 0.134-0.125 0.186-0.052 0.052-0.114 0.094-0.185 0.124-0.072 0.031-0.147 0.046-0.226 0.046s-0.154-0.015-0.225-0.046c-0.072-0.03-0.134-0.072-0.186-0.124s-0.094-0.114-0.124-0.186c-0.031-0.071-0.046-0.146-0.046-0.225 0-0.092 0.02-0.178 0.06-0.259 0.041-0.081 0.098-0.15 0.172-0.206 0.032-0.024 0.051-0.056 0.057-0.096 5e-3 -0.039-4e-3 -0.075-0.028-0.107-0.024-0.033-0.055-0.052-0.095-0.057s-0.076 4e-3 -0.109 0.029c-0.11 0.082-0.196 0.184-0.257 0.306s-0.091 0.252-0.091 0.39c0 0.118 0.023 0.231 0.069 0.338 0.046 0.108 0.108 0.201 0.186 0.279s0.171 0.14 0.279 0.186c0.107 0.046 0.22 0.069 0.338 0.069s0.231-0.023 0.339-0.069c0.107-0.046 0.2-0.108 0.278-0.186s0.14-0.171 0.186-0.279c0.046-0.107 0.069-0.22 0.069-0.338 0-0.138-0.03-0.268-0.091-0.39zm-0.781 0.39c0.039 0 0.074-0.015 0.102-0.043 0.029-0.029 0.044-0.063 0.044-0.103v-0.727c0-0.039-0.015-0.073-0.044-0.102-0.028-0.029-0.063-0.043-0.102-0.043s-0.073 0.014-0.102 0.043-0.043 0.063-0.043 0.102v0.727c0 0.04 0.014 0.074 0.043 0.103 0.029 0.028 0.063 0.043 0.102 0.043z" style="fill-rule:nonzero;fill:#e3e8ea"/>
+ <path d="m23.892 13.229c-5.971 0-10.878 2.838-10.878 6.292 0 3.453 4.907 6.291 10.878 6.291s10.879-2.838 10.879-6.291c0-3.454-4.908-6.292-10.879-6.292zm0 4.494c1.707 0 3.108 0.81 3.108 1.798 0 0.987-1.401 1.797-3.108 1.797-1.708 0-3.107-0.81-3.107-1.797 0-0.988 1.399-1.798 3.107-1.798z" style="fill-opacity:.23;fill-rule:nonzero"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(44.2944 -.186744 .186744 44.2944 1.86165 42.9324)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#1a1a1a" offset="0"/>
+ <stop style="stop-color:#2c2c2e" offset=".11"/>
+ <stop style="stop-color:#2b2b2d" offset=".29"/>
+ <stop style="stop-color:#2a2b2d" offset=".51"/>
+ <stop style="stop-color:#2b2b2d" offset=".75"/>
+ <stop style="stop-color:#323232" offset=".9"/>
+ <stop style="stop-color:#171717" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear2" x2="1" gradientTransform="matrix(-.00154162 -38.7406 38.7406 -.00154162 24.0015 40.0548)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#bbbec4" offset="0"/>
+ <stop style="stop-color:#dcdee1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear3" x2="1" gradientTransform="matrix(18.8308,0,0,18.8308,14.6558,43.5669)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#197cf1" offset="0"/>
+ <stop style="stop-color:#20bcfa" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear4" x2="1" gradientTransform="matrix(2.13662e-16,-3.48937,3.48937,2.13662e-16,37.712,44.9756)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#040404;stop-opacity:.45" offset="0"/>
+ <stop style="stop-color:#121212;stop-opacity:.41" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/drive-multidisk.svg b/.icons/kora/devices/scalable/drive-multidisk.svg
new file mode 100644
index 000000000..59ed442b7
--- /dev/null
+++ b/.icons/kora/devices/scalable/drive-multidisk.svg
@@ -0,0 +1,57 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m42.349 46.686h-36.695c-1.91 0-3.627-1.181-3.745-3.086-0.095-1.546-0.601-6.867-0.602-6.878h45.389c-1e-3 0.011-0.507 5.332-0.602 6.878-0.118 1.905-1.835 3.086-3.745 3.086z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <path d="m42.262 7.533c-0.138-1.832-1.53-3.241-3.203-3.241h-30.115c-1.673 0-3.065 1.409-3.203 3.241-0.535 7.112-3.793 21.083-4.422 28.699-0.081 0.984 0.253 1.957 0.921 2.683 0.669 0.727 1.611 1.14 2.598 1.14h38.327c0.987 0 1.929-0.413 2.598-1.14 0.668-0.726 1.002-1.699 0.921-2.683-0.629-7.616-3.887-21.587-4.422-28.699z" style="fill:url(#_Linear2)"/>
+ <path d="m33.494 43.661c0-0.166-0.066-0.326-0.184-0.444-0.118-0.117-0.278-0.184-0.444-0.184h-17.589c-0.167 0-0.327 0.067-0.444 0.184-0.118 0.118-0.184 0.278-0.184 0.444v8e-3c0 0.167 0.066 0.327 0.184 0.444 0.117 0.118 0.277 0.184 0.444 0.184h17.589c0.166 0 0.326-0.066 0.444-0.184 0.118-0.117 0.184-0.277 0.184-0.444v-8e-3z" style="fill:url(#_Linear3)"/>
+ <circle cx="37.572" cy="43.448" r="1.745" style="fill:url(#_Linear4)"/>
+ <path d="m38.349 43.104c-0.061-0.122-0.147-0.224-0.257-0.306-0.032-0.025-0.068-0.034-0.108-0.029s-0.072 0.024-0.096 0.057c-0.024 0.032-0.033 0.067-0.027 0.107 5e-3 0.04 0.024 0.072 0.056 0.096 0.074 0.056 0.131 0.125 0.172 0.206 0.04 0.081 0.061 0.167 0.061 0.259 0 0.079-0.016 0.154-0.046 0.225-0.031 0.072-0.072 0.134-0.125 0.186-0.052 0.052-0.114 0.094-0.185 0.124-0.072 0.031-0.147 0.046-0.226 0.046s-0.154-0.015-0.225-0.046c-0.072-0.03-0.134-0.072-0.186-0.124s-0.094-0.114-0.124-0.186c-0.031-0.071-0.046-0.146-0.046-0.225 0-0.092 0.02-0.178 0.06-0.259 0.041-0.081 0.098-0.15 0.172-0.206 0.032-0.024 0.051-0.056 0.057-0.096 5e-3 -0.039-4e-3 -0.075-0.028-0.107-0.024-0.033-0.055-0.052-0.095-0.057s-0.076 4e-3 -0.109 0.029c-0.11 0.082-0.196 0.184-0.257 0.306s-0.091 0.252-0.091 0.39c0 0.118 0.023 0.231 0.069 0.338 0.046 0.108 0.108 0.201 0.186 0.279s0.171 0.14 0.279 0.186c0.107 0.046 0.22 0.069 0.338 0.069s0.231-0.023 0.339-0.069c0.107-0.046 0.2-0.108 0.278-0.186s0.14-0.171 0.186-0.279c0.046-0.107 0.069-0.22 0.069-0.338 0-0.138-0.03-0.268-0.091-0.39zm-0.781 0.39c0.039 0 0.074-0.015 0.102-0.043 0.029-0.029 0.044-0.063 0.044-0.103v-0.727c0-0.039-0.015-0.073-0.044-0.102-0.028-0.029-0.063-0.043-0.102-0.043s-0.073 0.014-0.102 0.043-0.043 0.063-0.043 0.102v0.727c0 0.04 0.014 0.074 0.043 0.103 0.029 0.028 0.063 0.043 0.102 0.043z" style="fill-rule:nonzero;fill:#e3e8ea"/>
+ <path d="m42.273 38.41-36.696-1e-3c-1.91 0-3.627-1.181-3.745-3.086-0.095-1.546-0.601-6.867-0.602-6.878h45.39c-2e-3 0.011-0.508 5.332-0.602 6.878-0.119 1.905-1.836 3.086-3.745 3.086z" style="fill-rule:nonzero;fill:url(#_Linear5)"/>
+ <path d="m42.133 4.569c-0.361-1.801-1.52-3.241-3.181-3.241h-29.899c-1.661 0-2.802 1.443-3.18 3.241-1.498 7.112-3.257 15.845-4.631 23.387-0.081 0.984 0.253 1.957 0.921 2.683 0.669 0.726 1.611 1.14 2.598 1.14h38.327c0.987 0 1.929-0.413 2.598-1.14 0.668-0.726 1.002-1.699 0.921-2.683-1.447-7.616-3.051-16.275-4.474-23.387z" style="fill:url(#_Linear6)"/>
+ <path d="m33.418 35.385c0-0.166-0.066-0.326-0.184-0.444-0.118-0.117-0.278-0.184-0.444-0.184h-17.589c-0.167 0-0.327 0.067-0.444 0.184-0.118 0.118-0.184 0.278-0.184 0.444v8e-3c0 0.167 0.066 0.327 0.184 0.444 0.117 0.118 0.277 0.184 0.444 0.184h17.589c0.166 0 0.326-0.066 0.444-0.184 0.118-0.117 0.184-0.277 0.184-0.444v-8e-3z" style="fill:url(#_Linear7)"/>
+ <circle cx="37.496" cy="35.172" r="1.745" style="fill:url(#_Linear8)"/>
+ <path d="m38.273 34.828c-0.062-0.123-0.148-0.224-0.258-0.306-0.031-0.026-0.067-0.035-0.107-0.03s-0.072 0.024-0.096 0.057c-0.024 0.032-0.033 0.067-0.027 0.107 5e-3 0.04 0.024 0.072 0.056 0.096 0.074 0.056 0.131 0.125 0.172 0.206 0.04 0.081 0.061 0.167 0.061 0.259 0 0.079-0.016 0.154-0.046 0.225-0.031 0.072-0.072 0.134-0.125 0.186-0.052 0.052-0.114 0.094-0.185 0.124-0.072 0.031-0.147 0.046-0.226 0.046s-0.154-0.015-0.225-0.046c-0.072-0.03-0.134-0.072-0.186-0.124s-0.094-0.114-0.124-0.186c-0.031-0.071-0.046-0.146-0.046-0.225 0-0.092 0.02-0.178 0.06-0.259 0.041-0.081 0.098-0.15 0.172-0.206 0.032-0.024 0.051-0.056 0.057-0.096 5e-3 -0.039-4e-3 -0.075-0.028-0.107-0.024-0.033-0.055-0.052-0.095-0.057s-0.076 4e-3 -0.109 0.029c-0.11 0.082-0.196 0.184-0.257 0.306s-0.091 0.252-0.091 0.39c0 0.118 0.023 0.231 0.069 0.338 0.046 0.108 0.108 0.201 0.186 0.279s0.171 0.14 0.279 0.186c0.107 0.046 0.22 0.069 0.338 0.069s0.231-0.023 0.339-0.069c0.107-0.046 0.2-0.108 0.278-0.186s0.14-0.171 0.186-0.279c0.046-0.107 0.069-0.22 0.069-0.338 0-0.138-0.03-0.268-0.091-0.39zm-0.782 0.39c0.04 0 0.075-0.015 0.102-0.043 0.03-0.029 0.044-0.063 0.044-0.103l1e-3 -0.727c0-0.039-0.015-0.073-0.044-0.102-0.028-0.029-0.063-0.043-0.102-0.043s-0.073 0.014-0.102 0.043-0.043 0.063-0.043 0.102v0.727c0 0.04 0.014 0.074 0.043 0.103 0.029 0.028 0.063 0.043 0.102 0.043z" style="fill-rule:nonzero;fill:#e3e8ea"/>
+ <path d="m24.001 9.432c-5.972 0-10.878 2.839-10.878 6.292s4.906 6.291 10.878 6.291c5.971 0 10.879-2.838 10.879-6.291s-4.908-6.292-10.879-6.292zm-0.077 4.037c1.708 0 3.109 0.81 3.109 1.798 0 0.987-1.401 1.797-3.109 1.797-1.707 0-3.107-0.81-3.107-1.797 0-0.988 1.4-1.798 3.107-1.798z" style="fill-opacity:.23;fill-rule:nonzero"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(44.2944 -.186744 .186744 44.2944 1.86165 42.9324)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#1a1a1a" offset="0"/>
+ <stop style="stop-color:#2c2c2e" offset=".11"/>
+ <stop style="stop-color:#2b2b2d" offset=".29"/>
+ <stop style="stop-color:#2a2b2d" offset=".51"/>
+ <stop style="stop-color:#2b2b2d" offset=".75"/>
+ <stop style="stop-color:#323232" offset=".9"/>
+ <stop style="stop-color:#171717" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear2" x2="1" gradientTransform="matrix(-.00154162 -38.7406 38.7406 -.00154162 24.0015 40.0548)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#bbbec4" offset="0"/>
+ <stop style="stop-color:#dcdee1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear3" x2="1" gradientTransform="matrix(18.8308,0,0,18.8308,14.6558,43.5669)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#197cf1" offset="0"/>
+ <stop style="stop-color:#20bcfa" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear4" x2="1" gradientTransform="matrix(2.13662e-16,-3.48937,3.48937,2.13662e-16,37.712,44.9756)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#040404;stop-opacity:.45" offset="0"/>
+ <stop style="stop-color:#121212;stop-opacity:.41" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear5" x2="1" gradientTransform="matrix(44.2944 -.186744 .186744 44.2944 1.78515 34.6559)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#1a1a1a" offset="0"/>
+ <stop style="stop-color:#2c2c2e" offset=".11"/>
+ <stop style="stop-color:#2b2b2d" offset=".29"/>
+ <stop style="stop-color:#2a2b2d" offset=".51"/>
+ <stop style="stop-color:#2b2b2d" offset=".75"/>
+ <stop style="stop-color:#323232" offset=".9"/>
+ <stop style="stop-color:#171717" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear6" x2="1" gradientTransform="matrix(-.00154162 -38.7406 38.7406 -.00154162 23.925 31.7783)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#bbbec4" offset="0"/>
+ <stop style="stop-color:#dcdee1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear7" x2="1" gradientTransform="matrix(18.8308,0,0,18.8308,14.5793,35.2904)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#197cf1" offset="0"/>
+ <stop style="stop-color:#20bcfa" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear8" x2="1" gradientTransform="matrix(2.13662e-16,-3.48937,3.48937,2.13662e-16,37.6355,36.6991)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#040404;stop-opacity:.45" offset="0"/>
+ <stop style="stop-color:#121212;stop-opacity:.41" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/drive-optical.svg b/.icons/kora/devices/scalable/drive-optical.svg
new file mode 120000
index 000000000..63739ccc2
--- /dev/null
+++ b/.icons/kora/devices/scalable/drive-optical.svg
@@ -0,0 +1 @@
+media-optical.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/drive-removable-media-pendrive.svg b/.icons/kora/devices/scalable/drive-removable-media-pendrive.svg
new file mode 120000
index 000000000..a283cdf55
--- /dev/null
+++ b/.icons/kora/devices/scalable/drive-removable-media-pendrive.svg
@@ -0,0 +1 @@
+drive-removable-media.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/drive-removable-media-usb-pendrive.svg b/.icons/kora/devices/scalable/drive-removable-media-usb-pendrive.svg
new file mode 120000
index 000000000..a283cdf55
--- /dev/null
+++ b/.icons/kora/devices/scalable/drive-removable-media-usb-pendrive.svg
@@ -0,0 +1 @@
+drive-removable-media.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/drive-removable-media-usb.svg b/.icons/kora/devices/scalable/drive-removable-media-usb.svg
new file mode 120000
index 000000000..a283cdf55
--- /dev/null
+++ b/.icons/kora/devices/scalable/drive-removable-media-usb.svg
@@ -0,0 +1 @@
+drive-removable-media.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/drive-removable-media.svg b/.icons/kora/devices/scalable/drive-removable-media.svg
new file mode 100644
index 000000000..b05669196
--- /dev/null
+++ b/.icons/kora/devices/scalable/drive-removable-media.svg
@@ -0,0 +1,31 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m42.349 46.686h-36.695c-1.91 0-3.627-1.181-3.745-3.086-0.095-1.546-0.601-6.867-0.602-6.878h45.389c-1e-3 0.011-0.507 5.332-0.602 6.878-0.118 1.905-1.835 3.086-3.745 3.086z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <path d="m44.067 4.555c-0.152-1.832-1.682-3.241-3.52-3.241h-33.091c-1.838 0-3.368 1.409-3.52 3.241-0.587 7.112-1.988 24.061-2.617 31.677-0.081 0.984 0.253 1.957 0.921 2.683 0.669 0.727 1.611 1.14 2.598 1.14h38.327c0.987 0 1.929-0.413 2.598-1.14 0.668-0.726 1.002-1.699 0.921-2.683-0.629-7.616-2.03-24.565-2.617-31.677z" style="fill:url(#_Linear2)"/>
+ <path d="m33.494 43.661c0-0.166-0.066-0.326-0.184-0.444-0.118-0.117-0.278-0.184-0.444-0.184h-17.589c-0.167 0-0.327 0.067-0.444 0.184-0.118 0.118-0.184 0.278-0.184 0.444v8e-3c0 0.167 0.066 0.327 0.184 0.444 0.117 0.118 0.277 0.184 0.444 0.184h17.589c0.166 0 0.326-0.066 0.444-0.184 0.118-0.117 0.184-0.277 0.184-0.444v-8e-3z" style="fill:url(#_Linear3)"/>
+ <circle cx="37.572" cy="43.448" r="1.745" style="fill:url(#_Linear4)"/>
+ <path d="m38.349 43.104c-0.061-0.122-0.147-0.224-0.257-0.306-0.032-0.025-0.068-0.034-0.108-0.029s-0.072 0.024-0.096 0.057c-0.024 0.032-0.033 0.067-0.027 0.107 5e-3 0.04 0.024 0.072 0.056 0.096 0.074 0.056 0.131 0.125 0.172 0.206 0.04 0.081 0.061 0.167 0.061 0.259 0 0.079-0.016 0.154-0.046 0.225-0.031 0.072-0.072 0.134-0.125 0.186-0.052 0.052-0.114 0.094-0.185 0.124-0.072 0.031-0.147 0.046-0.226 0.046s-0.154-0.015-0.225-0.046c-0.072-0.03-0.134-0.072-0.186-0.124s-0.094-0.114-0.124-0.186c-0.031-0.071-0.046-0.146-0.046-0.225 0-0.092 0.02-0.178 0.06-0.259 0.041-0.081 0.098-0.15 0.172-0.206 0.032-0.024 0.051-0.056 0.057-0.096 5e-3 -0.039-4e-3 -0.075-0.028-0.107-0.024-0.033-0.055-0.052-0.095-0.057s-0.076 4e-3 -0.109 0.029c-0.11 0.082-0.196 0.184-0.257 0.306s-0.091 0.252-0.091 0.39c0 0.118 0.023 0.231 0.069 0.338 0.046 0.108 0.108 0.201 0.186 0.279s0.171 0.14 0.279 0.186c0.107 0.046 0.22 0.069 0.338 0.069s0.231-0.023 0.339-0.069c0.107-0.046 0.2-0.108 0.278-0.186s0.14-0.171 0.186-0.279c0.046-0.107 0.069-0.22 0.069-0.338 0-0.138-0.03-0.268-0.091-0.39zm-0.781 0.39c0.039 0 0.074-0.015 0.102-0.043 0.029-0.029 0.044-0.063 0.044-0.103v-0.727c0-0.039-0.015-0.073-0.044-0.102-0.028-0.029-0.063-0.043-0.102-0.043s-0.073 0.014-0.102 0.043-0.043 0.063-0.043 0.102v0.727c0 0.04 0.014 0.074 0.043 0.103 0.029 0.028 0.063 0.043 0.102 0.043z" style="fill-rule:nonzero;fill:#e3e8ea"/>
+ <path d="m29.9 13.594-2.776-5e-3c-0.105 0-0.207 0.034-0.281 0.094-0.075 0.06-0.117 0.141-0.118 0.226l-4e-3 2.237c-1e-3 0.177 0.177 0.321 0.397 0.321l0.387 1e-3 -4e-3 1.704-2.942 1.589 0.014-6.512 1.023 2e-3c0.11 0 0.212-0.046 0.269-0.121 0.057-0.076 0.061-0.17 0.011-0.249l-2.018-3.151c-0.054-0.083-0.162-0.136-0.279-0.137-0.118 1e-3 -0.225 0.053-0.279 0.137l-2.032 3.145c-0.051 0.078-0.047 0.173 0.01 0.248 0.057 0.076 0.159 0.122 0.268 0.122l1.024 2e-3 -0.019 9.018-3.167-1.723 3e-3 -1.353c0.491-0.261 0.817-0.709 0.818-1.219 2e-3 -0.808-0.81-1.464-1.814-1.465-1.003-2e-3 -1.817 0.652-1.819 1.461-1e-3 0.51 0.322 0.958 0.813 1.221l-4e-3 1.781c-1e-3 0.269 0.164 0.52 0.441 0.67l4.725 2.571-6e-3 2.781c-0.666 0.288-1.125 0.848-1.127 1.5-1e-3 0.945 0.947 1.713 2.12 1.715 1.175 2e-3 2.127-0.763 2.129-1.709 2e-3 -0.652-0.455-1.212-1.12-1.502l0.012-5.289 4.504-2.432c0.054-0.029 0.104-0.063 0.149-0.099 0.186-0.149 0.294-0.354 0.294-0.57l5e-3 -2.133 0.387 1e-3c0.106-1e-3 0.207-0.034 0.282-0.094 0.074-0.06 0.116-0.142 0.117-0.227l4e-3 -2.236c1e-3 -0.178-0.177-0.321-0.397-0.321z" style="fill-rule:nonzero;fill:#a1a7ae"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(44.2944 -.186744 .186744 44.2944 1.86165 42.9324)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#1a1a1a" offset="0"/>
+ <stop style="stop-color:#2c2c2e" offset=".11"/>
+ <stop style="stop-color:#2b2b2d" offset=".29"/>
+ <stop style="stop-color:#2a2b2d" offset=".51"/>
+ <stop style="stop-color:#2b2b2d" offset=".75"/>
+ <stop style="stop-color:#323232" offset=".9"/>
+ <stop style="stop-color:#171717" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear2" x2="1" gradientTransform="matrix(-.00154162 -38.7406 38.7406 -.00154162 24.0015 40.0548)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#bbbec4" offset="0"/>
+ <stop style="stop-color:#dcdee1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear3" x2="1" gradientTransform="matrix(18.8308,0,0,18.8308,14.6558,43.5669)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#197cf1" offset="0"/>
+ <stop style="stop-color:#20bcfa" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear4" x2="1" gradientTransform="matrix(2.13662e-16,-3.48937,3.48937,2.13662e-16,37.712,44.9756)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#040404;stop-opacity:.45" offset="0"/>
+ <stop style="stop-color:#121212;stop-opacity:.41" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/drive-virtual.svg b/.icons/kora/devices/scalable/drive-virtual.svg
new file mode 120000
index 000000000..7fdd2d96f
--- /dev/null
+++ b/.icons/kora/devices/scalable/drive-virtual.svg
@@ -0,0 +1 @@
+network-server.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-computer.svg b/.icons/kora/devices/scalable/gnome-computer.svg
new file mode 120000
index 000000000..d890a06c6
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-computer.svg
@@ -0,0 +1 @@
+computer.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-battery.svg b/.icons/kora/devices/scalable/gnome-dev-battery.svg
new file mode 120000
index 000000000..a400f383f
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-battery.svg
@@ -0,0 +1 @@
+battery.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-cdrom-audio.svg b/.icons/kora/devices/scalable/gnome-dev-cdrom-audio.svg
new file mode 120000
index 000000000..63739ccc2
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-cdrom-audio.svg
@@ -0,0 +1 @@
+media-optical.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-cdrom.svg b/.icons/kora/devices/scalable/gnome-dev-cdrom.svg
new file mode 120000
index 000000000..5c62a912c
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-cdrom.svg
@@ -0,0 +1 @@
+drive-optical.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-computer.svg b/.icons/kora/devices/scalable/gnome-dev-computer.svg
new file mode 120000
index 000000000..d890a06c6
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-computer.svg
@@ -0,0 +1 @@
+computer.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-disc-cdr.svg b/.icons/kora/devices/scalable/gnome-dev-disc-cdr.svg
new file mode 120000
index 000000000..63739ccc2
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-disc-cdr.svg
@@ -0,0 +1 @@
+media-optical.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-disc-cdrw.svg b/.icons/kora/devices/scalable/gnome-dev-disc-cdrw.svg
new file mode 120000
index 000000000..63739ccc2
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-disc-cdrw.svg
@@ -0,0 +1 @@
+media-optical.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-disc-dvdr-plus.svg b/.icons/kora/devices/scalable/gnome-dev-disc-dvdr-plus.svg
new file mode 120000
index 000000000..63739ccc2
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-disc-dvdr-plus.svg
@@ -0,0 +1 @@
+media-optical.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-disc-dvdr.svg b/.icons/kora/devices/scalable/gnome-dev-disc-dvdr.svg
new file mode 120000
index 000000000..63739ccc2
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-disc-dvdr.svg
@@ -0,0 +1 @@
+media-optical.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-disc-dvdram.svg b/.icons/kora/devices/scalable/gnome-dev-disc-dvdram.svg
new file mode 120000
index 000000000..63739ccc2
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-disc-dvdram.svg
@@ -0,0 +1 @@
+media-optical.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-disc-dvdrom.svg b/.icons/kora/devices/scalable/gnome-dev-disc-dvdrom.svg
new file mode 120000
index 000000000..63739ccc2
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-disc-dvdrom.svg
@@ -0,0 +1 @@
+media-optical.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-disc-dvdrw.svg b/.icons/kora/devices/scalable/gnome-dev-disc-dvdrw.svg
new file mode 120000
index 000000000..63739ccc2
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-disc-dvdrw.svg
@@ -0,0 +1 @@
+media-optical.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-dvd.svg b/.icons/kora/devices/scalable/gnome-dev-dvd.svg
new file mode 120000
index 000000000..5c62a912c
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-dvd.svg
@@ -0,0 +1 @@
+drive-optical.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-ethernet.svg b/.icons/kora/devices/scalable/gnome-dev-ethernet.svg
new file mode 120000
index 000000000..84ab20350
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-ethernet.svg
@@ -0,0 +1 @@
+network-wired.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-floppy.svg b/.icons/kora/devices/scalable/gnome-dev-floppy.svg
new file mode 120000
index 000000000..6af143ea5
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-floppy.svg
@@ -0,0 +1 @@
+media-floppy.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-harddisk-1394.svg b/.icons/kora/devices/scalable/gnome-dev-harddisk-1394.svg
new file mode 120000
index 000000000..9d25e6ec1
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-harddisk-1394.svg
@@ -0,0 +1 @@
+drive-harddisk.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-harddisk-usb.svg b/.icons/kora/devices/scalable/gnome-dev-harddisk-usb.svg
new file mode 120000
index 000000000..9d25e6ec1
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-harddisk-usb.svg
@@ -0,0 +1 @@
+drive-harddisk.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-harddisk.svg b/.icons/kora/devices/scalable/gnome-dev-harddisk.svg
new file mode 120000
index 000000000..9d25e6ec1
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-harddisk.svg
@@ -0,0 +1 @@
+drive-harddisk.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-ipod.svg b/.icons/kora/devices/scalable/gnome-dev-ipod.svg
new file mode 120000
index 000000000..fd92d8c7e
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-ipod.svg
@@ -0,0 +1 @@
+multimedia-player.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-keyboard.svg b/.icons/kora/devices/scalable/gnome-dev-keyboard.svg
new file mode 120000
index 000000000..ff417223d
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-keyboard.svg
@@ -0,0 +1 @@
+input-keyboard.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-media-cf.svg b/.icons/kora/devices/scalable/gnome-dev-media-cf.svg
new file mode 120000
index 000000000..1303e9801
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-media-cf.svg
@@ -0,0 +1 @@
+media-flash.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-media-ms.svg b/.icons/kora/devices/scalable/gnome-dev-media-ms.svg
new file mode 120000
index 000000000..1303e9801
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-media-ms.svg
@@ -0,0 +1 @@
+media-flash.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-media-sdmmc.svg b/.icons/kora/devices/scalable/gnome-dev-media-sdmmc.svg
new file mode 120000
index 000000000..1303e9801
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-media-sdmmc.svg
@@ -0,0 +1 @@
+media-flash.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-media-sm.svg b/.icons/kora/devices/scalable/gnome-dev-media-sm.svg
new file mode 120000
index 000000000..1303e9801
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-media-sm.svg
@@ -0,0 +1 @@
+media-flash.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-memory.svg b/.icons/kora/devices/scalable/gnome-dev-memory.svg
new file mode 100644
index 000000000..d4d606edb
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-memory.svg
@@ -0,0 +1,45 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" version="1.1">
+ <rect style="opacity:0.2" width="40" height="24" x="4" y="13" rx="2" ry="2"/>
+ <rect style="fill:#419d45" width="40" height="25" x="4" y="11" rx="2" ry="2"/>
+ <g style="opacity:0.2">
+ <rect width="3" height="4" x="6" y="34"/>
+ <rect width="3" height="4" x="10" y="34"/>
+ <rect width="3" height="4" x="14" y="34"/>
+ <rect width="3" height="4" x="18" y="34"/>
+ <rect width="3" height="4" x="23" y="34"/>
+ <rect width="3" height="4" x="27" y="34"/>
+ <rect width="3" height="4" x="31" y="34"/>
+ <rect width="3" height="4" x="35" y="34"/>
+ <rect width="3" height="4" x="39" y="34"/>
+ </g>
+ <g style="fill:#f8c44e">
+ <rect width="3" height="4" x="6" y="33"/>
+ <rect width="3" height="4" x="10" y="33"/>
+ <rect width="3" height="4" x="14" y="33"/>
+ <rect width="3" height="4" x="18" y="33"/>
+ <rect width="3" height="4" x="23" y="33"/>
+ <rect width="3" height="4" x="27" y="33"/>
+ <rect width="3" height="4" x="31" y="33"/>
+ <rect width="3" height="4" x="35" y="33"/>
+ <rect width="3" height="4" x="39" y="33"/>
+ </g>
+ <g style="opacity:0.2">
+ <rect width="7" height="12" x="6" y="17" rx="1" ry="1"/>
+ <rect width="7" height="12" x="15" y="17" rx="1" ry="1"/>
+ <rect width="7" height="12" x="26" y="17" rx="1" ry="1"/>
+ <rect width="7" height="12" x="35" y="17" rx="1" ry="1"/>
+ </g>
+ <g style="fill:#37474f">
+ <rect width="7" height="12" x="6" y="16" rx="1" ry="1"/>
+ <rect width="7" height="12" x="15" y="16" rx="1" ry="1"/>
+ <rect width="7" height="12" x="26" y="16" rx="1" ry="1"/>
+ <rect width="7" height="12" x="35" y="16" rx="1" ry="1"/>
+ </g>
+ <path style="opacity:0.1;fill:#ffffff" d="M 6,11 C 4.892,11 4,11.892 4,13 V 14 C 4,12.892 4.892,12 6,12 H 42 C 43.108,12 44,12.892 44,14 V 13 C 44,11.892 43.108,11 42,11 Z"/>
+ <g style="opacity:0.1;fill:#ffffff">
+ <path d="M 7 16 C 6.446 16 6 16.446 6 17 L 6 18 C 6 17.446 6.446 17 7 17 L 12 17 C 12.554 17 13 17.446 13 18 L 13 17 C 13 16.446 12.554 16 12 16 L 7 16 z"/>
+ <path d="M 16,16 C 15.446,16 15,16.446 15,17 V 18 C 15,17.446 15.446,17 16,17 H 21 C 21.554,17 22,17.446 22,18 V 17 C 22,16.446 21.554,16 21,16 Z"/>
+ <path d="M 27,16 C 26.446,16 26,16.446 26,17 V 18 C 26,17.446 26.446,17 27,17 H 32 C 32.554,17 33,17.446 33,18 V 17 C 33,16.446 32.554,16 32,16 Z"/>
+ <path d="M 36,16 C 35.446,16 35,16.446 35,17 V 18 C 35,17.446 35.446,17 36,17 H 41 C 41.554,17 42,17.446 42,18 V 17 C 42,16.446 41.554,16 41,16 Z"/>
+ </g>
+</svg>
diff --git a/.icons/kora/devices/scalable/gnome-dev-mouse-ball.svg b/.icons/kora/devices/scalable/gnome-dev-mouse-ball.svg
new file mode 120000
index 000000000..e81935d80
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-mouse-ball.svg
@@ -0,0 +1 @@
+input-mouse.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-mouse-optical.svg b/.icons/kora/devices/scalable/gnome-dev-mouse-optical.svg
new file mode 120000
index 000000000..e81935d80
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-mouse-optical.svg
@@ -0,0 +1 @@
+input-mouse.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-printer-new.svg b/.icons/kora/devices/scalable/gnome-dev-printer-new.svg
new file mode 100644
index 000000000..f36ce7671
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-printer-new.svg
@@ -0,0 +1,68 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m6.739 43.135h34.733l0.225 0.378v0.616h-35.183v-0.637l0.225-0.357z" style="fill:#2a2a2a"/>
+ <path d="m6.417 13.517h34.919l3.725 3.567v8.835h-42.135v-8.876l3.491-3.526z" style="fill:url(#_Linear1)"/>
+ <path d="m45.084 25.913v8.739c0 0.894-0.72 1.613-1.614 1.613h-38.94c-0.894 0-1.614-0.719-1.614-1.613v-8.826l42.168 0.087z" style="fill:url(#_Linear2)"/>
+ <path d="m11.125 13.434h25.773l1.17 2.499v4.529s6e-3 1.819-1.819 1.819h-24.474s-1.761-0.072-1.819-1.737v-4.64l1.169-2.47z" style="fill:url(#_Linear3)"/>
+ <path d="m10.233 29.045h27.534c1.145 0 2.067 0.922 2.067 2.067v5.168h-31.668v-5.168c0-1.145 0.922-2.067 2.067-2.067z" style="fill:url(#_Linear4)"/>
+ <path d="m12.206 31.195h23.978c1.146 0 2.067 0.922 2.067 2.067v3.018h-28.112v-3.018c0-1.145 0.922-2.067 2.067-2.067z" style="fill:url(#_Linear5)"/>
+ <path d="m8.158 36.265h31.667l1.868 7.235h-35.17l1.635-7.235z" style="fill:url(#_Linear6)"/>
+ <path d="m11.958 31.195h24.598l1.169 10.501h-26.936l1.169-10.501z" style="fill:url(#_Linear7)"/>
+ <rect x="9.647" y="6.345" width="28.414" height="7.133" style="fill:url(#_Linear8)"/>
+ <rect x="11.677" y="4.5" width="24.681" height="9.012" style="fill:url(#_Linear9)"/>
+ <path d="m42.473 20.441h2.587v1.725h-2.587c-0.478 0-0.863-0.385-0.863-0.863 0-0.477 0.385-0.862 0.863-0.862z" style="fill:#3b3b3b"/>
+ <rect x="42.238" y="20.791" width="2.337" height="1.047" style="fill:#d5d5d5"/>
+ <path d="m6.739 43.135h34.733l0.225 0.378v0.616h-35.183v-0.637l0.225-0.357z" style="fill:#2a2a2a"/>
+ <path d="m6.417 13.517h34.919l3.725 3.567v8.835h-42.135v-8.876l3.491-3.526z" style="fill:url(#_Linear1)"/>
+ <path d="m45.084 25.913v8.739c0 0.894-0.72 1.613-1.614 1.613h-38.94c-0.894 0-1.614-0.719-1.614-1.613v-8.826l42.168 0.087z" style="fill:url(#_Linear2)"/>
+ <path d="m11.125 13.434h25.773l1.17 2.499v4.529s6e-3 1.819-1.819 1.819h-24.474s-1.761-0.072-1.819-1.737v-4.64l1.169-2.47z" style="fill:url(#_Linear3)"/>
+ <path d="m10.233 29.045h27.534c1.145 0 2.067 0.922 2.067 2.067v5.168h-31.668v-5.168c0-1.145 0.922-2.067 2.067-2.067z" style="fill:url(#_Linear4)"/>
+ <path d="m12.206 31.195h23.978c1.146 0 2.067 0.922 2.067 2.067v3.018h-28.112v-3.018c0-1.145 0.922-2.067 2.067-2.067z" style="fill:url(#_Linear5)"/>
+ <path d="m8.158 36.265h31.667l1.868 7.235h-35.17l1.635-7.235z" style="fill:url(#_Linear6)"/>
+ <path d="m11.958 31.195h24.598l1.169 10.501h-26.936l1.169-10.501z" style="fill:url(#_Linear7)"/>
+ <rect x="9.647" y="6.345" width="28.414" height="7.133" style="fill:url(#_Linear8)"/>
+ <rect x="11.677" y="4.5" width="24.681" height="9.012" style="fill:url(#_Linear9)"/>
+ <path d="m42.473 20.441h2.587v1.725h-2.587c-0.478 0-0.863-0.385-0.863-0.863 0-0.477 0.385-0.862 0.863-0.862z" style="fill:#3b3b3b"/>
+ <rect x="42.238" y="20.791" width="2.337" height="1.047" style="fill:#d5d5d5"/>
+ <circle cx="34" cy="34" r="12" style="fill:#009545"/>
+ <path d="m35 27v6h6v2h-6v6h-2v-6h-6v-2h6v-6h2z" style="fill-rule:nonzero;fill:#fff"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(7.66623e-16,-12.5199,12.5199,7.66623e-16,24.619,25.0388)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#cbcbcb" offset="0"/>
+ <stop style="stop-color:#e9e9e9" offset=".6"/>
+ <stop style="stop-color:#bebebe" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear2" x2="1" gradientTransform="matrix(-.165361 -9.59118 9.59118 -.165361 24.9922 35.6757)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#a8a8a8" offset="0"/>
+ <stop style="stop-color:#ccc" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear3" x2="1" gradientTransform="matrix(5.01196e-16,-8.18516,8.18516,5.01196e-16,24.6144,21.7798)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#333" offset="0"/>
+ <stop style="stop-color:#4e4e4e" offset=".64"/>
+ <stop style="stop-color:#333" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear4" x2="1" gradientTransform="matrix(-.430076 -7.13278 7.13278 -.430076 24.7705 35.6443)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#060606" offset="0"/>
+ <stop style="stop-color:#343434" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear5" x2="1" gradientTransform="matrix(.107146 4.61877 -4.61877 .107146 23.5865 31.5742)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#060606" offset="0"/>
+ <stop style="stop-color:#343434" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear6" x2="1" gradientTransform="matrix(.0204917 8.18516 -8.18516 .0204917 23.5724 35.907)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#1f1f1f" offset="0"/>
+ <stop style="stop-color:#444" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear7" x2="1" gradientTransform="matrix(.516369 -9.77375 9.77375 .516369 24.5219 41.2494)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#f4f4f4" offset="0"/>
+ <stop style="stop-color:#b0b0b0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear8" x2="1" gradientTransform="matrix(-.233862 -5.14495 5.14495 -.233862 25.7837 12.6358)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#1f1f1f" offset="0"/>
+ <stop style="stop-color:#444" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear9" x2="1" gradientTransform="matrix(.24805 -8.68167 8.68167 .24805 23.7076 13.1817)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#cbcbcb" offset="0"/>
+ <stop style="stop-color:#f3f3f3" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/gnome-dev-printer.svg b/.icons/kora/devices/scalable/gnome-dev-printer.svg
new file mode 120000
index 000000000..f0bff2272
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-printer.svg
@@ -0,0 +1 @@
+printer.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-removable-1394.svg b/.icons/kora/devices/scalable/gnome-dev-removable-1394.svg
new file mode 120000
index 000000000..a283cdf55
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-removable-1394.svg
@@ -0,0 +1 @@
+drive-removable-media.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-removable-usb.svg b/.icons/kora/devices/scalable/gnome-dev-removable-usb.svg
new file mode 120000
index 000000000..a283cdf55
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-removable-usb.svg
@@ -0,0 +1 @@
+drive-removable-media.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-removable.svg b/.icons/kora/devices/scalable/gnome-dev-removable.svg
new file mode 120000
index 000000000..a283cdf55
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-removable.svg
@@ -0,0 +1 @@
+drive-removable-media.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-dev-wavelan.svg b/.icons/kora/devices/scalable/gnome-dev-wavelan.svg
new file mode 120000
index 000000000..012a6674d
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-dev-wavelan.svg
@@ -0,0 +1 @@
+network-wireless.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-fs-blockdev.svg b/.icons/kora/devices/scalable/gnome-fs-blockdev.svg
new file mode 120000
index 000000000..9d25e6ec1
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-fs-blockdev.svg
@@ -0,0 +1 @@
+drive-harddisk.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-fs-client.svg b/.icons/kora/devices/scalable/gnome-fs-client.svg
new file mode 120000
index 000000000..d890a06c6
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-fs-client.svg
@@ -0,0 +1 @@
+computer.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gnome-phone-manager.svg b/.icons/kora/devices/scalable/gnome-phone-manager.svg
new file mode 120000
index 000000000..c0649cac0
--- /dev/null
+++ b/.icons/kora/devices/scalable/gnome-phone-manager.svg
@@ -0,0 +1 @@
+./smartphone.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/gtk-harddisk.svg b/.icons/kora/devices/scalable/gtk-harddisk.svg
new file mode 120000
index 000000000..9d25e6ec1
--- /dev/null
+++ b/.icons/kora/devices/scalable/gtk-harddisk.svg
@@ -0,0 +1 @@
+drive-harddisk.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/harddrive.svg b/.icons/kora/devices/scalable/harddrive.svg
new file mode 120000
index 000000000..9d25e6ec1
--- /dev/null
+++ b/.icons/kora/devices/scalable/harddrive.svg
@@ -0,0 +1 @@
+drive-harddisk.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/hifi.svg b/.icons/kora/devices/scalable/hifi.svg
new file mode 100644
index 000000000..047d80d71
--- /dev/null
+++ b/.icons/kora/devices/scalable/hifi.svg
@@ -0,0 +1,11 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(-.506203 -42 42 -.506203 388.014 40.6128)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#aa53d6" offset="0"/>
+ <stop stop-color="#ff63e9" offset="1"/>
+ </linearGradient>
+ <path transform="translate(-.4455)" d="m37.02 1.667c2.783 0 5.039 2.257 5.039 5.04v34.586c0 2.783-2.256 5.04-5.039 5.04h-25.149c-2.783 0-5.039-2.257-5.039-5.04v-34.586c0-2.783 2.256-5.04 5.039-5.04z" fill="url(#a)" fill-rule="nonzero"/>
+ <circle cx="24" cy="35.02891" r="3.833" fill="#221c1c"/>
+ <circle transform="matrix(0 -1 -1 0 0 -4.1665)" cx="-21" cy="-24" r="11" fill="#221c1c"/>
+ <circle transform="matrix(0 -1 -1 0 0 -4.1665)" cx="-21" cy="-24" r="5" fill="#0057ff"/>
+ <path d="m11.426 46.333c-2.427 0-4.453-1.716-4.932-4h35.012c-.479 2.284-2.505 4-4.931 4z" fill="#8100a3"/>
+</svg>
diff --git a/.icons/kora/devices/scalable/i-network-printer.svg b/.icons/kora/devices/scalable/i-network-printer.svg
new file mode 120000
index 000000000..e7ddf2902
--- /dev/null
+++ b/.icons/kora/devices/scalable/i-network-printer.svg
@@ -0,0 +1 @@
+printer-network.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/input-dialpad.svg b/.icons/kora/devices/scalable/input-dialpad.svg
new file mode 100644
index 000000000..9784c9fe3
--- /dev/null
+++ b/.icons/kora/devices/scalable/input-dialpad.svg
@@ -0,0 +1,11 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(0 -44.4887 46.7829 0 211.577 46.2111)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#383838" offset="0"/>
+ <stop stop-color="#4f4f4f" offset="1"/>
+ </linearGradient>
+ <path transform="translate(-.4455)" d="m37.02 1.667c2.783 0 5.039 2.257 5.039 5.04v34.586c0 2.783-2.256 5.04-5.039 5.04h-25.149c-2.783 0-5.039-2.257-5.039-5.04v-34.586c0-2.783 2.256-5.04 5.039-5.04z" fill="url(#a)" fill-rule="nonzero"/>
+ <path d="m27 18v4c0 .552-.448 1-1 1h-4c-.552 0-1-.448-1-1v-4c0-.552.448-1 1-1h4c.552 0 1 .448 1 1zm8 0v4c0 .552-.448 1-1 1h-4c-.552 0-1-.448-1-1v-4c0-.552.448-1 1-1h4c.552 0 1 .448 1 1zm-16 0v4c0 .552-.448 1-1 1h-4c-.552 0-1-.448-1-1v-4c0-.552.448-1 1-1h4c.552 0 1 .448 1 1zm8-8v4c0 .552-.448 1-1 1h-4c-.552 0-1-.448-1-1v-4c0-.552.448-1 1-1h4c.552 0 1 .448 1 1zm8 0v4c0 .552-.448 1-1 1h-4c-.552 0-1-.448-1-1v-4c0-.552.448-1 1-1h4c.552 0 1 .448 1 1zm-16 0v4c0 .552-.448 1-1 1h-4c-.552 0-1-.448-1-1v-4c0-.552.448-1 1-1h4c.552 0 1 .448 1 1zm8 16v4c0 .552-.448 1-1 1h-4c-.552 0-1-.448-1-1v-4c0-.552.448-1 1-1h4c.552 0 1 .448 1 1zm8 0v4c0 .552-.448 1-1 1h-4c-.552 0-1-.448-1-1v-4c0-.552.448-1 1-1h4c.552 0 1 .448 1 1zm-16 0v4c0 .552-.448 1-1 1h-4c-.552 0-1-.448-1-1v-4c0-.552.448-1 1-1h4c.552 0 1 .448 1 1z" fill="#e4e4e4"/>
+ <path d="m35 34c0-.552-.448-1-1-1h-4c-.552 0-1 .448-1 1v4c0 .552.448 1 1 1h4c.552 0 1-.448 1-1z" fill="#ba1919"/>
+ <path d="m23.232 33.306-.002-.424 1.514-.005-.001.422.818-.004c.785-.001 1.425.634 1.428 1.418l.011 2.845c.004.786-.631 1.426-1.417 1.43l-3.146.012c-.786.004-1.424-.633-1.428-1.418l-.011-2.846c-.004-.785.632-1.424 1.418-1.428zm-.416 1.251c.407-.003.74.328.741.735.003.407-.328.74-.735.741-.408.003-.74-.328-.741-.735-.003-.408.328-.74.735-.741zm2.52-.012c.407 0 .741.328.743.737.001.409-.328.74-.737.742s-.74-.328-.742-.737c-.001-.407.328-.74.736-.742z" fill="#fff"/>
+ <path d="m19 34c0-.552-.448-1-1-1h-4c-.552 0-1 .448-1 1v4c0 .552.448 1 1 1h4c.552 0 1-.448 1-1z" fill="#64c90e"/>
+</svg>
diff --git a/.icons/kora/devices/scalable/input-gaming.svg b/.icons/kora/devices/scalable/input-gaming.svg
new file mode 100644
index 000000000..b145518ff
--- /dev/null
+++ b/.icons/kora/devices/scalable/input-gaming.svg
@@ -0,0 +1,24 @@
+<svg width="100%" height="100%" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;">
+ <g transform="matrix(1,0,0,1,-435.185,-496.427)">
+ <g transform="matrix(1.0256,0,0,1,-11.33,5.47396)">
+ <circle cx="481.696" cy="521.923" r="9.125" style="fill:url(#_Linear1);"/>
+ <circle cx="451.321" cy="522.048" r="8.75" style="fill:url(#_Linear2);"/>
+ </g>
+ <g transform="matrix(1.08909,0,0,1.08909,-41.6213,-41.1156)">
+ <path d="M493.634,518.794C491.785,511.059 488.436,509.022 484.737,509.362L478.671,509.362C478.637,505.266 476.35,504.586 467.185,504.586C458.02,504.586 455.736,504.728 455.698,509.362C455.698,509.362 449.873,509.362 447.852,509.362C444.847,509.362 442.281,512.324 440.736,518.794C438.643,527.535 439.256,540.233 443.517,541.254C446.147,541.883 449.55,537.907 452.262,532.718L459.264,535.329C460.17,540.293 464.113,540.085 467.185,540.085C470.27,540.085 473.839,540.128 475.132,535.184L482.047,532.606C484.769,537.85 488.205,541.888 490.853,541.254C495.114,540.233 495.727,527.535 493.634,518.794ZM482.967,515.492C484.118,515.492 485.048,516.424 485.048,517.573C485.048,518.723 484.118,519.655 482.967,519.655C481.817,519.655 480.887,518.723 480.887,517.573C480.887,516.424 481.817,515.492 482.967,515.492ZM457.755,523.231C457.755,523.685 457.386,524.054 456.932,524.054L454.082,524.054L454.082,526.902C454.082,527.357 453.713,527.725 453.259,527.725L450.527,527.725C450.073,527.725 449.704,527.357 449.704,526.902L449.704,524.054L447.852,524.054L446.855,524.054C446.401,524.054 446.032,523.685 446.032,523.231L446.032,520.499C446.032,520.044 446.401,519.676 446.855,519.676L449.704,519.676L449.704,516.826C449.704,516.371 450.073,516.003 450.527,516.003L453.259,516.003C453.713,516.003 454.082,516.371 454.082,516.826L454.082,519.676L456.932,519.676C457.386,519.676 457.755,520.044 457.755,520.499L457.755,523.231ZM478.676,523.946C477.525,523.946 476.596,523.013 476.596,521.864C476.596,520.716 477.526,519.783 478.676,519.783C479.827,519.783 480.757,520.716 480.757,521.864C480.756,523.013 479.827,523.946 478.676,523.946ZM480.887,526.156C480.887,525.006 481.817,524.075 482.967,524.075C484.118,524.075 485.048,525.006 485.048,526.156C485.048,527.306 484.118,528.237 482.967,528.237C481.817,528.237 480.887,527.306 480.887,526.156ZM487.259,523.946C486.844,523.946 486.482,523.795 486.159,523.587C485.582,523.217 485.178,522.6 485.178,521.864C485.178,521.128 485.582,520.512 486.159,520.142C486.482,519.934 486.844,519.783 487.259,519.783C488.409,519.783 489.339,520.716 489.339,521.864C489.339,523.013 488.409,523.946 487.259,523.946Z" style="fill:url(#_Linear3);fill-rule:nonzero;"/>
+ </g>
+ </g>
+ <g transform="matrix(0.468975,0,0,0.468975,-187.103,-210.595)">
+ <circle cx="467.071" cy="540.298" r="5" style="fill:url(#_Linear4);"/>
+ </g>
+ <g transform="matrix(0.468975,0,0,0.468975,-187.103,-210.595)">
+ <circle cx="467.321" cy="528.798" r="5" style="fill:url(#_Linear5);"/>
+ </g>
+ <defs>
+ <linearGradient id="_Linear1" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.34099e-15,-21.9,21.9,1.34099e-15,481.24,531.048)"><stop offset="0" style="stop-color:rgb(240,94,58);stop-opacity:1"/><stop offset="1" style="stop-color:rgb(253,228,106);stop-opacity:1"/></linearGradient>
+ <linearGradient id="_Linear2" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.28588e-15,-21,21,1.28588e-15,450.884,530.798)"><stop offset="0" style="stop-color:rgb(134,137,137);stop-opacity:1"/><stop offset="1" style="stop-color:rgb(185,189,193);stop-opacity:1"/></linearGradient>
+ <linearGradient id="_Linear3" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(3.24531e-15,-53,53,3.24531e-15,469.571,555.798)"><stop offset="0" style="stop-color:rgb(32,32,32);stop-opacity:1"/><stop offset="0.5" style="stop-color:rgb(32,32,32);stop-opacity:1"/><stop offset="1" style="stop-color:rgb(90,90,92);stop-opacity:1"/></linearGradient>
+ <linearGradient id="_Linear4" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(7.34788e-16,-12,12,7.34788e-16,466.821,545.298)"><stop offset="0" style="stop-color:rgb(127,135,135);stop-opacity:1"/><stop offset="1" style="stop-color:rgb(159,185,210);stop-opacity:1"/></linearGradient>
+ <linearGradient id="_Linear5" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(7.34788e-16,-12,12,7.34788e-16,467.071,533.798)"><stop offset="0" style="stop-color:rgb(0,136,255);stop-opacity:1"/><stop offset="1" style="stop-color:rgb(2,195,255);stop-opacity:1"/></linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/input-keyboard.svg b/.icons/kora/devices/scalable/input-keyboard.svg
new file mode 100644
index 000000000..280636b88
--- /dev/null
+++ b/.icons/kora/devices/scalable/input-keyboard.svg
@@ -0,0 +1,16 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m39.44 2.332c3.438 0 6.228 2.79 6.228 6.228v30.88c0 3.438-2.79 6.228-6.228 6.228h-30.88c-3.438 0-6.228-2.79-6.228-6.228v-30.88c0-3.438 2.79-6.228 6.228-6.228h30.88z" style="fill:url(#_Linear1)"/>
+ <path d="m33.052 28.355v4.534h-18.22v-4.534h18.22zm6.873-0.279v4.813h-4.814v-4.813h4.814zm-26.861 0v4.813h-4.814v-4.813h4.814zm19.988-6.325v4.813h-4.814v-4.813h4.814zm6.873 0v4.813h-4.814v-4.813h4.814zm-13.432 0v4.813h-4.813v-4.813h4.813zm-6.845 0v4.813h-4.816v-4.813h4.816zm-6.584 0v4.813h-4.815v-4.813h4.815zm19.988-6.297v4.814h-4.814v-4.814h4.814zm6.873 0v4.814h-4.814v-4.814h4.814zm-13.399 0v4.814h-4.813v-4.814h4.813zm-6.878 0v4.814h-4.816v-4.814h4.816zm-6.584 0v4.814h-4.815v-4.814h4.815z" style="fill-opacity:.75;fill:#030000"/>
+ <path d="m32.925 28.179v4.514l-18.138-1e-3v-4.513h18.138zm6.842-0.278v4.791h-4.791l-1e-3 -4.791h4.792zm-26.74 0v4.791h-4.792v-4.791h4.792zm19.898-6.297v4.792h-4.792v-4.792h4.792zm6.842 0v4.792h-4.792v-4.792h4.792zm-13.371 0v4.792h-4.792v-4.792h4.792zm-6.815 0v4.792h-4.794v-4.792h4.794zm-6.554 0v4.792h-4.794v-4.792h4.794zm19.898-6.268v4.792h-4.792v-4.792h4.792zm6.842 0v4.792h-4.791v-4.792h4.791zm-13.338 0v4.792h-4.792v-4.792h4.792zm-6.848 0v4.792h-4.794v-4.792h4.794zm-6.554 0v4.792h-4.794v-4.792h4.794z" style="fill:url(#_Linear2)"/>
+ <path d="m11.738 31.007c8e-3 6e-3 0.019 0.032 0.018 0.069-4e-3 0.066 0.134 0.237 0.185 0.269 0.24 0.148-0.148 0.275-0.216 0.32-0.102 0.068-0.206 0.136-0.295 0.221-0.188 0.179-0.338-0.13-0.496-0.134-0.154-4e-3 -0.292-3e-3 -0.445 5e-3 -0.147 2e-3 -0.291 0.168-0.421 0.156-0.162-0.016-0.309-0.102-0.469-0.136-0.052-0.011-0.295-0.032-0.349-0.113-0.032-0.049 0.044-0.18 0.046-0.222 1e-3 -0.012-0.056-0.234-0.013-0.266 0.059-0.043 0.15-0.012 0.213-0.047 0.053-0.029 0.056-0.073 0.086-0.109 0 0 0.078-0.052 0.094-0.07-0.022-0.02-0.023-0.049-0.024-0.063-9e-3 -0.069-0.024-0.096-4e-3 -0.207 0.034-0.192 0.159-0.462 0.301-0.601 0.078-0.101 0.15-0.26 0.173-0.348 0.013-0.255-0.02-0.624 0.13-0.86 0.176-0.277 0.561-0.297 0.75-0.024 0.156 0.226 0.126 0.537 0.201 0.786 0.116 0.389 0.46 0.617 0.531 1.045 0.03 0.179-9e-3 0.289-0.048 0.295-0.058 8e-3 -0.095 0.193-0.278 0.185-0.111-5e-3 -0.127-0.033-0.169-0.083-0.012-0.014-0.03-0.041-0.041-0.068-0.021 0.035-0.02 0.054-4e-3 0.087 0.024 0.048 0.097 0.16 0.306 0.097 0.084-0.025 0.12-0.061 0.165-0.117 0.045-0.055 0.054-0.082 0.073-0.067zm-1.475-1.671c-6e-3 -0.054-0.018-0.1 0.076-0.103 0.061-2e-3 0.079 0.115 0.064 0.15-0.049 0.115-0.293 0.142-0.084 0.27 0.03 0.018 0.064 0.035 0.099 0.037 0.047 1e-3 0.227-0.03 0.29-0.059 0.045-0.02 0.074-0.052 0.131-0.072 0.019-7e-3 -0.076 0.082-0.137 0.107-0.057 0.023-0.198 0.051-0.252 0.062-0.052 9e-3 -0.124-0.049-0.11 2e-3 0.015 0.051 0.138 0.077 0.154 0.075 0.169-0.01 0.212-0.066 0.3-0.125 0.012-8e-3 0.042 4e-3 0.039 0.019-0.012 0.053-0.065 0.116-0.098 0.132-0.142 0.07-0.234 0.135-0.325 0.088-0.107-0.057-0.044-0.118-0.149-0.175-0.037-0.021-0.024 0.083-0.039 0.123-0.042 0.105-0.138 0.198-0.072 0.321-0.056 0.015-0.183 0.283-0.201 0.423-9e-3 0.077 3e-3 0.156-0.012 0.233-5e-3 0.029-0.067-6e-3 -0.081-0.032-0.038-0.072-0.048-0.156-0.031-0.236 7e-3 -0.034 1e-3 -0.041-8e-3 -0.025-0.051 0.09-0.023 0.215 0.018 0.303 0.083 0.18 0.308 0.252 0.45 0.392 0.046 0.046 0.038 0.131-0.017 0.169-0.132-0.176-0.293-0.336-0.35-0.387-0.024-0.021-0.08-0.078-0.126-0.06 0.043 0.036 0.118 0.111 0.171 0.159 0.166 0.154 0.363 0.37 0.361 0.617 0.068-0.036 0.041-0.116 0.012-0.168-0.087-0.159 0.074-0.026 0.148-9e-3 0.058 0.013 0.118 8e-3 0.176 1e-3 0.063-8e-3 0.127-0.02 0.184-0.048 0.053-0.027 0.092-0.074 0.137-0.111 0.022-0.018 0.039-0.068 0.064-0.055 0.099 0.048-0.123 0.355 8e-3 0.36 0.015-0.102 0.044-0.203 0.051-0.305 9e-3 -0.106-0.119-0.469 0.108-0.473 6e-3 -0.145 0.232-0.134 0.306-0.074 0-0.033-0.071-0.063-0.099-0.077 0.048-0.164 0.026-0.23-7e-3 -0.384-0.025-0.118-0.132-0.277-0.216-0.327 0.156 0.138 0.258 0.462 0.202 0.661-0.019 0.065-0.061 0.073-0.09 0.076-0.13 0.013-0.054-0.153-0.108-0.382-0.06-0.255-0.12-0.274-0.136-0.294-0.074-0.331-0.157-0.298-0.18-0.423-0.021-0.111 0.097-0.202-0.063-0.233-0.052-0.011-0.107-0.026-0.146-0.062-0.05-0.048-0.015-0.185 0.06-0.19 0.101-8e-3 0.134 0.115 0.114 0.163-6e-3 9e-3 -0.019 0.041-0.033 0.061 0.018 7e-3 0.038 0.014 0.071-0.013 0.059-0.048 0.046-0.089 0.033-0.138-0.041-0.144-0.098-0.171-0.164-0.183-0.094-0.018-0.151 0.056-0.167 0.152-7e-3 0.039 2e-3 0.083 0.012 0.117-0.022-2e-3 -0.066-0.012-0.094-0.017-0.019-3e-3 -0.039 4e-3 -0.057 4e-3 3e-3 -0.142-0.045-0.236-0.111-0.238-0.131-3e-3 -0.143 0.272-0.048 0.319 0.011 5e-3 0.037-0.016 0.041-0.028-8e-3 -8e-3 -0.021-0.019-0.038-0.036-0.018-0.016-0.03-0.039-0.031-0.054zm0.481-0.087c-0.049 4e-3 -0.066 0.057-0.068 0.1-1e-3 0.016 7e-3 0.044 0.022 0.053 0.042 0.027 0.079 0.025 0.094 0.015 0.024-0.015 0.03-0.05 0.023-0.091-0.044 4e-3 -0.077-2e-3 -0.076-0.053 0-9e-3 6e-3 -0.024 5e-3 -0.024zm-0.461 0.086c6e-3 0.016 0.015 0.04 0.053 0.055 0.02 8e-3 0.047-0.01 0.048-0.034 2e-3 -0.02-3e-3 -0.029-5e-3 -0.033-0.01 7e-3 -0.021 7e-3 -0.028 9e-3 -0.012 3e-3 -0.021-7e-3 -0.027-0.016-6e-3 -8e-3 -3e-3 -0.019-2e-3 -0.029 2e-3 -9e-3 4e-3 -0.017 0.011-0.032-0.014-9e-3 -0.042 0.015-0.048 0.033-6e-3 0.012-7e-3 0.031-2e-3 0.047z" style="fill-rule:nonzero;fill:#fff"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(2.23513e-15,-36.5025,36.5025,2.23513e-15,509.994,42.5695)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#97a9b1" offset="0"/>
+ <stop style="stop-color:#cfdce1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear2" x2="1" gradientTransform="matrix(-2.31325,18.296,-18.296,-2.31325,-631.85,-67.4411)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#818181" offset="0"/>
+ <stop style="stop-color:#484848" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/input-mouse.svg b/.icons/kora/devices/scalable/input-mouse.svg
new file mode 100644
index 000000000..6304212b2
--- /dev/null
+++ b/.icons/kora/devices/scalable/input-mouse.svg
@@ -0,0 +1,22 @@
+<svg width="100%" height="100%" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1.5;">
+ <g transform="matrix(1.11828,0,0,1.11828,-425.053,-554.032)">
+ <g transform="matrix(1.1489,0,0,1,-60.8367,0)">
+ <path d="M408.571,501.3C408.199,501.299 396.818,509.323 396.897,513.55C397.063,522.432 395.629,530.762 397.377,539.229C397.89,541.712 399.99,547.006 408.571,547.298C417.122,547.206 419.253,541.712 419.766,539.229C421.514,530.762 420.082,522.349 420.246,513.55C420.325,509.323 408.944,501.299 408.571,501.3Z" style="fill-opacity:0.666667;fill-rule:nonzero;"/>
+ </g>
+ <g transform="matrix(1.1489,0,0,1,-60.8367,0)">
+ <path d="M408.577,500.461C400.76,500.451 396.729,508.539 396.81,512.798C397.077,526.915 395.539,530.16 397.3,538.689C397.817,541.19 400.164,546.512 408.577,546.798C416.605,547.071 419.337,541.19 419.853,538.689C421.615,530.16 420.177,521.592 420.344,512.798C420.425,508.539 416.393,500.451 408.577,500.461Z" style="fill:url(#_Linear1);fill-rule:nonzero;"/>
+ </g>
+ <g transform="matrix(1.49646,0,0,1.23641,-202.839,-120.639)">
+ <path d="M408.571,506.798C409.125,506.798 409.571,507.348 409.571,508.03L409.571,511.566C409.571,512.248 409.125,512.798 408.571,512.798C408.017,512.798 407.571,512.248 407.571,511.566L407.571,508.03C407.571,507.348 408.017,506.798 408.571,506.798Z" style="fill:rgb(69,69,69);fill-opacity:0.784314;fill-rule:nonzero;"/>
+ </g>
+ <g transform="matrix(1.49646,0,0,1.23641,-202.839,-120.639)">
+ <path d="M408.571,507.798C409.125,507.798 409.571,508.348 409.571,509.03L409.571,512.566C409.571,513.248 409.125,513.798 408.571,513.798C408.017,513.798 407.571,513.248 407.571,512.566L407.571,509.03C407.571,508.348 408.017,507.798 408.571,507.798Z" style="fill:rgb(15,15,15);fill-opacity:0.784314;fill-rule:nonzero;"/>
+ </g>
+ <g transform="matrix(0.894231,0,0,0.894231,380.096,495.433)">
+ <path d="M31.843,11.667L31.844,5.756" style="fill:none;stroke:rgb(86,86,86);stroke-width:0.25px;"/>
+ </g>
+ </g>
+ <defs>
+ <linearGradient id="_Linear1" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.90804e-15,47.4919,-47.4919,2.90804e-15,422.115,499.896)"><stop offset="0" style="stop-color:rgb(200,200,200);stop-opacity:1"/><stop offset="0.24" style="stop-color:rgb(140,140,140);stop-opacity:1"/><stop offset="0.5" style="stop-color:rgb(122,122,122);stop-opacity:1"/><stop offset="0.78" style="stop-color:rgb(132,132,132);stop-opacity:1"/><stop offset="1" style="stop-color:rgb(167,167,167);stop-opacity:1"/></linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/input-tablet.svg b/.icons/kora/devices/scalable/input-tablet.svg
new file mode 100644
index 000000000..bb991f49d
--- /dev/null
+++ b/.icons/kora/devices/scalable/input-tablet.svg
@@ -0,0 +1,12 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m39.44 2.332c3.438 0 6.228 2.79 6.228 6.228v30.88c0 3.438-2.79 6.228-6.228 6.228h-30.88c-3.438 0-6.228-2.79-6.228-6.228v-30.88c0-3.438 2.79-6.228 6.228-6.228h30.88z" style="fill:url(#_Linear1)"/>
+ <rect x="16.113" y="5.659" width="27.297" height="36.682" style="fill:#47606a"/>
+ <path d="m38.536 10.99c-0.07 0-0.138 0.012-0.204 0.036-0.132 0.048-0.241 0.144-0.302 0.264l-0.734 1.524 3.67 1.776 0.734-1.524c0.128-0.264 0.017-0.576-0.246-0.708l-2.719-1.308c-0.062-0.036-0.131-0.048-0.199-0.06zm-1.471 2.292-0.255 0.528 3.671 1.776 0.255-0.528-3.671-1.776zm-0.485 1.008-0.257 0.528 3.671 1.776 0.257-0.528-3.671-1.776zm-0.487 1.008-7.746 17.004c-0.036 0.072-0.055 0.156-0.054 0.24l0.037 3.396c2e-3 0.192 0.118 0.372 0.299 0.468 0.127 0.06 0.273 0.06 0.404 0.024 0.053-0.024 0.103-0.048 0.149-0.084l2.681-2.076c0.065-0.048 0.119-0.108 0.155-0.192l7.747-17.004-3.672-1.776z" style="fill-opacity:.85;fill-rule:nonzero;fill:#fff"/>
+ <path d="m8.733 18.941c2.791 0 5.057 2.266 5.057 5.057s-2.266 5.057-5.057 5.057-5.057-2.266-5.057-5.057 2.266-5.057 5.057-5.057zm0 2.492c1.416 0 2.565 1.149 2.565 2.565s-1.149 2.565-2.565 2.565-2.565-1.149-2.565-2.565 1.149-2.565 2.565-2.565z" style="fill:#47606a"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(1.841e-15,-30.0658,30.0658,1.841e-15,34283.8,40.5173)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#2e3e46" offset="0"/>
+ <stop style="stop-color:#47606a" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/input-touchpad.svg b/.icons/kora/devices/scalable/input-touchpad.svg
new file mode 100644
index 000000000..a5c5c45fe
--- /dev/null
+++ b/.icons/kora/devices/scalable/input-touchpad.svg
@@ -0,0 +1,11 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m39.44 2.332c3.438 0 6.228 2.79 6.228 6.228v30.88c0 3.438-2.79 6.228-6.228 6.228h-30.88c-3.438 0-6.228-2.79-6.228-6.228v-30.88c0-3.438 2.79-6.228 6.228-6.228h30.88z" style="fill:url(#_Linear1)"/>
+ <path d="m42 21v1h-8.526v-1h8.526zm0-3v1h-8.526v-1h8.526zm0-3v1h-8.526v-1h8.526zm0-3v1h-8.526v-1h8.526zm0-3v1h-8.526v-1h8.526zm0-3v1h-8.526v-1h8.526z" style="fill:#acacac"/>
+ <path d="m21.158 32.526c1.046 0 1.895 0.849 1.895 1.895v5.684c0 1.046-0.849 1.895-1.895 1.895h-13.263c-1.046 0-1.895-0.849-1.895-1.895v-5.684c0-1.046 0.849-1.895 1.895-1.895h13.263zm18.947 0c1.046 0 1.895 0.849 1.895 1.895v5.684c0 1.046-0.849 1.895-1.895 1.895h-13.263c-1.046 0-1.895-0.849-1.895-1.895v-5.684c0-1.046 0.849-1.895 1.895-1.895h13.263z" style="fill:#939393"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(2.44929e-15,-40,40,2.44929e-15,-136,44)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#404040" offset="0"/>
+ <stop style="stop-color:#5b5b5b" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/joystick.svg b/.icons/kora/devices/scalable/joystick.svg
new file mode 120000
index 000000000..01d10d033
--- /dev/null
+++ b/.icons/kora/devices/scalable/joystick.svg
@@ -0,0 +1 @@
+input-gaming.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/kde-connect.svg b/.icons/kora/devices/scalable/kde-connect.svg
new file mode 100644
index 000000000..64abb61bd
--- /dev/null
+++ b/.icons/kora/devices/scalable/kde-connect.svg
@@ -0,0 +1,13 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(0 -408.737 408.737 0 42139.4 550.412)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#006783" offset="0"/>
+ <stop stop-color="#13bee3" offset="1"/>
+ </linearGradient>
+ <linearGradient id="b" x2="1" gradientTransform="matrix(-.051729 -12.1132 12.1132 -.051729 12573.9 996.808)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#141414" offset="0"/>
+ <stop stop-color="#2d2d2f" offset="1"/>
+ </linearGradient>
+ <path transform="matrix(.0732929 0 0 .0562113 14.2679 4.27923)" d="m-13.563 87.912h292.693v525.809h-292.693z" fill="url(#a)"/>
+ <path transform="matrix(3.09316 0 0 3.09316 -.745282 -3206.38)" d="m11.404 1037.36h-6.808c-.31 0-.561.25-.561.56v12.88c0 .31.251.56.561.56h6.808c.31 0 .561-.25.561-.56v-12.88c0-.31-.251-.56-.561-.56zm-.082 11.78h-6.644v-9.55h6.644z" fill="url(#b)" fill-rule="nonzero"/>
+ <ellipse transform="matrix(.0829039 0 0 .0574213 12.9917 5.35949)" cx="132.784" cy="637.424" rx="20.679" ry="29.856" fill="#088bab"/>
+</svg>
diff --git a/.icons/kora/devices/scalable/kdeconnect.svg b/.icons/kora/devices/scalable/kdeconnect.svg
new file mode 100644
index 000000000..16e766438
--- /dev/null
+++ b/.icons/kora/devices/scalable/kdeconnect.svg
@@ -0,0 +1,14 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(0 -408.737 408.737 0 42139.4 550.412)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#006783" offset="0"/>
+ <stop stop-color="#13bee3" offset="1"/>
+ </linearGradient>
+ <linearGradient id="b" x2="1" gradientTransform="matrix(-.051729 -12.1132 12.1132 -.051729 12573.9 996.808)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#141414" offset="0"/>
+ <stop stop-color="#2d2d2f" offset="1"/>
+ </linearGradient>
+ <path transform="matrix(.0732929 0 0 .0562113 14.2679 4.27923)" d="m-13.563 87.912h292.693v525.809h-292.693z" fill="url(#a)"/>
+ <path transform="matrix(3.09316 0 0 3.09316 -.745282 -3206.38)" d="m11.404 1037.36h-6.808c-.31 0-.561.25-.561.56v12.88c0 .31.251.56.561.56h6.808c.31 0 .561-.25.561-.56v-12.88c0-.31-.251-.56-.561-.56zm-.082 11.78h-6.644v-9.55h6.644z" fill="url(#b)" fill-rule="nonzero"/>
+ <path transform="matrix(.941397 0 0 .941397 1.40648 1.40555)" d="m21.847 26.861c1.188 0 2.153.962 2.153 2.146 0 1.185-.965 2.146-2.153 2.146s-2.152-.961-2.152-2.146c0-1.184.964-2.146 2.152-2.146zm4.306-10.014-2.041 2.034 3.139 3.129-3.251 3.689 2.153 1.878 5.023-5.723zm-7.535 5.007c.99 0 1.794.801 1.794 1.788s-.804 1.789-1.794 1.789-1.794-.802-1.794-1.789.804-1.788 1.794-1.788zm1.435-5.007c.594 0 1.077.48 1.077 1.073 0 .592-.483 1.073-1.077 1.073s-1.076-.481-1.076-1.073c0-.593.482-1.073 1.076-1.073z" fill="#121212" fill-opacity=".84"/>
+ <ellipse transform="matrix(.0905596 0 0 .063563 11.9752 1.95742)" cx="132.784" cy="637.424" rx="20.679" ry="29.856" fill="#088bab"/>
+</svg>
diff --git a/.icons/kora/devices/scalable/keyboard.svg b/.icons/kora/devices/scalable/keyboard.svg
new file mode 120000
index 000000000..ff417223d
--- /dev/null
+++ b/.icons/kora/devices/scalable/keyboard.svg
@@ -0,0 +1 @@
+input-keyboard.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/lan-segment.svg b/.icons/kora/devices/scalable/lan-segment.svg
new file mode 120000
index 000000000..84ab20350
--- /dev/null
+++ b/.icons/kora/devices/scalable/lan-segment.svg
@@ -0,0 +1 @@
+network-wired.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/laptop.svg b/.icons/kora/devices/scalable/laptop.svg
new file mode 120000
index 000000000..a19553813
--- /dev/null
+++ b/.icons/kora/devices/scalable/laptop.svg
@@ -0,0 +1 @@
+computer-laptop.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/media-cdrom.svg b/.icons/kora/devices/scalable/media-cdrom.svg
new file mode 120000
index 000000000..63739ccc2
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-cdrom.svg
@@ -0,0 +1 @@
+media-optical.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/media-flash-memory-stick.svg b/.icons/kora/devices/scalable/media-flash-memory-stick.svg
new file mode 100644
index 000000000..e8ea3fe0f
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-flash-memory-stick.svg
@@ -0,0 +1 @@
+<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientTransform="matrix(0 1.0271756 1 0 -499.79799 -395.97889)" gradientUnits="userSpaceOnUse" x1="432.23273" x2="401.07935" y1="537.79797" y2="537.79797"><stop offset="0" stop-color="#151515"/><stop offset="1" stop-color="#3f3f3f"/></linearGradient><g transform="translate(-376.57144 -491.79797)"><path d="m6 17.983562v22.038356c0 .978105.3126408 1.290723.9986301 1.976712l4.9917809 4.991781c1.009576 1.009612.988024 1.009589 1.982192 1.009589h7.027397 2 5 2 25.989041c.010946.000023 2.010959.017548 2.010959-1.994521v-3.366807c-.642809-.728874-.998278-1.66684-1-2.638672.0017-.971832.357191-1.909798 1-2.638672v-19.391074c0 .029769.024078-1.970254-1.942899-1.970254h-23.057101-13-12.0109589c-1.9890411.000023-1.9890411 1.983562-1.9890411 1.983562z" fill="url(#a)" transform="translate(376.57144 491.79797)"/><g fill="#fff"><path d="m393.59722 535.68997-3.72765-2.11589 3.72765-2.11586z" fill-rule="evenodd"/><g><path d="m401.85942 534.91028v-2.3903h.42928v.33172h.0195q.10244-.17074.3122-.28781.21464-.12196.4244-.12196.55611 0 .75611.45855.29269-.45855.83417-.45855.4244 0 .63903.27318.21464.2683.21464.73172v1.46345h-.44879v-1.39515q0-.36099-.13171-.51221-.13171-.15122-.4-.15122-.26343 0-.43904.22439-.17073.2244-.17073.51221v1.32198h-.44879v-1.39515q0-.36099-.13171-.51221-.13171-.15122-.40001-.15122-.26342 0-.43904.22439-.17073.2244-.17073.51221v1.32198h-.44879z"/><path d="m407.09642 534.98833q-.54148 0-.88295-.36098-.33659-.36099-.33659-.91222 0-.52196.32684-.89758.33171-.37562.84392-.37562.53172 0 .8488.34635.32195.34635.32195.92685l-.005.0829h-1.88785q.0195.36098.23903.57074.2244.20976.52196.20976.48294 0 .65367-.40976l.40001.16586q-.11707.27805-.38537.4683-.2683.18537-.65855.18537zm.64391-1.56101q-.0146-.20488-.19024-.39025-.17074-.18537-.51221-.18537-.24878 0-.43415.1561-.1805.1561-.24879.41952z"/><path d="m408.62404 534.91028v-2.3903h.42928v.33172h.0195q.10244-.17074.3122-.28781.21464-.12196.4244-.12196.55611 0 .75612.45855.29269-.45855.83416-.45855.4244 0 .63904.27318.21464.2683.21464.73172v1.46345h-.44879v-1.39515q0-.36099-.13171-.51221-.13171-.15122-.40001-.15122-.26342 0-.43903.22439-.17074.2244-.17074.51221v1.32198h-.44879v-1.39515q0-.36099-.13171-.51221-.13171-.15122-.40001-.15122-.26342 0-.43903.22439-.17074.2244-.17074.51221v1.32198h-.44879z"/><path d="m412.98785 532.8078q.34635-.36587.88295-.36587.5366 0 .88294.36587.34635.36098.34635.90733 0 .54635-.34635.91222-.34634.36098-.88294.36098-.5366 0-.88295-.36098-.34635-.36587-.34635-.91222 0-.54635.34635-.90733zm.33172 1.53661q.23415.23415.55123.23415.31708 0 .54635-.23415.23415-.23903.23415-.62928 0-.39025-.23415-.6244-.22927-.23903-.54635-.23903-.31708 0-.55123.23903-.22928.23415-.22928.6244 0 .39025.22928.62928z"/><path d="m415.91368 534.91028h-.44879v-2.3903h.42927v.39026h.0195q.0683-.19513.27805-.32196.21464-.12683.41464-.12683.20001 0 .3366.0585l-.17074.41953q-.0878-.0342-.23903-.0342-.24391 0-.43415.19512-.18537.19025-.18537.50245v1.30735z"/><path d="m417.9237 535.96396h-.46342l.55611-1.2049-.98539-2.23908h.48782l.71221 1.71711h.01l.6927-1.71711h.48782l-1.4976 3.44398z"/><path d="m421.67866 534.98833q-.40001 0-.66343-.19513-.25854-.19512-.38049-.48781l.4-.16586q.19025.44879.6488.44879.20976 0 .34147-.0927.13659-.0927.13659-.24391 0-.23415-.32684-.31708l-.48294-.11708q-.22927-.0585-.43415-.21951-.20488-.16586-.20488-.44392 0-.31708.27805-.5122.28293-.20001.66831-.20001.31708 0 .56586.14635.24879.14146.35611.40976l-.39025.16098q-.13171-.31708-.54636-.31708-.2 0-.33659.0829-.13659.0829-.13659.2244 0 .20488.31708.27805l.47318.1122q.3366.078.49757.2683.16098.19024.16098.42927 0 .32196-.26342.5366-.26342.21464-.67806.21464z"/><path d="m424.01636 534.9493q-.37562 0-.57562-.2-.19513-.2-.19513-.56587v-1.25368h-.41952v-.40977h.41952v-.73172h.44879v.73172h.58538v.40977h-.58538v1.21954q0 .39025.32196.39025.12196 0 .20488-.039l.1561.38538q-.14634.0634-.36098.0634z"/><path d="m425.22309 531.91997q-.0927.0927-.22439.0927-.13171 0-.2244-.0927-.0927-.0927-.0927-.22439 0-.13171.0927-.2244.0927-.0927.2244-.0927.13171 0 .22439.0927.0927.0927.0927.2244 0 .13171-.0927.22439zm0 2.99031h-.44879v-2.3903h.44879z"/><path d="m426.87603 534.98833q-.5366 0-.88295-.36098-.34635-.36587-.34635-.91222 0-.54635.34635-.90733.34635-.36587.88295-.36587.4 0 .66342.19513.26342.19513.38538.49269l-.40977.17074q-.18537-.44879-.6683-.44879-.29757 0-.52684.24391-.2244.2439-.2244.61952 0 .37562.2244.61953.22927.2439.52684.2439.50245 0 .69269-.44879l.40001.17074q-.12195.29269-.39513.49269-.2683.19513-.6683.19513z"/><path d="m428.77599 531.41752v2.15127l1.03417-1.04881h.57562v.0195l-.93173.93172.97563 1.41955v.0195h-.54147l-.75124-1.12685-.36098.36098v.76587h-.44879v-3.49276h.44879z"/></g><path d="m422.13253 512.63029-.001 1.07335c.00002.0409.0129.0801.0361.10897.0233.0289.0547.0452.0876.0454l.86502.001c.0685.00029.12419-.0685.12416-.15356l.00014-.14964.65907.001.61455 1.13784-2.5182-.005.0004-.39572c.00005-.0425-.0177-.0819-.0469-.10391-.0293-.0221-.0656-.0239-.096-.005l-1.21853.78044c-.0324.0209-.0529.0625-.053.10792.00008.0455.0203.087.0527.10803l1.2163.78573c.0303.0195.0668.0181.096-.004.0293-.0221.0471-.0615.0472-.1039l.0004-.39607 3.48782.008-.66651 1.22475-.52333-.001c-.10098-.19005-.27411-.3158-.47115-.31624-.31267-.00067-.56651.31312-.56689.70154-.0004.38769.25244.70242.5651.70325.19718.0004.37062-.12461.47214-.31423l.68908.001c.10393.00029.201-.0635.25904-.17059l.99429-1.82734 1.07563.003c.1113.2577.32779.43517.57997.43571.36552.0004.66238-.36621.66316-.81986.0004-.45418-.29515-.82254-.66078-.82332-.25214-.0004-.4688.17592-.58097.43316l-2.04532-.005-.94074-1.7419c-.0113-.0209-.0241-.0403-.0382-.0577-.0578-.072-.13687-.11368-.22044-.11382l-.82495-.001.0002-.14974c-.00002-.0409-.0131-.08-.0363-.1089s-.0547-.0451-.0877-.0453l-.8648-.001c-.0686-.00026-.12413.0684-.12418.15353z" stroke="#909296" stroke-width=".029005"/></g></g></svg> \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/media-flash-sd-mmc.svg b/.icons/kora/devices/scalable/media-flash-sd-mmc.svg
new file mode 120000
index 000000000..e670f4e28
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-flash-sd-mmc.svg
@@ -0,0 +1 @@
+media-flash-smart-media.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/media-flash-smart-media.svg b/.icons/kora/devices/scalable/media-flash-smart-media.svg
new file mode 100644
index 000000000..efaa95bdf
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-flash-smart-media.svg
@@ -0,0 +1 @@
+<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientTransform="matrix(1.0271756 0 0 .99998598 -18.40745 -7.992763)" gradientUnits="userSpaceOnUse" x1="416.05402" x2="415.93399" y1="556.86884" y2="506.1409"><stop offset="0" stop-color="#151515"/><stop offset="1" stop-color="#3f3f3f"/></linearGradient><linearGradient id="b" gradientTransform="matrix(.99305459 0 0 .75338885 3.055693 124.76103)" gradientUnits="userSpaceOnUse" x1="408.57144" x2="408.57144" y1="518.77545" y2="505.64764"><stop offset="0" stop-color="#f00"/><stop offset="1" stop-color="#f55"/></linearGradient><linearGradient id="c" gradientTransform="matrix(1 0 0 .99998598 0 -1.392837)" gradientUnits="userSpaceOnUse" x1="388.80453" x2="388.84509" y1="518.99725" y2="512.09192"><stop offset="0" stop-color="#e4bd27"/><stop offset="1" stop-color="#fff360"/></linearGradient><linearGradient id="d" gradientTransform="matrix(.98795181 0 0 .99998598 5.183591 .007143)" gradientUnits="userSpaceOnUse" x1="407.52512" x2="407.43796" y1="546.59906" y2="506.14133"><stop offset="0" stop-color="#bfc1c1"/><stop offset="1" stop-color="#f1f2f3"/></linearGradient><g transform="translate(-376.57144 -491.79797)"><path d="m388.57144 509.39797c-.554 0-1 .446-1 .99999v6.9999c0 .55399.446.99999 1 .99999h2v-8.99988z" fill="url(#c)"/><path d="m387.57144 499.9071v11.89084h2v12.99982h-1.51226s-.46183-.009-.48774.61307v21.78573c.0795 2.49606 2.192 2.60085 2.192 2.60085h37.4674s2.3406.0954 2.3406-2.19616v-27.61732c-.001-.20274-.20013-.1861-.20013-.1861h-.79987v-4.99993h.69755s.30915.003.30245-.3079v-9.39496c.008-.31882-.18801-.48501-.18801-.48501l-6.66758-6.66748c-.11113-.15531-.38964-.14441-.38964-.14441h-32.76277s-1.992.0669-1.992 2.10896z" fill="url(#a)"/><rect fill="url(#d)" fill-rule="evenodd" height="37.928623" ry="1.299982" width="35.749321" x="390.91476" y="505.83618"/><path d="m392.21014 505.82319c-.7173 0-1.29495.57763-1.29495 1.29493v5.69734c0 .0114.004.0219.004.0332h-.004v1.34768h35.749v-1.34768h-.004c.00029-.0113.004-.0218.004-.0332v-5.69734c0-.7173-.57765-1.29493-1.29496-1.29493z" fill="url(#b)"/><path d="m424.18256 512.07493-1.45308-4.00229-1.45304 4.00229z" fill="#edefef" fill-rule="evenodd"/><rect fill="#abb9be" height="15.59977" ry="7.799883" width="15.599988" x="400.77151" y="518.89795"/></g></svg> \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/media-flash.svg b/.icons/kora/devices/scalable/media-flash.svg
new file mode 100644
index 000000000..7892f1168
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-flash.svg
@@ -0,0 +1,14 @@
+<svg width="100%" height="100%" viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;">
+ <g transform="matrix(0.273525,0,0,0.273525,-6.07305,-4.72176)">
+ <path d="M113.92,246.52C114.6,246.12 114.86,245.84 115.15,245.82C123.28,245.23 123.28,245.24 123.28,236.82C123.28,209.827 123.28,182.827 123.28,155.82C123.28,148.16 123.169,148.73 113.89,148.73L113.89,74.47C113.94,67.47 117.35,63.92 124.28,63.92C197.613,63.92 270.927,63.947 344.22,64C346.304,64.096 348.295,64.901 349.86,66.28C365.32,80.48 380.68,94.787 395.94,109.2C397.259,110.393 398.101,112.024 398.31,113.79C398.45,133.62 398.38,153.45 398.31,173.27C398.176,173.958 397.964,174.629 397.68,175.27L385.94,175.27L385.94,206.74L398.2,206.74C398.31,209.02 398.48,210.79 398.48,212.56C398.48,286.207 398.48,359.853 398.48,433.5C398.48,442.86 395.56,445.76 386.24,445.76L294.11,445.76L294.11,435.76L218.74,435.76C218.56,438.97 218.38,442.05 218.18,445.5C216.4,445.61 214.81,445.79 213.18,445.79L125.7,445.79C116.98,445.79 113.92,442.79 113.92,434.14L113.92,246.52ZM248.93,113.5C248.861,107.096 245.7,103.56 240.24,103.48C234.78,103.4 231.13,107.26 231.13,113.67C231.017,127.963 231.017,142.26 231.13,156.56C231.173,163.027 235.24,166.592 239.9,166.72C245.18,166.83 248.9,162.65 248.9,156.41C249.002,149.543 249.009,120.857 248.93,113.5ZM337.034,103.496L337.024,103.496L336.959,103.496C331.454,103.511 328.07,107.334 328.07,114.06C327.99,128.187 327.99,142.32 328.07,156.46C328.109,162.609 331.839,166.719 336.999,166.703C337.089,166.704 337.179,166.702 337.27,166.7C342.38,166.56 345.88,162.51 345.93,156.5C345.89,149.35 345.93,121.05 345.93,114.1C345.93,107.44 342.76,103.63 337.33,103.5C337.231,103.498 337.132,103.496 337.034,103.496ZM309.674,104.85C308.293,103.914 306.583,103.426 304.6,103.44C299.1,103.48 295.83,107.27 295.83,113.85C295.83,127.783 295.83,141.75 295.83,155.75C295.839,161.889 299.37,166.78 304.79,166.7C310.21,166.62 313.6,162.5 313.67,155.7C313.74,148.9 313.74,120.91 313.66,113.76C313.602,109.579 312.154,106.502 309.674,104.85ZM216.67,113.26C216.635,109.032 214.559,103.48 207.82,103.47C200.769,103.46 198.89,109.807 198.89,113.4C198.78,120.55 198.79,149.14 198.89,156.29C198.95,162.64 202.54,166.74 207.82,166.7C212.88,166.65 216.62,162.64 216.67,156.64C216.81,142.18 216.81,127.72 216.67,113.26L216.67,113.26ZM281.12,156.73C281.133,155.36 281.2,120.52 281.15,113.37C281.09,107.22 277.76,103.52 272.42,103.47C268.371,103.432 265.426,105.561 264.226,109.27C263.841,110.444 263.635,111.778 263.63,113.252L263.63,113.28L263.629,113.445C263.557,127.853 263.557,142.265 263.63,156.68L263.63,156.721C263.651,161.359 266.214,166.621 272.31,166.68C277.44,166.73 281.04,162.73 281.12,156.73ZM175.6,103.51C170.096,103.477 166.719,107.081 166.64,113.13C166.57,120.27 166.55,149.51 166.64,156.99C166.7,162.67 170.05,166.5 175.18,166.67C180.31,166.84 184.103,164.331 184.14,156.91C184.227,142.29 184.227,127.67 184.14,113.05C184.14,107.15 180.801,103.541 175.6,103.51Z" style="fill:rgb(50,50,50);fill-rule:nonzero;"/>
+ </g>
+ <g transform="matrix(0.273525,0,0,0.273525,-6.07305,-5.72176)">
+ <path d="M113.92,246.52C114.6,246.12 114.86,245.84 115.15,245.82C123.28,245.23 123.28,245.24 123.28,236.82C123.28,209.827 123.28,182.827 123.28,155.82C123.28,148.16 123.169,148.73 113.89,148.73L113.89,74.47C113.94,67.47 117.35,63.92 124.28,63.92C197.613,63.92 270.927,63.947 344.22,64C346.304,64.096 348.295,64.901 349.86,66.28C365.32,80.48 380.68,94.787 395.94,109.2C397.259,110.393 398.101,112.024 398.31,113.79C398.45,133.62 398.38,153.45 398.31,173.27C398.176,173.958 397.964,174.629 397.68,175.27L385.94,175.27L385.94,206.74L398.2,206.74C398.31,209.02 398.48,210.79 398.48,212.56C398.48,286.207 398.48,359.853 398.48,433.5C398.48,442.86 395.56,445.76 386.24,445.76L294.11,445.76L294.11,435.76L218.74,435.76C218.56,438.97 218.38,442.05 218.18,445.5C216.4,445.61 214.81,445.79 213.18,445.79L125.7,445.79C116.98,445.79 113.92,442.79 113.92,434.14L113.92,246.52ZM248.93,113.5C248.861,107.096 245.7,103.56 240.24,103.48C234.78,103.4 231.13,107.26 231.13,113.67C231.017,127.963 231.017,142.26 231.13,156.56C231.173,163.027 235.24,166.592 239.9,166.72C245.18,166.83 248.9,162.65 248.9,156.41C249.002,149.543 249.009,120.857 248.93,113.5ZM337.034,103.496L337.024,103.496L336.959,103.496C331.454,103.511 328.07,107.334 328.07,114.06C327.99,128.187 327.99,142.32 328.07,156.46C328.109,162.609 331.839,166.719 336.999,166.703C337.089,166.704 337.179,166.702 337.27,166.7C342.38,166.56 345.88,162.51 345.93,156.5C345.89,149.35 345.93,121.05 345.93,114.1C345.93,107.44 342.76,103.63 337.33,103.5C337.231,103.498 337.132,103.496 337.034,103.496ZM309.674,104.85C308.293,103.914 306.583,103.426 304.6,103.44C299.1,103.48 295.83,107.27 295.83,113.85C295.83,127.783 295.83,141.75 295.83,155.75C295.839,161.889 299.37,166.78 304.79,166.7C310.21,166.62 313.6,162.5 313.67,155.7C313.74,148.9 313.74,120.91 313.66,113.76C313.602,109.579 312.154,106.502 309.674,104.85ZM216.67,113.26C216.635,109.032 214.559,103.48 207.82,103.47C200.769,103.46 198.89,109.807 198.89,113.4C198.78,120.55 198.79,149.14 198.89,156.29C198.95,162.64 202.54,166.74 207.82,166.7C212.88,166.65 216.62,162.64 216.67,156.64C216.81,142.18 216.81,127.72 216.67,113.26L216.67,113.26ZM281.12,156.73C281.133,155.36 281.2,120.52 281.15,113.37C281.09,107.22 277.76,103.52 272.42,103.47C268.371,103.432 265.426,105.561 264.226,109.27C263.841,110.444 263.635,111.778 263.63,113.252L263.63,113.28L263.629,113.445C263.557,127.853 263.557,142.265 263.63,156.68L263.63,156.721C263.651,161.359 266.214,166.621 272.31,166.68C277.44,166.73 281.04,162.73 281.12,156.73ZM175.6,103.51C170.096,103.477 166.719,107.081 166.64,113.13C166.57,120.27 166.55,149.51 166.64,156.99C166.7,162.67 170.05,166.5 175.18,166.67C180.31,166.84 184.103,164.331 184.14,156.91C184.227,142.29 184.227,127.67 184.14,113.05C184.14,107.15 180.801,103.541 175.6,103.51Z" style="fill:url(#_Linear1);fill-rule:nonzero;"/>
+ </g>
+ <g transform="matrix(0.273525,0,0,0.273525,-17.8647,-51.1434)">
+ <path d="M299.26,567C268.113,567 236.967,567 205.82,567C196.22,567 193.43,564.17 193.39,554.42C193.39,542.76 193.3,531.1 193.39,519.42C193.39,510.78 196.57,507.69 205.18,507.68C267.967,507.68 330.76,507.68 393.56,507.68C401.97,507.68 405.13,510.8 405.15,519.01C405.15,531.17 405.15,543.327 405.15,555.48C405.15,563.8 401.97,566.98 393.71,566.98C362.23,566.993 330.747,567 299.26,567Z" style="fill:rgb(28,83,79);fill-rule:nonzero;"/>
+ </g>
+ <defs>
+ <linearGradient id="_Linear1" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(76.0202,372.024,-372.024,76.0202,197.036,63.92)"><stop offset="0" style="stop-color:rgb(155,155,155);stop-opacity:1"/><stop offset="1" style="stop-color:rgb(93,93,93);stop-opacity:1"/></linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/media-floppy-3_5.svg b/.icons/kora/devices/scalable/media-floppy-3_5.svg
new file mode 120000
index 000000000..6af143ea5
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-floppy-3_5.svg
@@ -0,0 +1 @@
+media-floppy.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/media-floppy.svg b/.icons/kora/devices/scalable/media-floppy.svg
new file mode 100644
index 000000000..5a2f1ce0f
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-floppy.svg
@@ -0,0 +1,12 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
+ <path d="m52 6l6 7.143v42.357c0 1.38-1.12 2.5-2.5 2.5h-47c-1.38 0-2.5-1.12-2.5-2.5v-47c0-1.38 1.12-2.5 2.5-2.5h43.5z" style="fill:url(#_Linear1)"/>
+ <rect x="12" y="30" width="40" height="26.385" style="fill:#fff"/>
+ <rect x="12" y="30" width="40" height="6" style="fill-rule:nonzero;fill:#3f78ff"/>
+ <path d="m17.019 6v17.5c0 1.386 1.114 2.5 2.5 2.5h27c1.384 0 2.5-1.114 2.5-2.5v-17.5h-32zm21.021 2.422h8.092v15.633h-8.092v-15.633z" style="fill-rule:nonzero;fill:#b7b7b7"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(0,-52,-52,0,32,58)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#202020" offset="0"/>
+ <stop style="stop-color:#4f4f4f" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/media-memory-sd.svg b/.icons/kora/devices/scalable/media-memory-sd.svg
new file mode 120000
index 000000000..1303e9801
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-memory-sd.svg
@@ -0,0 +1 @@
+media-flash.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/media-memory.svg b/.icons/kora/devices/scalable/media-memory.svg
new file mode 100644
index 000000000..393a68585
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-memory.svg
@@ -0,0 +1,9 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(-.506203 -42 42 -.506203 388.014 40.6128)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#2f2f2f" offset="0"/>
+ <stop stop-color="#4d4d4d" offset="1"/>
+ </linearGradient>
+ <path transform="translate(-.4455)" d="m37.02 1.667c2.783 0 5.039 2.257 5.039 5.04v34.586c0 2.783-2.256 5.04-5.039 5.04h-25.149c-2.783 0-5.039-2.257-5.039-5.04v-34.586c0-2.783 2.256-5.04 5.039-5.04z" fill="url(#a)" fill-rule="nonzero"/>
+ <path d="m8.769 7.25h-2.382v-.543c0-.593.102-1.162.29-1.69h2.27c-.114.252-.178.531-.178.826zm.92-3.091v-2.185c.541-.198 1.126-.307 1.737-.307h.465v2.176h-1.122c-.398 0-.768.116-1.08.316zm4.403-.316v-2.176h2.202v2.176zm4.404 0v-2.176h2.201v2.176zm4.403 0v-2.176h2.202v2.176zm4.404 0v-2.176h2.201v2.176zm4.403 0v-2.176h2.202v2.176zm4.403 0v-2.176h.466c.61 0 1.195.109 1.736.307v2.185c-.312-.2-.682-.316-1.08-.316zm2.944 1.174h2.27c.188.528.291 1.097.291 1.69v.543h-2.383v-1.407c0-.295-.064-.574-.178-.826zm.178 4.467h2.383v2.233h-2.383zm0 4.466h2.383v2.233h-2.383zm0 4.467h2.383v2.233h-2.383zm0 4.466h2.383v2.234h-2.383zm0 4.467h2.383v2.233h-2.383zm0 4.467h2.383v2.233h-2.383zm0 4.466h2.383v2.233h-2.383zm0 4.467h2.383v.543c0 .593-.103 1.162-.291 1.69h-2.27c.114-.252.178-.531.178-.826zm-.92 3.091v2.185c-.541.198-1.126.307-1.736.307h-.466v-2.176h1.122c.398 0 .768-.116 1.08-.316zm-4.403.316v2.176h-2.202v-2.176zm-4.404 0v2.176h-2.201v-2.176zm-4.403 0v2.176h-2.202v-2.176zm-4.404 0v2.176h-2.201v-2.176zm-4.403 0v2.176h-2.202v-2.176zm-4.403 0v2.176h-.465c-.611 0-1.196-.109-1.737-.307v-2.185c.312.2.682.316 1.08.316zm-2.944-1.174h-2.27c-.188-.528-.29-1.097-.29-1.69v-.543h2.382v1.407c0 .295.064.574.178.826zm-.178-4.467h-2.382v-2.233h2.382zm0-4.466h-2.382v-2.233h2.382zm0-4.467h-2.382v-2.233h2.382zm0-4.466h-2.382v-2.234h2.382zm0-4.467h-2.382v-2.233h2.382zm0-4.467h-2.382v-2.233h2.382zm0-4.466h-2.382v-2.233h2.382z" fill="#8e8e8e"/>
+ <path d="m19 11v4h-2v-4zm0 6v4h-2v-4zm0 6v8h-2v-8zm6-12v11h-2v-11zm6 0v9h-2v-9zm-6 13v11h-2v-11zm6-2v4h-2v-4zm0 6v9h-2v-9z" fill="#bbb"/>
+</svg>
diff --git a/.icons/kora/devices/scalable/media-optical-audio.svg b/.icons/kora/devices/scalable/media-optical-audio.svg
new file mode 100644
index 000000000..a33f3eb20
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-optical-audio.svg
@@ -0,0 +1 @@
+<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientTransform="matrix(1.5292812 0 0 1.529412 -592.82053 -769.10295)" gradientUnits="userSpaceOnUse" x1="409.57144" x2="409.57144" y1="540.79797" y2="506.798"><stop offset="0" stop-color="#049b78"/><stop offset="1" stop-color="#40ca85"/></linearGradient><linearGradient id="b" gradientUnits="userSpaceOnUse" x1="32.01561" x2="32" y1="41.54594" y2="24"><stop offset="0" stop-color="#b0ffd6"/><stop offset="1" stop-color="#f6fbfb"/></linearGradient><path d="m32 6c-14.40275 0-25.9980469 11.59602-25.9980469 26s11.5952969 26 25.9980469 26 25.998047-11.59602 25.998047-26-11.595297-26-25.998047-26zm0 23c1.662 0 3 1.338 3 3s-1.338 3-3 3-3-1.338-3-3 1.338-3 3-3z" fill="url(#a)" transform=""/><path d="m32 23c-4.986 0-9 4.014-9 9s4.014 9 9 9 9-4.014 9-9-4.014-9-9-9zm0 1a8 8 0 0 1 8 8 8 8 0 0 1 -8 8 8 8 0 0 1 -8-8 8 8 0 0 1 8-8zm0 1a7 7 0 0 0 -7 7 7 7 0 0 0 7 7 7 7 0 0 0 7-7 7 7 0 0 0 -7-7zm0 4c1.662 0 3 1.338 3 3s-1.338 3-3 3-3-1.338-3-3 1.338-3 3-3z" fill="url(#b)" transform=""/><path d="m471.11732 530.73981c-.76741.21527-1.38522 1.07176-1.38522 1.90367v13.19006c-.77819-.42666-1.77761-.59922-2.81376-.31728-1.86973.50868-3.04139 2.15267-2.64059 3.67146.40079 1.51871 2.24266 2.36706 4.11239 1.85838 1.49167-.40583 2.5199-1.55412 2.68388-2.76492l.0433-12.46485 9.69662-2.71956v9.83584c-.77819-.42665-1.77762-.59916-2.81374-.31728-1.86976.50868-3.04141 2.15268-2.6406 3.67145.40079 1.51878 2.24266 2.36712 4.1124 1.85838 1.49166-.40578 2.51989-1.55407 2.68388-2.76492l.0433-16.2269c0-.62395-.36827-1.09074-.86578-1.17852z" fill="#d5fde9" transform="matrix(.41074315 0 0 .41074315 -146.771646344692 -189.561496654938)"/></svg> \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/media-optical-blu-ray.svg b/.icons/kora/devices/scalable/media-optical-blu-ray.svg
new file mode 100644
index 000000000..2b5acf48e
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-optical-blu-ray.svg
@@ -0,0 +1,14 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m24 4.5c-10.802 0-19.499 8.697-19.499 19.5s8.697 19.5 19.499 19.5 19.499-8.697 19.499-19.5-8.697-19.5-19.499-19.5zm0 17.25c1.246 0 2.25 1.004 2.25 2.25s-1.004 2.25-2.25 2.25-2.25-1.004-2.25-2.25 1.004-2.25 2.25-2.25z" style="fill:url(#_Linear1)"/>
+ <path d="m24 17.25c-3.739 0-6.75 3.011-6.75 6.75 0 3.74 3.011 6.75 6.75 6.75 3.74 0 6.75-3.01 6.75-6.75 0-3.739-3.01-6.75-6.75-6.75zm0 0.75c-3.292 0-6 2.708-6 6s2.708 6 6 6 6-2.708 6-6-2.708-6-6-6zm0 0.75c2.88 0 5.25 2.37 5.25 5.25s-2.37 5.25-5.25 5.25-5.25-2.37-5.25-5.25 2.37-5.25 5.25-5.25zm0 3c1.246 0 2.25 1.004 2.25 2.25s-1.004 2.25-2.25 2.25-2.25-1.004-2.25-2.25 1.004-2.25 2.25-2.25z" style="fill:url(#_Linear2)"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(2.16708e-15,-35.3911,35.3911,2.16708e-15,968.766,41.2823)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(0,103,131)" offset="0"/>
+ <stop style="stop-color:rgb(19,190,227)" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear2" x2="1" gradientTransform="matrix(2.38806e-15,-39,39,2.38806e-15,24,43.5)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(176,230,255)" offset="0"/>
+ <stop style="stop-color:rgb(246,251,251)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/media-optical-data.svg b/.icons/kora/devices/scalable/media-optical-data.svg
new file mode 100644
index 000000000..5b9bde27c
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-optical-data.svg
@@ -0,0 +1 @@
+<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientTransform="matrix(1.5292812 0 0 1.529412 -592.82053 -769.10295)" gradientUnits="userSpaceOnUse" x1="409.57144" x2="409.57144" y1="540.79797" y2="506.798"><stop offset="0" stop-color="#d1d7df"/><stop offset="1" stop-color="#e0e5e7"/></linearGradient><linearGradient id="b" gradientUnits="userSpaceOnUse" x1="31.838835" x2="32" y1="40.485283" y2="24"><stop offset="0" stop-color="#3d434a"/><stop offset="1" stop-color="#5f6974"/></linearGradient><path d="m32 6c-14.40275 0-25.9980469 11.59602-25.9980469 26s11.5952969 26 25.9980469 26 25.998047-11.59602 25.998047-26-11.595297-26-25.998047-26zm0 23c1.662 0 3 1.338 3 3s-1.338 3-3 3-3-1.338-3-3 1.338-3 3-3z" fill="url(#a)" transform=""/><path d="m32 23c-4.986 0-9 4.014-9 9s4.014 9 9 9 9-4.014 9-9-4.014-9-9-9zm0 1a8 8 0 0 1 8 8 8 8 0 0 1 -8 8 8 8 0 0 1 -8-8 8 8 0 0 1 8-8zm0 1a7 7 0 0 0 -7 7 7 7 0 0 0 7 7 7 7 0 0 0 7-7 7 7 0 0 0 -7-7zm0 4c1.662 0 3 1.338 3 3s-1.338 3-3 3-3-1.338-3-3 1.338-3 3-3z" fill="url(#b)" opacity=".791" transform=""/></svg> \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/media-optical-dvd-data.svg b/.icons/kora/devices/scalable/media-optical-dvd-data.svg
new file mode 120000
index 000000000..cff02e8c3
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-optical-dvd-data.svg
@@ -0,0 +1 @@
+media-optical-data.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/media-optical-dvd-video.svg b/.icons/kora/devices/scalable/media-optical-dvd-video.svg
new file mode 120000
index 000000000..b1d0b8363
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-optical-dvd-video.svg
@@ -0,0 +1 @@
+media-optical-video.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/media-optical-dvd.svg b/.icons/kora/devices/scalable/media-optical-dvd.svg
new file mode 100644
index 000000000..db0c18f37
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-optical-dvd.svg
@@ -0,0 +1 @@
+<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientTransform="matrix(1.5292812 0 0 1.529412 -592.82053 -769.10295)" gradientUnits="userSpaceOnUse" x1="408.26364" x2="408.57138" y1="544.88452" y2="506.798"><stop offset="0" stop-color="#833cfc"/><stop offset="1" stop-color="#eb60ff"/></linearGradient><linearGradient id="b" gradientTransform="matrix(.52941243 0 0 .52941244 -184.30279 -245.30519)" gradientUnits="userSpaceOnUse" x1="409.57144" x2="409.57144" y1="540.79797" y2="506.798"><stop offset="0" stop-color="#d4b0ff"/><stop offset="1" stop-color="#f6fbfb"/></linearGradient><g transform=""><path d="m32 6c-14.40275 0-25.9980469 11.59602-25.9980469 26s11.5952969 26 25.9980469 26 25.998047-11.59602 25.998047-26-11.595297-26-25.998047-26zm0 23c1.662 0 3 1.338 3 3s-1.338 3-3 3-3-1.338-3-3 1.338-3 3-3z" fill="url(#a)"/><path d="m32 23c-4.986 0-9 4.014-9 9s4.014 9 9 9 9-4.014 9-9-4.014-9-9-9zm0 6c1.662 0 3 1.338 3 3s-1.338 3-3 3-3-1.338-3-3 1.338-3 3-3z" fill="url(#b)"/><path d="m32 24a8 8 0 0 0 -8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8 8 8 0 0 0 -8-8zm0 1a7 7 0 0 1 7 7 7 7 0 0 1 -7 7 7 7 0 0 1 -7-7 7 7 0 0 1 7-7z" fill="#b94ee9" stroke-linecap="round"/></g></svg> \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/media-optical-mixed-cd.svg b/.icons/kora/devices/scalable/media-optical-mixed-cd.svg
new file mode 120000
index 000000000..162cae619
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-optical-mixed-cd.svg
@@ -0,0 +1 @@
+./media-optical.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/media-optical-recordable.svg b/.icons/kora/devices/scalable/media-optical-recordable.svg
new file mode 100644
index 000000000..ab1716540
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-optical-recordable.svg
@@ -0,0 +1 @@
+<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientTransform="matrix(1.5292812 0 0 1.529412 -592.82053 -769.10295)" gradientUnits="userSpaceOnUse" x1="408.26364" x2="408.57138" y1="544.88452" y2="506.798"><stop offset="0" stop-color="#f0a23a"/><stop offset="1" stop-color="#fde46a"/></linearGradient><linearGradient id="b" gradientTransform="matrix(.52941243 0 0 .52941244 -184.30279 -245.30519)" gradientUnits="userSpaceOnUse" x1="409.57144" x2="409.57144" y1="540.79797" y2="506.798"><stop offset="0" stop-color="#ffffb0"/><stop offset="1" stop-color="#fbfbf6"/></linearGradient><g transform=""><path d="m32 6c-14.40275 0-25.9980469 11.59602-25.9980469 26s11.5952969 26 25.9980469 26 25.998047-11.59602 25.998047-26-11.595297-26-25.998047-26zm0 23c1.662 0 3 1.338 3 3s-1.338 3-3 3-3-1.338-3-3 1.338-3 3-3z" fill="url(#a)"/><path d="m32 23c-4.986 0-9 4.014-9 9s4.014 9 9 9 9-4.014 9-9-4.014-9-9-9zm0 6c1.662 0 3 1.338 3 3s-1.338 3-3 3-3-1.338-3-3 1.338-3 3-3z" fill="url(#b)"/><path d="m32 24a8 8 0 0 0 -8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8 8 8 0 0 0 -8-8zm0 1a7 7 0 0 1 7 7 7 7 0 0 1 -7 7 7 7 0 0 1 -7-7 7 7 0 0 1 7-7z" fill="#f7c755" stroke-linecap="round"/></g></svg> \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/media-optical-video.svg b/.icons/kora/devices/scalable/media-optical-video.svg
new file mode 100644
index 000000000..34efce87b
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-optical-video.svg
@@ -0,0 +1 @@
+<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientTransform="matrix(1.5292812 0 0 1.529412 -592.82053 -769.10295)" gradientUnits="userSpaceOnUse" x1="408.26364" x2="408.57138" y1="544.88452" y2="506.798"><stop offset="0" stop-color="#fa345d"/><stop offset="1" stop-color="#f76a8d"/></linearGradient><linearGradient id="b" gradientTransform="matrix(.52941243 0 0 .52941244 -184.30279 -245.30519)" gradientUnits="userSpaceOnUse" x1="409.57144" x2="409.57144" y1="540.79797" y2="506.798"><stop offset="0" stop-color="#ffb0d4"/><stop offset="1" stop-color="#fbf6fa"/></linearGradient><g transform=""><path d="m32 6c-14.40275 0-25.9980469 11.59602-25.9980469 26s11.5952969 26 25.9980469 26 25.998047-11.59602 25.998047-26-11.595297-26-25.998047-26zm0 23c1.662 0 3 1.338 3 3s-1.338 3-3 3-3-1.338-3-3 1.338-3 3-3z" fill="url(#a)"/><path d="m32 23c-4.986 0-9 4.014-9 9s4.014 9 9 9 9-4.014 9-9-4.014-9-9-9zm0 6c1.662 0 3 1.338 3 3s-1.338 3-3 3-3-1.338-3-3 1.338-3 3-3z" fill="url(#b)"/><path d="m32 24a8 8 0 0 0 -8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8 8 8 0 0 0 -8-8zm0 1a7 7 0 0 1 7 7 7 7 0 0 1 -7 7 7 7 0 0 1 -7-7 7 7 0 0 1 7-7z" fill="#f85278" stroke-linecap="round"/></g><path d="m900.199 0h-46.514c-11.046 0-20 8.954-20 20v24.89c0 11.045-8.954 20-20 20h-43.37c-11.046 0-20-8.955-20-20v-24.89c0-11.046-8.953-20-20-20h-522.194c-11.046 0-20 8.954-20 20v24.89c0 11.045-8.954 20-20 20h-43.37c-11.046 0-20-8.955-20-20v-24.89c0-11.046-8.954-20-20-20h-44.95c-11.046 0-20 8.954-20 20v900c0 11.046 8.954 20 20 20h44.95c11.046 0 20-8.954 20-20v-18.285c0-11.046 8.954-20 20-20h43.37c11.046 0 20 8.954 20 20v18.285c0 11.046 8.954 20 20 20h522.194c11.047 0 20-8.954 20-20v-18.285c0-11.046 8.954-20 20-20h43.37c11.046 0 20 8.954 20 20v18.285c0 11.046 8.954 20 20 20h46.514c11.046 0 20-8.954 20-20v-900c0-11.045-8.954-20-20-20zm-712.078 765.369c0 11.046-8.954 20-20 20h-43.37c-11.046 0-20-8.954-20-20v-43.37c0-11.045 8.954-20 20-20h43.37c11.046 0 20 8.955 20 20zm0-179.716c0 11.045-8.954 20-20 20h-43.37c-11.046 0-20-8.955-20-20v-43.371c0-11.045 8.954-20 20-20h43.37c11.046 0 20 8.955 20 20zm0-179.717c0 11.047-8.954 20-20 20h-43.37c-11.046 0-20-8.953-20-20v-43.37c0-11.046 8.954-20 20-20h43.37c11.046 0 20 8.954 20 20zm0-179.716c0 11.046-8.954 20-20 20h-43.37c-11.046 0-20-8.954-20-20v-43.37c0-11.045 8.954-20 20-20h43.37c11.046 0 20 8.955 20 20zm475.715 608.047c0 11.047-8.954 20-20 20h-347.672c-11.046 0-20-8.953-20-20v-160.722c0-11.046 8.954-20 20-20h347.672c11.046 0 20 8.954 20 20zm0-283.906c0 11.046-8.954 20-20 20h-347.672c-11.046 0-20-8.954-20-20v-160.722c0-11.045 8.954-20 20-20h347.672c11.046 0 20 8.955 20 20zm0-283.907c0 11.046-8.954 20-20 20h-347.672c-11.046 0-20-8.954-20-20v-160.722c0-11.045 8.954-20 20-20h347.672c11.046 0 20 8.955 20 20zm169.85 498.915c0 11.046-8.954 20-20 20h-43.37c-11.046 0-20-8.954-20-20v-43.37c0-11.045 8.954-20 20-20h43.37c11.046 0 20 8.955 20 20zm0-179.716c0 11.045-8.954 20-20 20h-43.37c-11.046 0-20-8.955-20-20v-43.371c0-11.045 8.954-20 20-20h43.37c11.046 0 20 8.955 20 20zm0-179.717c0 11.047-8.954 20-20 20h-43.37c-11.046 0-20-8.953-20-20v-43.37c0-11.046 8.954-20 20-20h43.37c11.046 0 20 8.954 20 20zm0-179.716c0 11.046-8.954 20-20 20h-43.37c-11.046 0-20-8.954-20-20v-43.37c0-11.045 8.954-20 20-20h43.37c11.046 0 20 8.955 20 20z" fill="#fdd1e6" transform="matrix(.009612967456 0 0 .009612967735 44.073651745906 27.356911159417)"/></svg> \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/media-optical.svg b/.icons/kora/devices/scalable/media-optical.svg
new file mode 100644
index 000000000..215440561
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-optical.svg
@@ -0,0 +1 @@
+<svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientTransform="matrix(1.5292812 0 0 1.529412 -592.82053 -769.10295)" gradientUnits="userSpaceOnUse" x1="408.75406" x2="408.57138" y1="540.96143" y2="506.798"><stop offset="0" stop-color="#8798a9"/><stop offset="1" stop-color="#bfc8d1"/></linearGradient><linearGradient id="b" gradientTransform="matrix(.52941243 0 0 .52941244 -184.30279 -245.30519)" gradientUnits="userSpaceOnUse" x1="409.57144" x2="409.57144" y1="540.79797" y2="506.798"><stop offset="0" stop-color="#3d434a"/><stop offset="1" stop-color="#5f6974"/></linearGradient><g transform=""><path d="m32 6c-14.40275 0-25.9980469 11.59602-25.9980469 26s11.5952969 26 25.9980469 26 25.998047-11.59602 25.998047-26-11.595297-26-25.998047-26zm0 23c1.662 0 3 1.338 3 3s-1.338 3-3 3-3-1.338-3-3 1.338-3 3-3z" fill="url(#a)"/><path d="m32 23c-4.986 0-9 4.014-9 9s4.014 9 9 9 9-4.014 9-9-4.014-9-9-9zm0 6c1.662 0 3 1.338 3 3s-1.338 3-3 3-3-1.338-3-3 1.338-3 3-3z" fill="url(#b)"/><path d="m32 24a8 8 0 0 0 -8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8 8 8 0 0 0 -8-8zm0 1a7 7 0 0 1 7 7 7 7 0 0 1 -7 7 7 7 0 0 1 -7-7 7 7 0 0 1 7-7z" fill="#9da9b5" stroke-linecap="round"/></g></svg> \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/media-removable.svg b/.icons/kora/devices/scalable/media-removable.svg
new file mode 120000
index 000000000..62992d8f6
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-removable.svg
@@ -0,0 +1 @@
+drive-removable-media-usb.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/media-tape.svg b/.icons/kora/devices/scalable/media-tape.svg
new file mode 100644
index 000000000..c16137e1b
--- /dev/null
+++ b/.icons/kora/devices/scalable/media-tape.svg
@@ -0,0 +1,15 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(0 -51.7717 51.7717 0 668.015 51.7717)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#2f83d6" offset="0"/>
+ <stop stop-color="#73bef6" offset="1"/>
+ </linearGradient>
+ <linearGradient id="b" x2="1" gradientTransform="matrix(0 -23.4063 23.4063 0 195.538 30.9031)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#0363c4" offset="0"/>
+ <stop stop-color="#2694e7" offset="1"/>
+ </linearGradient>
+ <path transform="scale(.75)" d="m61.065 18.493c0-3.426-2.781-6.208-6.207-6.208h-45.716c-3.426 0-6.207 2.782-6.207 6.208v27.014c0 3.426 2.781 6.208 6.207 6.208h45.716c3.426 0 6.207-2.782 6.207-6.208z" fill="url(#a)"/>
+ <path transform="matrix(1.23077 0 0 1.23077 -1.23446 2.14708)" d="m17.041 17.755c0-2.401-1.907-4.259-4.26-4.259s-4.26 1.906-4.26 4.259c0 2.352 1.908 4.26 4.26 4.26 1.17 0 2.223-.373 2.99-1.082.771-.711 1.27-1.767 1.27-3.178zm-1.868 0c0 .794-.249 1.4-.682 1.8-.436.403-1.044.592-1.71.592-1.321 0-2.392-1.071-2.392-2.392s1.071-2.391 2.392-2.391 2.392 1.043 2.392 2.391z" fill="#f2f2f2"/>
+ <path transform="matrix(1.50388 0 0 1.50388 -5.74347 -4.26902)" d="m32.479 18.797c0-3.78-3.066-6.846-6.846-6.846-3.782 0-6.847 3.066-6.847 6.846 0 3.782 3.065 6.847 6.847 6.847 3.78 0 6.846-3.065 6.846-6.847zm-4.89 0c0 1.081-.875 1.957-1.956 1.957s-1.957-.876-1.957-1.957.876-1.956 1.957-1.956c1.08 0 1.956.876 1.956 1.956z" fill="#f2f2f2"/>
+ <path d="m6.856 9.214h34.287c2.57 0 4.656 2.086 4.656 4.656v20.26c0 2.57-2.086 4.656-4.656 4.656h-34.287c-2.569 0-4.655-2.086-4.655-4.656v-20.26c0-2.57 2.086-4.656 4.655-4.656zm37.506 3.641h-40.725v19.62h40.725z" fill="url(#b)"/>
+ <path transform="matrix(1.23077 0 0 1.23077 .369231 .094468)" d="m28.811 26.131c.073 0 .14.037.18.098l3.193 4.897h-.513l-2.976-4.565h-18.341l-3.026 4.565h-.516l3.248-4.899c.04-.06.107-.096.179-.096z" fill="#00a7ff"/>
+</svg>
diff --git a/.icons/kora/devices/scalable/modem.svg b/.icons/kora/devices/scalable/modem.svg
new file mode 120000
index 000000000..537d40a54
--- /dev/null
+++ b/.icons/kora/devices/scalable/modem.svg
@@ -0,0 +1 @@
+network-modem.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/multimedia-player-apple-ipod.svg b/.icons/kora/devices/scalable/multimedia-player-apple-ipod.svg
new file mode 120000
index 000000000..fd92d8c7e
--- /dev/null
+++ b/.icons/kora/devices/scalable/multimedia-player-apple-ipod.svg
@@ -0,0 +1 @@
+multimedia-player.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/multimedia-player.svg b/.icons/kora/devices/scalable/multimedia-player.svg
new file mode 100644
index 000000000..3af86e500
--- /dev/null
+++ b/.icons/kora/devices/scalable/multimedia-player.svg
@@ -0,0 +1,20 @@
+
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m35.183 1h-22.366c-1.019 0-1.845 0.826-1.845 1.845v42.31c0 1.019 0.826 1.845 1.845 1.845h22.366c1.019 0 1.845-0.826 1.845-1.845v-42.31c0-1.019-0.826-1.845-1.845-1.845zm-0.268 38.698h-21.83v-31.396h21.83v31.396z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ <circle cx="24" cy="43.625" r="2.218" style="fill:url(#_Linear2)"/>
+ <rect x="13.085" y="8.302" width="21.83" height="31.396" style="fill:url(#_Linear3)"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(-.169967 -39.8005 39.8005 -.169967 24.5478 44.0544)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#141414" offset="0"/>
+ <stop style="stop-color:#2d2d2f" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear2" x2="1" gradientTransform="matrix(3.04539e-16,-4.97349,4.97349,3.04539e-16,24,46.0535)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#ff4763" offset="0"/>
+ <stop style="stop-color:#ff974c" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear3" x2="1" gradientTransform="matrix(.736687 -31.6337 31.6337 .736687 24 39.8458)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#ff4763" offset="0"/>
+ <stop style="stop-color:#ff974c" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/network-card.svg b/.icons/kora/devices/scalable/network-card.svg
new file mode 100644
index 000000000..5fefee4c6
--- /dev/null
+++ b/.icons/kora/devices/scalable/network-card.svg
@@ -0,0 +1,12 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
+ <rect x="37.385" y="47.442" width="15.738" height="8.291" style="fill:#0d79f2"/>
+ <rect x="26.847" y="47.442" width="7.525" height="8.291" style="fill:#0d79f2"/>
+ <path d="m61.164 17.928c0-2.557-2.075-4.632-4.632-4.632h-49.064c-2.557 0-4.632 2.075-4.632 4.632v28.144c0 2.557 2.075 4.632 4.632 4.632h49.064c2.557 0 4.632-2.075 4.632-4.632v-28.144z" style="fill:url(#_Linear1)"/>
+ <path d="m31.986 36.924c0.87 0 1.576 0.706 1.576 1.577 0 0.87-0.706 1.577-1.576 1.577-0.871 0-1.577-0.707-1.577-1.577 0-0.871 0.706-1.577 1.577-1.577zm0.188-13.001c7.501 0.142 14.24 6.533 14.389 14.389 0 0 0.012 0.823-0.551 1.153-0.747 0.437-1.624 0.087-1.698-1.601-0.369-6.456-6.402-12.024-12.965-11.691-6.207 0.314-11.666 5.809-11.708 12.335 0 0-0.253 1.075-1.071 1.109-1.639 0.068-1.31-3.418-0.216-6.296 2.102-5.529 7.752-9.437 13.82-9.398zm-0.062 4.8c5.102 0.096 9.62 4.634 9.652 9.771 0 0-0.03 0.544-0.386 0.852-0.713 0.616-1.796 0.168-1.858-1.235-0.271-4.753-5.756-8.489-10.386-6.597-2.754 1.125-4.673 3.951-4.692 6.994 0 0-0.026 0.353-0.169 0.583-0.53 0.852-2.091 0.618-2.063-0.842 0.161-5.097 4.649-9.56 9.902-9.526zm0.012 4.389c2.706 0.103 5.107 2.387 5.245 5.112 0.071 1.402-2.124 1.821-2.237 0.033-0.218-2.45-3.827-3.889-5.582-1.763-0.342 0.415-0.576 0.917-0.67 1.447-0.093 0.519-0.064 1.036-0.376 1.349-0.642 0.643-1.966 0.205-1.902-1.066 0.14-2.752 2.632-5.149 5.522-5.112z" style="fill-opacity:.5;fill:#ebebeb"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(2.41822e-15,-39.4925,39.4925,2.41822e-15,30.6101,52.7884)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#1f3d69" offset="0"/>
+ <stop style="stop-color:#004a65" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/network-defaultroute.svg b/.icons/kora/devices/scalable/network-defaultroute.svg
new file mode 100644
index 000000000..5493bc6b2
--- /dev/null
+++ b/.icons/kora/devices/scalable/network-defaultroute.svg
@@ -0,0 +1,10 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg" xmlns:serif="http://www.serif.com/">
+ <circle cx="64" cy="64" r="55.672" style="fill:url(#_Linear1)"/>
+ <path id="Forward--small-" d="m52.852 91.199-0.224-0.47v0.47h-14.739v6.843l-11.79-11.58 11.79-11.58v6.842h10.621l10.912-17.975-11.012-18.244h-10.521v6.842l-11.79-11.58 11.79-11.58v6.843h14.739v0.057l11.792 19.427 11.569-19.058v-0.426h14.739v-6.843l11.79 11.58-11.79 11.58v-6.842h-10.297l-11.012 18.244 10.912 17.975h10.397v-6.842l11.79 11.58-11.79 11.58v-6.843h-14.739l-11.569-19.168-11.568 19.168z" style="fill-rule:nonzero;fill:rgb(4,46,57)" serif:id="Forward (small)"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(5.29985e-15,-86.5532,86.5532,5.29985e-15,2374.54,106.266)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(0,103,131)" offset="0"/>
+ <stop style="stop-color:rgb(19,190,227)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/network-modem.svg b/.icons/kora/devices/scalable/network-modem.svg
new file mode 100644
index 000000000..cdc148a30
--- /dev/null
+++ b/.icons/kora/devices/scalable/network-modem.svg
@@ -0,0 +1,10 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(0 -51.7717 51.7717 0 668.015 51.7717)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#006783" offset="0"/>
+ <stop stop-color="#13bee3" offset="1"/>
+ </linearGradient>
+ <g transform="scale(.75)">
+ <path d="m61.065 18.493c0-3.426-2.781-6.208-6.207-6.208h-45.716c-3.426 0-6.207 2.782-6.207 6.208v27.014c0 3.426 2.781 6.208 6.207 6.208h45.716c3.426 0 6.207-2.782 6.207-6.208z" fill="url(#a)"/>
+ <path d="m31.986 36.924c.87 0 1.576.706 1.576 1.577 0 .87-.706 1.577-1.576 1.577-.871 0-1.577-.707-1.577-1.577 0-.871.706-1.577 1.577-1.577zm.188-13.001c7.501.142 14.24 6.533 14.389 14.389 0 0 .012.823-.551 1.153-.747.437-1.624.087-1.698-1.601-.369-6.456-6.402-12.024-12.965-11.691-6.207.314-11.666 5.809-11.708 12.335 0 0-.253 1.075-1.071 1.109-1.639.068-1.31-3.418-.216-6.296 2.102-5.529 7.752-9.437 13.82-9.398zm-.062 4.8c5.102.096 9.62 4.634 9.652 9.771 0 0-.03.544-.386.852-.713.616-1.796.168-1.858-1.235-.271-4.753-5.756-8.489-10.386-6.597-2.754 1.125-4.673 3.951-4.692 6.994 0 0-.026.353-.169.583-.53.852-2.091.618-2.063-.842.161-5.097 4.649-9.56 9.902-9.526zm.012 4.389c2.706.103 5.107 2.387 5.245 5.112.071 1.402-2.124 1.821-2.237.033-.218-2.45-3.827-3.889-5.582-1.763-.342.415-.576.917-.67 1.447-.093.519-.064 1.036-.376 1.349-.642.643-1.966.205-1.902-1.066.14-2.752 2.632-5.149 5.522-5.112z" fill="#ebebeb"/>
+ </g>
+</svg>
diff --git a/.icons/kora/devices/scalable/network-server-database.svg b/.icons/kora/devices/scalable/network-server-database.svg
new file mode 120000
index 000000000..7fdd2d96f
--- /dev/null
+++ b/.icons/kora/devices/scalable/network-server-database.svg
@@ -0,0 +1 @@
+network-server.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/network-server.svg b/.icons/kora/devices/scalable/network-server.svg
new file mode 100644
index 000000000..86e08bc93
--- /dev/null
+++ b/.icons/kora/devices/scalable/network-server.svg
@@ -0,0 +1,21 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
+ <path d="m62.082 9.986c0-4.453-3.615-8.068-8.068-8.068h-44.028c-4.453 0-8.068 3.615-8.068 8.068v44.028c0 4.453 3.615 8.068 8.068 8.068h44.028c4.453 0 8.068-3.615 8.068-8.068v-44.028z" style="fill:url(#_Linear1)"/>
+ <path d="m52.326 42.826c1.1 0 1.993 0.893 1.993 1.993v10.362c0 1.1-0.893 1.993-1.993 1.993h-40.652c-1.1 0-1.993-0.893-1.993-1.993v-10.362c0-1.1 0.893-1.993 1.993-1.993h40.652z" style="fill:#e4e4e4"/>
+ <circle cx="38.775" cy="47.21" r="1.993" style="fill:#0d79f2"/>
+ <circle cx="44.355" cy="47.21" r="1.993" style="fill:#0d79f2"/>
+ <circle cx="49.935" cy="47.21" r="1.993" style="fill:#0d79f2"/>
+ <path d="m52.326 25.47c1.1 0 1.993 0.893 1.993 1.993v10.362c0 1.1-0.893 1.993-1.993 1.993h-40.652c-1.1 0-1.993-0.893-1.993-1.993v-10.362c0-1.1 0.893-1.993 1.993-1.993h40.652z" style="fill:#e4e4e4"/>
+ <circle cx="38.775" cy="29.854" r="1.993" style="fill:#0d79f2"/>
+ <circle cx="44.355" cy="29.854" r="1.993" style="fill:#0d79f2"/>
+ <circle cx="49.935" cy="29.854" r="1.993" style="fill:#0d79f2"/>
+ <path d="m52.326 8.114c1.1 0 1.993 0.893 1.993 1.993v10.362c0 1.1-0.893 1.993-1.993 1.993h-40.652c-1.1 0-1.993-0.893-1.993-1.993v-10.362c0-1.1 0.893-1.993 1.993-1.993h40.652z" style="fill:#e4e4e4"/>
+ <circle cx="38.775" cy="12.498" r="1.993" style="fill:#0d79f2"/>
+ <circle cx="44.355" cy="12.498" r="1.993" style="fill:#0d79f2"/>
+ <circle cx="49.935" cy="12.498" r="1.993" style="fill:#0d79f2"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(3.68402e-15,-60.1646,60.1646,3.68402e-15,32,62.0823)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#222" offset="0"/>
+ <stop style="stop-color:#737373" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/network-vpn.svg b/.icons/kora/devices/scalable/network-vpn.svg
new file mode 100644
index 000000000..41e435d61
--- /dev/null
+++ b/.icons/kora/devices/scalable/network-vpn.svg
@@ -0,0 +1,21 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <g transform="matrix(.97092 0 0 .97092 .700737 .701815)">
+ <path d="m46.341 10.269c-0.014-1.123-0.879-2.05-1.997-2.153-9.291-0.869-16.873-5.834-19.373-7.651-0.522-0.38-1.23-0.38-1.753 0-2.494 1.817-10.077 6.782-19.368 7.651-1.118 0.103-1.977 1.03-1.997 2.153-0.112 7.329 1.065 32.209 21.683 37.746 0.366 0.097 0.752 0.097 1.118 0 20.618-5.532 21.795-30.417 21.687-37.746z" style="fill-rule:nonzero;fill:url(#_Linear1)"/>
+ </g>
+ <g transform="matrix(.97092 0 0 .97092 .700737 .701815)">
+ <path d="m41.166 13.792c-0.011-0.871-0.675-1.591-1.535-1.67-7.14-0.675-12.968-4.527-14.889-5.937-0.402-0.295-0.946-0.295-1.347 0-1.918 1.41-7.745 5.262-14.886 5.937-0.859 0.079-1.52 0.799-1.535 1.67-0.086 5.687 0.818 24.992 16.665 29.288 0.281 0.076 0.578 0.076 0.859 0 15.846-4.292 16.75-23.601 16.668-29.288z" style="fill-opacity:.67;fill-rule:nonzero;fill:white"/>
+ </g>
+ <g transform="matrix(.97092 0 0 .97092 .700737 .701815)">
+ <path d="m24.097 29.634c1.097 0 2-0.903 2-2 0-1.11-0.9-2-2-2-1.097 0-2 0.903-2 2s0.903 2 2 2m6-9c1.097 0 2 0.903 2 2v10c0 1.097-0.903 2-2 2h-12c-1.097 0-2-0.903-2-2v-10c0-1.11 0.9-2 2-2h1v-2c0-2.743 2.257-5 5-5s5 2.257 5 5v2h1zm-6-5c-1.646 0-3 1.354-3 3v2h6v-2c0-1.646-1.354-3-3-3z" style="fill-rule:nonzero;fill:url(#_Linear2)"/>
+ </g>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(2.11816e-15,-37.241,34.5921,2.28036e-15,947.533,42.3195)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(0,103,131)" offset="0"/>
+ <stop style="stop-color:rgb(19,190,227)" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear2" x2="1" gradientTransform="matrix(2.82617e-15,-46.1548,46.1548,2.82617e-15,23.9971,46.338)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(0,103,131)" offset="0"/>
+ <stop style="stop-color:rgb(19,190,227)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/network-wired.svg b/.icons/kora/devices/scalable/network-wired.svg
new file mode 100644
index 000000000..1c69f5c05
--- /dev/null
+++ b/.icons/kora/devices/scalable/network-wired.svg
@@ -0,0 +1,11 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
+ <path d="m20 56-4-4h-8c-2.216 0-4-1.784-4-4v-36c0-2.216 1.784-4 4-4h48c2.216 0 4 1.784 4 4v36c0 2.216-1.784 4-4 4h-8l-4 4h-24z" style="fill:url(#_Linear1)"/>
+ <path d="m22.367 51.266-4.816-4.817h-9.633v-33.715h48.164v33.715h-9.633l-4.816 4.817h-19.266z" style="fill-opacity:.6;fill-rule:nonzero"/>
+ <path d="m19.412 17.77h-5.035v-5.036h5.035v5.036zm7.553 0h-5.035v-5.036h5.035v5.036zm7.553 0h-5.036v-5.036h5.036v5.036zm7.552 0h-5.035v-5.036h5.035v5.036zm7.553 0h-5.035v-5.036h5.035v5.036z" style="fill:rgb(248,196,78)"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(2.66554e-15,-37.3128,43.5315,2.28475e-15,1194.07,50.2206)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(0,103,131)" offset="0"/>
+ <stop style="stop-color:rgb(19,190,227)" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/network-wireless-hotspot.svg b/.icons/kora/devices/scalable/network-wireless-hotspot.svg
new file mode 100644
index 000000000..1453c7b4c
--- /dev/null
+++ b/.icons/kora/devices/scalable/network-wireless-hotspot.svg
@@ -0,0 +1,14 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
+ <path d="m61.036 9.709c0-3.723-3.022-6.745-6.745-6.745h-44.582c-3.723 0-6.745 3.022-6.745 6.745v44.582c0 3.723 3.022 6.745 6.745 6.745h44.582c3.723 0 6.745-3.022 6.745-6.745v-44.582z" style="fill:url(#_Linear1)"/>
+ <path d="m31.979 35.661c1.331 0 2.412 1.08 2.412 2.413 0 1.332-1.081 2.414-2.412 2.414-1.334 0-2.414-1.082-2.414-2.414 0-1.333 1.08-2.413 2.414-2.413zm0.287-19.9c11.482 0.217 21.796 10 22.025 22.024 0 0 0.018 1.26-0.844 1.765-1.143 0.669-2.486 0.133-2.599-2.451-0.565-9.881-9.799-18.404-19.844-17.894-9.501 0.48-17.857 8.891-17.921 18.88 0 0-0.387 1.646-1.639 1.698-2.509 0.104-2.005-5.232-0.331-9.637 3.218-8.463 11.866-14.445 21.153-14.385zm-0.094 7.347c7.809 0.147 14.724 7.093 14.773 14.956 0 0-0.046 0.832-0.591 1.304-1.091 0.943-2.749 0.257-2.844-1.891-0.414-7.275-8.81-12.993-15.897-10.097-4.215 1.722-7.152 6.047-7.181 10.705 0 0-0.04 0.54-0.259 0.892-0.811 1.305-3.201 0.946-3.158-1.288 0.247-7.802 7.116-14.633 15.157-14.581zm0.018 6.718c4.142 0.158 7.817 3.653 8.028 7.824 0.109 2.146-3.251 2.788-3.424 0.051-0.334-3.75-5.858-5.953-8.544-2.699-0.523 0.636-0.882 1.404-1.025 2.215-0.143 0.795-0.098 1.586-0.576 2.065-0.983 0.984-3.009 0.314-2.911-1.632 0.214-4.212 4.028-7.881 8.452-7.824z" style="fill:url(#_Radial2)"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(3.55592e-15,-58.0726,58.0726,3.55592e-15,31.9775,61.0363)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#c2c2c2" offset="0"/>
+ <stop style="stop-color:#ebebeb" offset="1"/>
+ </linearGradient>
+ <radialGradient id="_Radial2" cx="0" cy="0" r="1" gradientTransform="matrix(.0225356 -37.9648 37.9648 .0225356 31.9775 38.0747)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#e300ff" offset="0"/>
+ <stop style="stop-color:#006dff" offset="1"/>
+ </radialGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/network-wireless.svg b/.icons/kora/devices/scalable/network-wireless.svg
new file mode 100644
index 000000000..f21bd9ef6
--- /dev/null
+++ b/.icons/kora/devices/scalable/network-wireless.svg
@@ -0,0 +1,10 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
+ <path d="m61.036 9.709c0-3.723-3.022-6.745-6.745-6.745h-44.582c-3.723 0-6.745 3.022-6.745 6.745v44.582c0 3.723 3.022 6.745 6.745 6.745h44.582c3.723 0 6.745-3.022 6.745-6.745v-44.582z" style="fill:url(#_Linear1)"/>
+ <path d="m31.979 39.537c1.331 0 2.412 1.08 2.412 2.413 0 1.332-1.081 2.414-2.412 2.414-1.334 0-2.414-1.082-2.414-2.414 0-1.333 1.08-2.413 2.414-2.413zm0.287-19.9c11.482 0.217 21.796 10 22.025 22.024 0 0 0.018 1.26-0.844 1.765-1.143 0.669-2.486 0.133-2.599-2.451-0.565-9.881-9.799-18.404-19.844-17.894-9.501 0.48-17.857 8.891-17.921 18.88 0 0-0.387 1.646-1.639 1.698-2.509 0.104-2.005-5.232-0.331-9.637 3.218-8.463 11.866-14.445 21.153-14.385zm-0.094 7.347c7.809 0.147 14.724 7.093 14.773 14.956 0 0-0.046 0.832-0.591 1.304-1.091 0.943-2.749 0.257-2.844-1.891-0.414-7.275-8.81-12.993-15.897-10.097-4.215 1.722-7.152 6.047-7.181 10.705 0 0-0.04 0.54-0.259 0.892-0.811 1.305-3.201 0.946-3.158-1.288 0.247-7.802 7.116-14.633 15.157-14.581zm0.018 6.718c4.142 0.158 7.817 3.653 8.028 7.824 0.109 2.146-3.251 2.788-3.424 0.051-0.334-3.75-5.858-5.953-8.544-2.699-0.523 0.636-0.882 1.404-1.025 2.215-0.143 0.795-0.098 1.586-0.576 2.065-0.983 0.984-3.009 0.314-2.911-1.632 0.214-4.212 4.028-7.881 8.452-7.824z" style="fill:#006dff"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(3.55592e-15,-58.0726,58.0726,3.55592e-15,31.9775,61.0363)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#c2c2c2" offset="0"/>
+ <stop style="stop-color:#ebebeb" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/pda.svg b/.icons/kora/devices/scalable/pda.svg
new file mode 120000
index 000000000..c0649cac0
--- /dev/null
+++ b/.icons/kora/devices/scalable/pda.svg
@@ -0,0 +1 @@
+./smartphone.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/phone.svg b/.icons/kora/devices/scalable/phone.svg
new file mode 120000
index 000000000..9a05e5c33
--- /dev/null
+++ b/.icons/kora/devices/scalable/phone.svg
@@ -0,0 +1 @@
+smartphone.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/preferences-system-bluetooth-inactive.svg b/.icons/kora/devices/scalable/preferences-system-bluetooth-inactive.svg
new file mode 120000
index 000000000..bb03334fd
--- /dev/null
+++ b/.icons/kora/devices/scalable/preferences-system-bluetooth-inactive.svg
@@ -0,0 +1 @@
+bluetooth-inactive.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/preferences-system-bluetooth.svg b/.icons/kora/devices/scalable/preferences-system-bluetooth.svg
new file mode 120000
index 000000000..195bf0717
--- /dev/null
+++ b/.icons/kora/devices/scalable/preferences-system-bluetooth.svg
@@ -0,0 +1 @@
+bluetooth.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/printer-laser.svg b/.icons/kora/devices/scalable/printer-laser.svg
new file mode 120000
index 000000000..daf9bb25b
--- /dev/null
+++ b/.icons/kora/devices/scalable/printer-laser.svg
@@ -0,0 +1 @@
+./printer.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/printer-network.svg b/.icons/kora/devices/scalable/printer-network.svg
new file mode 120000
index 000000000..f0bff2272
--- /dev/null
+++ b/.icons/kora/devices/scalable/printer-network.svg
@@ -0,0 +1 @@
+printer.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/printer.svg b/.icons/kora/devices/scalable/printer.svg
new file mode 100644
index 000000000..5b85227d4
--- /dev/null
+++ b/.icons/kora/devices/scalable/printer.svg
@@ -0,0 +1,66 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m6.739 43.135h34.733l0.225 0.378v0.616h-35.183v-0.637l0.225-0.357z" style="fill:#2a2a2a"/>
+ <path d="m6.417 13.517h34.919l3.725 3.567v8.835h-42.135v-8.876l3.491-3.526z" style="fill:url(#_Linear1)"/>
+ <path d="m45.084 25.913v8.739c0 0.894-0.72 1.613-1.614 1.613h-38.94c-0.894 0-1.614-0.719-1.614-1.613v-8.826l42.168 0.087z" style="fill:url(#_Linear2)"/>
+ <path d="m11.125 13.434h25.773l1.17 2.499v4.529s6e-3 1.819-1.819 1.819h-24.474s-1.761-0.072-1.819-1.737v-4.64l1.169-2.47z" style="fill:url(#_Linear3)"/>
+ <path d="m10.233 29.045h27.534c1.145 0 2.067 0.922 2.067 2.067v5.168h-31.668v-5.168c0-1.145 0.922-2.067 2.067-2.067z" style="fill:url(#_Linear4)"/>
+ <path d="m12.206 31.195h23.978c1.146 0 2.067 0.922 2.067 2.067v3.018h-28.112v-3.018c0-1.145 0.922-2.067 2.067-2.067z" style="fill:url(#_Linear5)"/>
+ <path d="m8.158 36.265h31.667l1.868 7.235h-35.17l1.635-7.235z" style="fill:url(#_Linear6)"/>
+ <path d="m11.958 31.195h24.598l1.169 10.501h-26.936l1.169-10.501z" style="fill:url(#_Linear7)"/>
+ <rect x="9.647" y="6.345" width="28.414" height="7.133" style="fill:url(#_Linear8)"/>
+ <rect x="11.677" y="4.5" width="24.681" height="9.012" style="fill:url(#_Linear9)"/>
+ <path d="m42.473 20.441h2.587v1.725h-2.587c-0.478 0-0.863-0.385-0.863-0.863 0-0.477 0.385-0.862 0.863-0.862z" style="fill:#3b3b3b"/>
+ <rect x="42.238" y="20.791" width="2.337" height="1.047" style="fill:#d5d5d5"/>
+ <path d="m6.739 43.135h34.733l0.225 0.378v0.616h-35.183v-0.637l0.225-0.357z" style="fill:#2a2a2a"/>
+ <path d="m6.417 13.517h34.919l3.725 3.567v8.835h-42.135v-8.876l3.491-3.526z" style="fill:url(#_Linear1)"/>
+ <path d="m45.084 25.913v8.739c0 0.894-0.72 1.613-1.614 1.613h-38.94c-0.894 0-1.614-0.719-1.614-1.613v-8.826l42.168 0.087z" style="fill:url(#_Linear2)"/>
+ <path d="m11.125 13.434h25.773l1.17 2.499v4.529s6e-3 1.819-1.819 1.819h-24.474s-1.761-0.072-1.819-1.737v-4.64l1.169-2.47z" style="fill:url(#_Linear3)"/>
+ <path d="m10.233 29.045h27.534c1.145 0 2.067 0.922 2.067 2.067v5.168h-31.668v-5.168c0-1.145 0.922-2.067 2.067-2.067z" style="fill:url(#_Linear4)"/>
+ <path d="m12.206 31.195h23.978c1.146 0 2.067 0.922 2.067 2.067v3.018h-28.112v-3.018c0-1.145 0.922-2.067 2.067-2.067z" style="fill:url(#_Linear5)"/>
+ <path d="m8.158 36.265h31.667l1.868 7.235h-35.17l1.635-7.235z" style="fill:url(#_Linear6)"/>
+ <path d="m11.958 31.195h24.598l1.169 10.501h-26.936l1.169-10.501z" style="fill:url(#_Linear7)"/>
+ <rect x="9.647" y="6.345" width="28.414" height="7.133" style="fill:url(#_Linear8)"/>
+ <rect x="11.677" y="4.5" width="24.681" height="9.012" style="fill:url(#_Linear9)"/>
+ <path d="m42.473 20.441h2.587v1.725h-2.587c-0.478 0-0.863-0.385-0.863-0.863 0-0.477 0.385-0.862 0.863-0.862z" style="fill:#3b3b3b"/>
+ <rect x="42.238" y="20.791" width="2.337" height="1.047" style="fill:#d5d5d5"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(7.66623e-16,-12.5199,12.5199,7.66623e-16,24.619,25.0388)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#cbcbcb" offset="0"/>
+ <stop style="stop-color:#e9e9e9" offset=".6"/>
+ <stop style="stop-color:#bebebe" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear2" x2="1" gradientTransform="matrix(-.165361 -9.59118 9.59118 -.165361 24.9922 35.6757)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#a8a8a8" offset="0"/>
+ <stop style="stop-color:#ccc" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear3" x2="1" gradientTransform="matrix(5.01196e-16,-8.18516,8.18516,5.01196e-16,24.6144,21.7798)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#333" offset="0"/>
+ <stop style="stop-color:#4e4e4e" offset=".64"/>
+ <stop style="stop-color:#333" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear4" x2="1" gradientTransform="matrix(-.430076 -7.13278 7.13278 -.430076 24.7705 35.6443)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#060606" offset="0"/>
+ <stop style="stop-color:#343434" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear5" x2="1" gradientTransform="matrix(.107146 4.61877 -4.61877 .107146 23.5865 31.5742)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#060606" offset="0"/>
+ <stop style="stop-color:#343434" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear6" x2="1" gradientTransform="matrix(.0204917 8.18516 -8.18516 .0204917 23.5724 35.907)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#1f1f1f" offset="0"/>
+ <stop style="stop-color:#444" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear7" x2="1" gradientTransform="matrix(.516369 -9.77375 9.77375 .516369 24.5219 41.2494)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#f4f4f4" offset="0"/>
+ <stop style="stop-color:#b0b0b0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear8" x2="1" gradientTransform="matrix(-.233862 -5.14495 5.14495 -.233862 25.7837 12.6358)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#1f1f1f" offset="0"/>
+ <stop style="stop-color:#444" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear9" x2="1" gradientTransform="matrix(.24805 -8.68167 8.68167 .24805 23.7076 13.1817)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#cbcbcb" offset="0"/>
+ <stop style="stop-color:#f3f3f3" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/removable-media.svg b/.icons/kora/devices/scalable/removable-media.svg
new file mode 120000
index 000000000..a283cdf55
--- /dev/null
+++ b/.icons/kora/devices/scalable/removable-media.svg
@@ -0,0 +1 @@
+drive-removable-media.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/scanner.svg b/.icons/kora/devices/scalable/scanner.svg
new file mode 100644
index 000000000..4558f68ff
--- /dev/null
+++ b/.icons/kora/devices/scalable/scanner.svg
@@ -0,0 +1,25 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linecap:round" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m41.589 6.57c0-1.097-0.444-2.483-1.22-3.259s-1.828-1.212-2.926-1.212h-26.011c-1.097 0-2.15 0.436-2.926 1.212s-1.204 2.162-1.204 3.259v34.86c0 1.097 0.445 2.485 1.221 3.261s1.829 1.212 2.926 1.212h30.149l-9e-3 -39.333z" style="fill:url(#_Linear1);stroke-width:.86px;stroke:url(#_Linear2)"/>
+ <rect x="11.449" y="6.798" width="25.994" height="34.404" style="fill:url(#_Linear3)"/>
+ <path d="m35.961 39.74h-23.425v-0.737h23.425v0.737zm0-2.1h-23.425v-0.763h23.425v0.763zm0-2.234h-23.425v-0.737h23.425v0.737zm0-2.279h-23.425v-0.737h23.425v0.737zm-13.232-3.576h-10.066v-0.737h10.066v0.737zm5.083-2.279h-15.149v-0.737h15.149v0.737zm-5.125-1.698h-9.947v-0.738h9.947v0.738zm5.088-1.653h-15.195v-0.764h15.195v0.764zm6.084-2.235h-21.279v-0.737h21.279v0.737zm2.146-2.278h-23.425v-0.737h23.425v0.737zm0.083-3.481h-23.425v-0.737h23.425v0.737zm0-2.1h-23.425v-0.764h23.425v0.764zm0-2.235h-23.425v-0.737h23.425v0.737zm0-2.278h-23.425v-0.738h23.425v0.738z" style="fill:#b0b0b0"/>
+ <rect x="7.751" y="16.243" width="33.39" height="3.494" style="fill:url(#_Linear4)"/>
+ <rect x="7.751" y="17.788" width="33.39" height=".395" style="fill-opacity:.8;fill:#fff"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(.152892 -40.826 40.826 .152892 124.649 43.9468)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#002956" offset="0"/>
+ <stop style="stop-color:#001628" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear2" x2="1" gradientTransform="matrix(-8.26673,-228.293,228.293,-8.26673,-74.0226,276.369)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#f4f4f4" offset="0"/>
+ <stop style="stop-color:#dbdbdb" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear3" x2="1" gradientTransform="matrix(-3.21103,-30.8871,30.8871,-3.21103,234.875,17.0033)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#dcdcdc" offset="0"/>
+ <stop style="stop-color:#f0f0f0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="_Linear4" x2="1" gradientTransform="matrix(1.07309e-16,-1.75249,1.75249,1.07309e-16,50.8588,17.9955)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#00a5cc;stop-opacity:.8" offset="0"/>
+ <stop style="stop-color:#0086cc;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/serial-port.svg b/.icons/kora/devices/scalable/serial-port.svg
new file mode 120000
index 000000000..c80321580
--- /dev/null
+++ b/.icons/kora/devices/scalable/serial-port.svg
@@ -0,0 +1 @@
+device_serial.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/server-database.svg b/.icons/kora/devices/scalable/server-database.svg
new file mode 120000
index 000000000..7fdd2d96f
--- /dev/null
+++ b/.icons/kora/devices/scalable/server-database.svg
@@ -0,0 +1 @@
+network-server.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/smartphone.svg b/.icons/kora/devices/scalable/smartphone.svg
new file mode 100644
index 000000000..14b5013ce
--- /dev/null
+++ b/.icons/kora/devices/scalable/smartphone.svg
@@ -0,0 +1,13 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(0 -408.737 408.737 0 42139.4 550.412)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#006783" offset="0"/>
+ <stop stop-color="#13bee3" offset="1"/>
+ </linearGradient>
+ <linearGradient id="b" x2="1" gradientTransform="matrix(-.051729 -12.1132 12.1132 -.051729 12573.9 996.808)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#141414" offset="0"/>
+ <stop stop-color="#2d2d2f" offset="1"/>
+ </linearGradient>
+ <path transform="matrix(.0732929 0 0 .0562113 14.2679 4.27923)" d="m-13.563 87.912h292.693v525.809h-292.693z" fill="url(#a)"/>
+ <path transform="matrix(3.09316 0 0 3.09316 -.745282 -3206.38)" d="m11.404 1037.36h-6.808c-.31 0-.561.25-.561.56v12.88c0 .31.251.56.561.56h6.808c.31 0 .561-.25.561-.56v-12.88c0-.31-.251-.56-.561-.56zm-.082 11.78h-6.644v-9.55h6.644z" fill="url(#b)" fill-rule="nonzero"/>
+ <ellipse transform="matrix(.0905596 0 0 .063563 11.9752 1.95742)" cx="132.784" cy="637.424" rx="20.679" ry="29.856" fill="#088bab"/>
+</svg>
diff --git a/.icons/kora/devices/scalable/soundcard.svg b/.icons/kora/devices/scalable/soundcard.svg
new file mode 120000
index 000000000..1de6f80dc
--- /dev/null
+++ b/.icons/kora/devices/scalable/soundcard.svg
@@ -0,0 +1 @@
+audio-card.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/stock_cell-phone.svg b/.icons/kora/devices/scalable/stock_cell-phone.svg
new file mode 120000
index 000000000..383406fc4
--- /dev/null
+++ b/.icons/kora/devices/scalable/stock_cell-phone.svg
@@ -0,0 +1 @@
+phone.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/system.svg b/.icons/kora/devices/scalable/system.svg
new file mode 120000
index 000000000..d890a06c6
--- /dev/null
+++ b/.icons/kora/devices/scalable/system.svg
@@ -0,0 +1 @@
+computer.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/tablet.svg b/.icons/kora/devices/scalable/tablet.svg
new file mode 100644
index 000000000..9438b7acc
--- /dev/null
+++ b/.icons/kora/devices/scalable/tablet.svg
@@ -0,0 +1,25 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g transform="matrix(.0778555 0 0 .0563743 13.662 4.67306)">
+ <rect x="-13.563" y="87.912" width="292.693" height="525.809" style="fill:url(#_Linear1)"/>
+ </g>
+ <g transform="matrix(3.34649,0,0,2.78571,-2.77194,-2885.29)">
+ <clipPath id="_clip2">
+ <path d="m11.404 1037.36h-6.808c-0.31 0-0.561 0.25-0.561 0.56v12.88c0 0.31 0.251 0.56 0.561 0.56h6.808c0.31 0 0.561-0.25 0.561-0.56v-12.88c0-0.31-0.251-0.56-0.561-0.56zm-0.082 11.78h-6.644v-9.55h6.644v9.55z" clip-rule="nonzero"/>
+ </clipPath>
+ <g clip-path="url(#_clip2)">
+ <g transform="matrix(.29882 -0 -0 .358974 .828311 1035.75)">
+ <use transform="scale(.982856 1)" x="10.919" y="4.5" width="26.537px" height="39px" xlink:href="#_Image3"/>
+ </g>
+ </g>
+ </g>
+ <g transform="matrix(.0778555 0 0 .0563743 13.662 4.67306)">
+ <ellipse cx="132.784" cy="637.424" rx="20.679" ry="29.856" style="fill:rgb(8,139,171)"/>
+ </g>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(1.39319e-14,-408.737,227.524,2.5028e-14,6206.55,550.412)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:rgb(0,103,131)" offset="0"/>
+ <stop style="stop-color:rgb(19,190,227)" offset="1"/>
+ </linearGradient>
+ <image id="_Image3" width="27px" height="39px" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAnCAYAAAD+bDODAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAaUlEQVRYhe2XwQkAIAwDq7iOuP909Sn9FEUNGuoAOdsTgqnWpgI6GQWCw4oqbIvEkxHDRKCT7UbMB7y9xp27Eb/G+6wBMM5ug6mdRcUEzIF9VjFLsHB2AEZWMQYWzv6DnYzzw3id8f6pO+eQVcJ9wptrAAAAAElFTkSuQmCC"/>
+ </defs>
+</svg>
diff --git a/.icons/kora/devices/scalable/uninterruptible-power-supply.svg b/.icons/kora/devices/scalable/uninterruptible-power-supply.svg
new file mode 100644
index 000000000..f110a5050
--- /dev/null
+++ b/.icons/kora/devices/scalable/uninterruptible-power-supply.svg
@@ -0,0 +1,15 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(-.506203 -42 42 -.506203 388.014 40.6128)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#3e3e3e" offset="0"/>
+ <stop stop-color="#778788" offset="1"/>
+ </linearGradient>
+ <path transform="translate(-.4455)" d="m37.02 1.667c2.783 0 5.039 2.257 5.039 5.04v34.586c0 2.783-2.256 5.04-5.039 5.04h-25.149c-2.783 0-5.039-2.257-5.039-5.04v-34.586c0-2.783 2.256-5.04 5.039-5.04z" fill="url(#a)" fill-rule="nonzero"/>
+ <path d="m34 1.667v24.333c0 5.54-4.46 10-10 10s-10-4.46-10-10v-24.333z" fill="#181010" fill-rule="nonzero"/>
+ <circle cx="24" cy="26" r="4" fill="#8e8e8e"/>
+ <circle cx="24" cy="16" r="2" fill="#e21b00"/>
+ <circle cx="24" cy="10" r="2" fill="#76ff03"/>
+ <g fill="#181010">
+ <path transform="matrix(.833333 0 0 1 4 -1.31704)" d="m12 41h24v3h-24z"/>
+ <path d="m38 24h3.614v2h-3.614c-.554 0-1-.446-1-1s.446-1 1-1zm0 3h3.614v2h-3.614c-.554 0-1-.446-1-1s.446-1 1-1zm0 3h3.614v2h-3.614c-.554 0-1-.446-1-1s.446-1 1-1zm-31.613-6h3.613c.554 0 1 .446 1 1s-.446 1-1 1h-3.613zm0 3h3.613c.554 0 1 .446 1 1s-.446 1-1 1h-3.613zm0 3h3.613c.554 0 1 .446 1 1s-.446 1-1 1h-3.613z"/>
+ </g>
+</svg>
diff --git a/.icons/kora/devices/scalable/unity-fallback-mount-helper.svg b/.icons/kora/devices/scalable/unity-fallback-mount-helper.svg
new file mode 120000
index 000000000..a283cdf55
--- /dev/null
+++ b/.icons/kora/devices/scalable/unity-fallback-mount-helper.svg
@@ -0,0 +1 @@
+drive-removable-media.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/video-display.svg b/.icons/kora/devices/scalable/video-display.svg
new file mode 100644
index 000000000..585cba15c
--- /dev/null
+++ b/.icons/kora/devices/scalable/video-display.svg
@@ -0,0 +1,16 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(0 -10.6328 10.6328 0 945.782 54.7328)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#6b6b6b" offset="0"/>
+ <stop stop-color="#474747" offset="1"/>
+ </linearGradient>
+ <linearGradient id="b" x2="1" gradientTransform="matrix(0 -31.548 26.151 0 24 33.88)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#ff6b67" offset="0"/>
+ <stop stop-color="#ffd22d" offset="1"/>
+ </linearGradient>
+ <path transform="matrix(.75 0 0 .75 0 5.32088)" d="m24.462 40.093h15.076v7.9h-15.076z" fill="url(#a)" fill-rule="nonzero"/>
+ <path transform="matrix(1 0 0 1.13354 -.019583 -8.62106)" d="m35.789 43.478c0-.574-.528-1.039-1.178-1.039h-21.184c-.65 0-1.178.465-1.178 1.039v1.151c0 .573.528 1.039 1.178 1.039h21.184c.65 0 1.178-.466 1.178-1.039z" fill="#a4a4a4"/>
+ <g transform="translate(0 2.52247)">
+ <path d="m39.44 33.88h-30.88c-3.438 0-6.228-2.79-6.228-6.228v-19.092c0-3.438 2.79-6.228 6.228-6.228h30.88c3.438 0 6.228 2.79 6.228 6.228v19.092c0 3.438-2.79 6.228-6.228 6.228z" fill="url(#b)"/>
+ <path d="m39.44 33.88h-30.88c-3.438 0-6.228-2.79-6.228-6.228v-19.092c0-3.438 2.79-6.228 6.228-6.228h30.88c3.438 0 6.228 2.79 6.228 6.228v19.092c0 3.438-2.79 6.228-6.228 6.228zm0-1c2.886 0 5.228-2.342 5.228-5.228v-19.092c0-2.886-2.342-5.228-5.228-5.228h-30.88c-2.886 0-5.228 2.342-5.228 5.228v19.092c0 2.886 2.342 5.228 5.228 5.228z" fill="#3e3e3e"/>
+ </g>
+</svg>
diff --git a/.icons/kora/devices/scalable/video-television.svg b/.icons/kora/devices/scalable/video-television.svg
new file mode 100644
index 000000000..0404cd519
--- /dev/null
+++ b/.icons/kora/devices/scalable/video-television.svg
@@ -0,0 +1,16 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="a" x2="1" gradientTransform="matrix(0 -10.6328 10.6328 0 945.782 54.7328)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#6b6b6b" offset="0"/>
+ <stop stop-color="#474747" offset="1"/>
+ </linearGradient>
+ <linearGradient id="b" x2="1" gradientTransform="matrix(0 -31.5475 25.5101 0 214.689 33.8797)" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#e769db" offset="0"/>
+ <stop stop-color="#04a2fe" offset="1"/>
+ </linearGradient>
+ <path transform="matrix(2.0957 0 0 .75 -43.0623 5.32088)" d="m24.462 40.093h15.076v7.9h-15.076z" fill="url(#a)" fill-rule="nonzero"/>
+ <path transform="matrix(1 0 0 1.13354 -.019583 -8.62106)" d="m45.688 43.478c0-.574-.528-1.039-1.178-1.039h-40.98c-.651 0-1.178.465-1.178 1.039v1.151c0 .573.527 1.039 1.178 1.039h40.98c.65 0 1.178-.466 1.178-1.039z" fill="#a4a4a4"/>
+ <g transform="translate(0 2.52247)">
+ <path d="m39.44 33.88h-30.88c-3.438 0-6.228-2.79-6.228-6.228v-19.092c0-3.438 2.79-6.228 6.228-6.228h30.88c3.438 0 6.228 2.79 6.228 6.228v19.092c0 3.438-2.79 6.228-6.228 6.228z" fill="url(#b)"/>
+ <path d="m39.44 33.88h-30.88c-3.438 0-6.228-2.79-6.228-6.228v-19.092c0-3.438 2.79-6.228 6.228-6.228h30.88c3.438 0 6.228 2.79 6.228 6.228v19.092c0 3.438-2.79 6.228-6.228 6.228zm0-1c2.886 0 5.228-2.342 5.228-5.228v-19.092c0-2.886-2.342-5.228-5.228-5.228h-30.88c-2.886 0-5.228 2.342-5.228 5.228v19.092c0 2.886 2.342 5.228 5.228 5.228z" fill="#3e3e3e"/>
+ </g>
+</svg>
diff --git a/.icons/kora/devices/scalable/vmware-memory.svg b/.icons/kora/devices/scalable/vmware-memory.svg
new file mode 120000
index 000000000..f19a62edd
--- /dev/null
+++ b/.icons/kora/devices/scalable/vmware-memory.svg
@@ -0,0 +1 @@
+gnome-dev-memory.svg \ No newline at end of file
diff --git a/.icons/kora/devices/scalable/wiimotedev.svg b/.icons/kora/devices/scalable/wiimotedev.svg
new file mode 100644
index 000000000..5b9ec0ce2
--- /dev/null
+++ b/.icons/kora/devices/scalable/wiimotedev.svg
@@ -0,0 +1,11 @@
+<svg style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+ <path d="m31 44c1.104 0 2-0.896 2-2v-36c0-1.104-0.896-2-2-2h-14c-1.104 0-2 0.896-2 2v36c0 1.104 0.896 2 2 2h14z" style="fill:url(#_Linear1)"/>
+ <path d="m29 12c0-0.554-0.446-1-1-1h-2v-2c0-0.554-0.446-1-1-1h-2c-0.554 0-1 0.446-1 1v2h-2c-0.554 0-1 0.446-1 1v2c0 0.554 0.446 1 1 1h2v2c0 0.554 0.446 1 1 1h2c0.554 0 1-0.446 1-1v-2h2c0.554 0 1-0.446 1-1v-2z" style="fill-rule:nonzero;fill:#0d79f2"/>
+ <path d="m29 38c0 1.104-0.896 2-2 2s-2-0.896-2-2 0.896-2 2-2 2 0.896 2 2zm-6 0c0 1.104-0.896 2-2 2s-2-0.896-2-2 0.896-2 2-2 2 0.896 2 2zm6-6c0 1.104-0.896 2-2 2s-2-0.896-2-2 0.896-2 2-2 2 0.896 2 2zm-6 0c0 1.104-0.896 2-2 2s-2-0.896-2-2 0.896-2 2-2 2 0.896 2 2z" style="fill:#4f4f4f"/>
+ <defs>
+ <linearGradient id="_Linear1" x2="1" gradientTransform="matrix(-1.53143e-14,40,-18,-6.89142e-15,24,4)" gradientUnits="userSpaceOnUse">
+ <stop style="stop-color:#e4e4e4" offset="0"/>
+ <stop style="stop-color:#b8b8b8" offset="1"/>
+ </linearGradient>
+ </defs>
+</svg>