diff --git a/custom_components/deebot/__init__.py b/custom_components/deebot/__init__.py
index b86d8ee..8714e9f 100644
--- a/custom_components/deebot/__init__.py
+++ b/custom_components/deebot/__init__.py
@@ -1,119 +1,62 @@
"""Support for Deebot Vaccums."""
-import asyncio
import logging
-import async_timeout
-import time
-import random
-import string
-import base64
-import voluptuous as vol
-import homeassistant.helpers.config_validation as cv
-from datetime import timedelta
-from deebotozmo import *
-from homeassistant.util import Throttle
-from homeassistant.helpers import discovery
-from homeassistant.helpers.entity import Entity
-from homeassistant.const import CONF_PASSWORD, CONF_USERNAME, EVENT_HOMEASSISTANT_STOP
-
-REQUIREMENTS = ['deebotozmo==1.7.8']
-
-CONF_COUNTRY = "country"
-CONF_CONTINENT = "continent"
-CONF_DEVICEID = "deviceid"
-CONF_LIVEMAPPATH = "livemappath"
-CONF_LIVEMAP = "live_map"
-CONF_SHOWCOLORROOMS = "show_color_rooms"
-DEEBOT_DEVICES = "deebot_devices"
-
-# Generate a random device ID on each bootup
-DEEBOT_API_DEVICEID = "".join(
- random.choice(string.ascii_uppercase + string.digits) for _ in range(8)
-)
+import asyncio
+from homeassistant.config_entries import ConfigEntry
+from homeassistant.core import HomeAssistant
+from . import hub
+from .const import DOMAIN, STARTUP
_LOGGER = logging.getLogger(__name__)
-HUB = None
-DOMAIN = 'deebot'
+PLATFORMS = ["sensor", "binary_sensor", "vacuum", "camera"]
-CONFIG_SCHEMA = vol.Schema({
- DOMAIN: vol.Schema({
- vol.Required(CONF_USERNAME): cv.string,
- vol.Required(CONF_PASSWORD): cv.string,
- vol.Required(CONF_COUNTRY): vol.All(vol.Lower, cv.string),
- vol.Required(CONF_CONTINENT): vol.All(vol.Lower, cv.string),
- vol.Required(CONF_DEVICEID): vol.All(cv.ensure_list, [cv.string]),
- vol.Optional(CONF_LIVEMAP, default=True): cv.boolean,
- vol.Optional(CONF_SHOWCOLORROOMS, default=False): cv.boolean,
- vol.Optional(CONF_LIVEMAPPATH, default='www/'): cv.string
- }),
-}, extra=vol.ALLOW_EXTRA)
-def setup(hass, config):
- """Set up the Deebot."""
- global HUB
+async def async_setup(hass: HomeAssistant, config: dict):
+ """Set up the Deebot component."""
+ # Ensure our name space for storing objects is a known type. A dict is
+ # common/preferred as it allows a separate instance of your class for each
+ # instance that has been created in the UI.
+ hass.data.setdefault(DOMAIN, {})
- HUB = DeebotHub(config[DOMAIN])
-
- for component in ('sensor', 'binary_sensor', 'vacuum'):
- discovery.load_platform(hass, component, DOMAIN, {}, config)
+ # Print startup message
+ _LOGGER.info(STARTUP)
return True
-class DeebotHub(Entity):
- """Deebot Hub"""
- def __init__(self, domain_config):
- """Initialize the Deebot Vacuum."""
+async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
+ # Store an instance of the "connecting" class that does the work of speaking
+ # with your actual devices.
+ hass.data[DOMAIN][entry.entry_id] = await hass.async_add_executor_job(
+ hub.DeebotHub, hass, entry.data
+ )
- self.config = domain_config
- self._lock = threading.Lock()
-
- self.ecovacs_api = EcoVacsAPI(
- DEEBOT_API_DEVICEID,
- domain_config.get(CONF_USERNAME),
- EcoVacsAPI.md5(domain_config.get(CONF_PASSWORD)),
- domain_config.get(CONF_COUNTRY),
- domain_config.get(CONF_CONTINENT)
- )
+ # This creates each HA object for each platform your device requires.
+ # It's done by calling the `async_setup_entry` function in each platform module.
+ for component in PLATFORMS:
+ hass.async_create_task(
+ hass.config_entries.async_forward_entry_setup(entry, component)
+ )
- devices = self.ecovacs_api.devices()
- liveMapEnabled = domain_config.get(CONF_LIVEMAP)
- liveMapRooms = domain_config.get(CONF_SHOWCOLORROOMS)
- country = domain_config.get(CONF_COUNTRY).lower()
- continent = domain_config.get(CONF_CONTINENT).lower()
- self.vacbots = []
+ return True
- # CREATE VACBOT FOR EACH DEVICE
- for device in devices:
- if device['name'] in domain_config.get(CONF_DEVICEID):
- vacbot = VacBot(
- self.ecovacs_api.uid,
- self.ecovacs_api.resource,
- self.ecovacs_api.user_access_token,
- device,
- country,
- continent,
- liveMapEnabled,
- liveMapRooms
- )
-
- _LOGGER.debug("New vacbot found: " + device['name'])
- self.vacbots.append(vacbot)
+async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry):
+ """Unload a config entry."""
+ # This is called when an entry/configured device is to be removed. The class
+ # needs to unload itself, and remove callbacks. See the classes for further
+ # details
+ unload_ok = all(
+ await asyncio.gather(
+ *[
+ hass.config_entries.async_forward_entry_unload(entry, component)
+ for component in PLATFORMS
+ ]
+ )
+ )
- _LOGGER.debug("Hub initialized")
+ if unload_ok:
+ hass.data[DOMAIN][entry.entry_id].disconnect()
+ hass.data[DOMAIN].pop(entry.entry_id)
- @Throttle(timedelta(seconds=10))
- def update(self):
- """ Update all statuses. """
- try:
- for vacbot in self.vacbots:
- vacbot.request_all_statuses()
- except Exception as ex:
- _LOGGER.error('Update failed: %s', ex)
- raise
-
- @property
- def name(self):
- """ Return the name of the hub."""
- return "Deebot Hub"
\ No newline at end of file
+ return unload_ok
\ No newline at end of file
diff --git a/custom_components/deebot/__pycache__/__init__.cpython-38.pyc b/custom_components/deebot/__pycache__/__init__.cpython-38.pyc
index 2947539..8744bb3 100644
Binary files a/custom_components/deebot/__pycache__/__init__.cpython-38.pyc and b/custom_components/deebot/__pycache__/__init__.cpython-38.pyc differ
diff --git a/custom_components/deebot/__pycache__/__init__.cpython-39.pyc b/custom_components/deebot/__pycache__/__init__.cpython-39.pyc
new file mode 100644
index 0000000..b33bc50
Binary files /dev/null and b/custom_components/deebot/__pycache__/__init__.cpython-39.pyc differ
diff --git a/custom_components/deebot/__pycache__/binary_sensor.cpython-38.pyc b/custom_components/deebot/__pycache__/binary_sensor.cpython-38.pyc
index 70a38b3..375a638 100644
Binary files a/custom_components/deebot/__pycache__/binary_sensor.cpython-38.pyc and b/custom_components/deebot/__pycache__/binary_sensor.cpython-38.pyc differ
diff --git a/custom_components/deebot/__pycache__/binary_sensor.cpython-39.pyc b/custom_components/deebot/__pycache__/binary_sensor.cpython-39.pyc
new file mode 100644
index 0000000..20576a5
Binary files /dev/null and b/custom_components/deebot/__pycache__/binary_sensor.cpython-39.pyc differ
diff --git a/custom_components/deebot/__pycache__/camera.cpython-38.pyc b/custom_components/deebot/__pycache__/camera.cpython-38.pyc
new file mode 100644
index 0000000..0ced018
Binary files /dev/null and b/custom_components/deebot/__pycache__/camera.cpython-38.pyc differ
diff --git a/custom_components/deebot/__pycache__/camera.cpython-39.pyc b/custom_components/deebot/__pycache__/camera.cpython-39.pyc
new file mode 100644
index 0000000..d18483d
Binary files /dev/null and b/custom_components/deebot/__pycache__/camera.cpython-39.pyc differ
diff --git a/custom_components/deebot/__pycache__/config_flow.cpython-38.pyc b/custom_components/deebot/__pycache__/config_flow.cpython-38.pyc
new file mode 100644
index 0000000..c6d08c8
Binary files /dev/null and b/custom_components/deebot/__pycache__/config_flow.cpython-38.pyc differ
diff --git a/custom_components/deebot/__pycache__/config_flow.cpython-39.pyc b/custom_components/deebot/__pycache__/config_flow.cpython-39.pyc
new file mode 100644
index 0000000..d25d8c4
Binary files /dev/null and b/custom_components/deebot/__pycache__/config_flow.cpython-39.pyc differ
diff --git a/custom_components/deebot/__pycache__/const.cpython-38.pyc b/custom_components/deebot/__pycache__/const.cpython-38.pyc
new file mode 100644
index 0000000..dab4793
Binary files /dev/null and b/custom_components/deebot/__pycache__/const.cpython-38.pyc differ
diff --git a/custom_components/deebot/__pycache__/const.cpython-39.pyc b/custom_components/deebot/__pycache__/const.cpython-39.pyc
new file mode 100644
index 0000000..114a164
Binary files /dev/null and b/custom_components/deebot/__pycache__/const.cpython-39.pyc differ
diff --git a/custom_components/deebot/__pycache__/helpers.cpython-38.pyc b/custom_components/deebot/__pycache__/helpers.cpython-38.pyc
new file mode 100644
index 0000000..b1e9631
Binary files /dev/null and b/custom_components/deebot/__pycache__/helpers.cpython-38.pyc differ
diff --git a/custom_components/deebot/__pycache__/helpers.cpython-39.pyc b/custom_components/deebot/__pycache__/helpers.cpython-39.pyc
new file mode 100644
index 0000000..ff0e39f
Binary files /dev/null and b/custom_components/deebot/__pycache__/helpers.cpython-39.pyc differ
diff --git a/custom_components/deebot/__pycache__/hub.cpython-38.pyc b/custom_components/deebot/__pycache__/hub.cpython-38.pyc
new file mode 100644
index 0000000..092e3e1
Binary files /dev/null and b/custom_components/deebot/__pycache__/hub.cpython-38.pyc differ
diff --git a/custom_components/deebot/__pycache__/hub.cpython-39.pyc b/custom_components/deebot/__pycache__/hub.cpython-39.pyc
new file mode 100644
index 0000000..51c5664
Binary files /dev/null and b/custom_components/deebot/__pycache__/hub.cpython-39.pyc differ
diff --git a/custom_components/deebot/__pycache__/sensor.cpython-38.pyc b/custom_components/deebot/__pycache__/sensor.cpython-38.pyc
index a49d155..ae63a4c 100644
Binary files a/custom_components/deebot/__pycache__/sensor.cpython-38.pyc and b/custom_components/deebot/__pycache__/sensor.cpython-38.pyc differ
diff --git a/custom_components/deebot/__pycache__/sensor.cpython-39.pyc b/custom_components/deebot/__pycache__/sensor.cpython-39.pyc
new file mode 100644
index 0000000..9da10fe
Binary files /dev/null and b/custom_components/deebot/__pycache__/sensor.cpython-39.pyc differ
diff --git a/custom_components/deebot/__pycache__/vacuum.cpython-38.pyc b/custom_components/deebot/__pycache__/vacuum.cpython-38.pyc
index 2596e54..fc03a67 100644
Binary files a/custom_components/deebot/__pycache__/vacuum.cpython-38.pyc and b/custom_components/deebot/__pycache__/vacuum.cpython-38.pyc differ
diff --git a/custom_components/deebot/__pycache__/vacuum.cpython-39.pyc b/custom_components/deebot/__pycache__/vacuum.cpython-39.pyc
new file mode 100644
index 0000000..610307e
Binary files /dev/null and b/custom_components/deebot/__pycache__/vacuum.cpython-39.pyc differ
diff --git a/custom_components/deebot/binary_sensor.py b/custom_components/deebot/binary_sensor.py
index 2a0d9e3..303a839 100644
--- a/custom_components/deebot/binary_sensor.py
+++ b/custom_components/deebot/binary_sensor.py
@@ -1,20 +1,25 @@
"""Support for Deebot Sensor."""
-from typing import Optional
+from typing import Optional, Dict, Any
from deebotozmo import *
from homeassistant.components.binary_sensor import BinarySensorEntity
-from . import HUB as hub
+from .const import DOMAIN
+from .helpers import get_device_info
_LOGGER = logging.getLogger(__name__)
-def setup_platform(hass, config, add_devices, discovery_info=None):
- """Set up the Deebot binary sensor platform."""
- hub.update()
+async def async_setup_entry(hass, config_entry, async_add_devices):
+ """Add binary_sensor for passed config_entry in HA."""
+ hub = hass.data[DOMAIN][config_entry.entry_id]
+ new_devices = []
for vacbot in hub.vacbots:
- add_devices([DeebotMopAttachedBinarySensor(vacbot, "mop_attached")], True)
+ new_devices.append(DeebotMopAttachedBinarySensor(vacbot, "mop_attached"))
+
+ if new_devices:
+ async_add_devices(new_devices)
class DeebotMopAttachedBinarySensor(BinarySensorEntity):
@@ -33,11 +38,20 @@ class DeebotMopAttachedBinarySensor(BinarySensorEntity):
self._name = self._vacbot_name + "_" + device_id
+ @property
+ def unique_id(self) -> str:
+ """Return an unique ID."""
+ return self._vacbot.vacuum.get("did", None) + "_" + self._id
+
@property
def name(self):
"""Return the name of the device."""
return self._name
+ @property
+ def should_poll(self) -> bool:
+ return False
+
@property
def is_on(self):
return self._vacbot.mop_attached
@@ -46,3 +60,17 @@ class DeebotMopAttachedBinarySensor(BinarySensorEntity):
def icon(self) -> Optional[str]:
"""Return the icon to use in the frontend, if any."""
return "mdi:water" if self.is_on else "mdi:water-off"
+
+ @property
+ def entity_registry_enabled_default(self) -> bool:
+ """Return if the entity should be enabled when first added to the entity registry."""
+ return True
+
+ @property
+ def device_info(self) -> Optional[Dict[str, Any]]:
+ return get_device_info(self._vacbot)
+
+ async def async_added_to_hass(self) -> None:
+ """Set up the event listeners now that hass is ready."""
+ listener: EventListener = self._vacbot.waterEvents.subscribe(lambda _: self.schedule_update_ha_state())
+ self.async_on_remove(listener.unsubscribe)
diff --git a/custom_components/deebot/camera.py b/custom_components/deebot/camera.py
new file mode 100644
index 0000000..df74ee5
--- /dev/null
+++ b/custom_components/deebot/camera.py
@@ -0,0 +1,65 @@
+"""Support for Deebot Vaccums."""
+import base64
+import logging
+from typing import Optional, Dict, Any
+
+from homeassistant.components.camera import Camera
+
+from .const import *
+from .helpers import get_device_info
+
+_LOGGER = logging.getLogger(__name__)
+
+
+async def async_setup_entry(hass, config_entry, async_add_devices):
+ """Add sensors for passed config_entry in HA."""
+ hub = hass.data[DOMAIN][config_entry.entry_id]
+
+ if hub.liveMapEnabled:
+ new_devices = []
+
+ for vacbot in hub.vacbots:
+ new_devices.append(DeeboLiveCamera(vacbot, "liveMap"))
+
+ if new_devices:
+ async_add_devices(new_devices)
+
+
+class DeeboLiveCamera(Camera):
+ """Deebot Live Camera"""
+
+ def __init__(self, vacbot, device_id):
+ """Initialize the Deebot Vacuum."""
+ super().__init__()
+
+ self._vacbot = vacbot
+ self._id = device_id
+
+ if self._vacbot.vacuum.get("nick", None) is not None:
+ self._vacbot_name = "{}".format(self._vacbot.vacuum["nick"])
+ else:
+ # In case there is no nickname defined, use the device id
+ self._vacbot_name = "{}".format(self._vacbot.vacuum["did"])
+
+ self._name = self._vacbot_name + "_" + device_id
+
+ _LOGGER.debug("Camera initialized: %s", self.name)
+
+ @property
+ def name(self):
+ """Return the name of the device."""
+ return self._name
+
+ @property
+ def unique_id(self) -> str:
+ """Return an unique ID."""
+ return self._vacbot.vacuum.get("did", None) + "_" + self._id
+
+ @property
+ def device_info(self) -> Optional[Dict[str, Any]]:
+ return get_device_info(self._vacbot)
+
+ async def async_camera_image(self):
+ """Return a still image response from the camera."""
+
+ return base64.decodebytes(self._vacbot.live_map)
diff --git a/custom_components/deebot/config_flow.py b/custom_components/deebot/config_flow.py
new file mode 100644
index 0000000..482f116
--- /dev/null
+++ b/custom_components/deebot/config_flow.py
@@ -0,0 +1,144 @@
+"""Config flow for Deebot integration."""
+import logging
+import voluptuous as vol
+import random
+import string
+import homeassistant.helpers.config_validation as cv
+from homeassistant import config_entries, core, exceptions
+from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
+from .const import DOMAIN
+from .const import *
+from deebotozmo import EcoVacsAPI, VacBot
+
+_LOGGER = logging.getLogger(__name__)
+
+# Generate a random device ID on each bootup
+DEEBOT_API_DEVICEID = "".join(
+ random.choice(string.ascii_uppercase + string.digits) for _ in range(8)
+)
+
+DATA_SCHEMA = vol.Schema(
+ {
+ vol.Required(CONF_USERNAME): str,
+ vol.Required(CONF_PASSWORD): str,
+ vol.Required(CONF_COUNTRY): str,
+ vol.Required(CONF_CONTINENT): str,
+ vol.Optional(CONF_LIVEMAP, default=False): bool,
+ vol.Optional(CONF_SHOWCOLORROOMS, default=False): bool,
+ }
+)
+
+
+async def validate_input(hass: core.HomeAssistant, data: dict):
+ """Validate the user input allows us to connect.
+ Data has the keys from DATA_SCHEMA with values provided by the user.
+ """
+
+ if len(data[CONF_COUNTRY]) != 2:
+ raise InvalidCountry
+
+ if len(data[CONF_CONTINENT]) != 2:
+ raise InvalidContinent
+
+ return await hass.async_add_executor_job(ConfigEntryRetriveRobots, hass, data)
+
+
+def ConfigEntryRetriveRobots(hass: core.HomeAssistant, domain_config):
+ ecovacs_api = EcoVacsAPI(
+ DEEBOT_API_DEVICEID,
+ domain_config.get(CONF_USERNAME),
+ EcoVacsAPI.md5(domain_config.get(CONF_PASSWORD)),
+ domain_config.get(CONF_COUNTRY),
+ domain_config.get(CONF_CONTINENT),
+ )
+
+ return ecovacs_api.devices()
+
+
+class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
+ """Handle a config flow for Deebot."""
+
+ VERSION = 1
+ CONNECTION_CLASS = config_entries.CONN_CLASS_CLOUD_POLL
+
+ async def async_step_user(self, user_input=None):
+ """Handle the initial step."""
+ self.data = {}
+ errors = {}
+ if user_input is not None:
+ try:
+ info = await validate_input(self.hass, user_input)
+ self.robot_list = info
+ except CannotConnect:
+ errors["base"] = "cannot_connect"
+ except InvalidCountry:
+ errors[CONF_COUNTRY] = "invalid_country"
+ except InvalidContinent:
+ errors[CONF_CONTINENT] = "invalid_continent"
+ except Exception:
+ _LOGGER.exception("Unexpected exception")
+ errors["base"] = "unknown"
+
+ if not errors:
+ self.data = user_input
+
+ robot_listDict = {e["name"]: e["nick"] for e in self.robot_list}
+ options_schema = vol.Schema(
+ {
+ vol.Required(
+ CONF_DEVICEID, default=list(robot_listDict.keys())
+ ): cv.multi_select(robot_listDict)
+ }
+ )
+
+ return self.async_show_form(
+ step_id="robots", data_schema=options_schema, errors=errors
+ )
+
+ # If there is no user input or there were errors, show the form again, including any errors that were found with the input.
+ return self.async_show_form(
+ step_id="user", data_schema=DATA_SCHEMA, errors=errors
+ )
+
+ async def async_step_robots(self, user_input=None):
+ """Handle the robots selection step."""
+
+ errors = {}
+ if user_input is not None:
+ try:
+ if len(user_input[CONF_DEVICEID]) < 1:
+ errors["base"] = "select_robots"
+ else:
+ self.data[CONF_DEVICEID] = user_input
+ return self.async_create_entry(
+ title=self.data[CONF_USERNAME], data=self.data
+ )
+ except Exception:
+ _LOGGER.exception("Unexpected exception")
+ errors["base"] = "unknown"
+
+ # If there is no user input or there were errors, show the form again, including any errors that were found with the input.
+ robot_listDict = {e["name"]: e["nick"] for e in self.robot_list}
+ options_schema = vol.Schema(
+ {
+ vol.Required(
+ CONF_DEVICEID, default=list(robot_listDict.keys())
+ ): cv.multi_select(robot_listDict)
+ }
+ )
+
+ return self.async_show_form(
+ step_id="robots", data_schema=options_schema, errors=errors
+ )
+
+
+class CannotConnect(exceptions.HomeAssistantError):
+ """Error to indicate we cannot connect."""
+
+
+class InvalidCountry(exceptions.HomeAssistantError):
+ """Error to indicate there is an invalid hostname."""
+
+
+class InvalidContinent(exceptions.HomeAssistantError):
+ """Error to indicate there is an invalid hostname."""
\ No newline at end of file
diff --git a/custom_components/deebot/const.py b/custom_components/deebot/const.py
new file mode 100644
index 0000000..122151b
--- /dev/null
+++ b/custom_components/deebot/const.py
@@ -0,0 +1,47 @@
+from homeassistant.components.vacuum import (
+ PLATFORM_SCHEMA,
+ STATE_CLEANING,
+ STATE_DOCKED,
+ STATE_ERROR,
+ STATE_IDLE,
+ STATE_PAUSED,
+ STATE_RETURNING,
+ SUPPORT_BATTERY,
+ SUPPORT_FAN_SPEED,
+ SUPPORT_LOCATE,
+ SUPPORT_PAUSE,
+ SUPPORT_RETURN_HOME,
+ SUPPORT_SEND_COMMAND,
+ SUPPORT_START,
+ SUPPORT_STATE,
+ VacuumEntity,
+)
+
+DOMAIN = "deebot"
+INTEGRATION_VERSION = "2.1.2"
+ISSUE_URL = "https://github.com/And3rsL/Deebot-for-Home-Assistant/issues"
+
+STARTUP = f"""
+-------------------------------------------------------------------
+{DOMAIN}
+Version: {INTEGRATION_VERSION}
+This is a custom component
+If you have any issues with this you need to open an issue here:
+{ISSUE_URL}
+-------------------------------------------------------------------
+"""
+
+CONF_COUNTRY = "country"
+CONF_CONTINENT = "continent"
+CONF_DEVICEID = "deviceid"
+CONF_LIVEMAP = "live_map"
+CONF_SHOWCOLORROOMS = "show_color_rooms"
+DEEBOT_DEVICES = f"{DOMAIN}_devices"
+STATE_CODE_TO_STATE = {
+ "STATE_IDLE": STATE_IDLE,
+ "STATE_CLEANING": STATE_CLEANING,
+ "STATE_RETURNING": STATE_RETURNING,
+ "STATE_DOCKED": STATE_DOCKED,
+ "STATE_ERROR": STATE_ERROR,
+ "STATE_PAUSED": STATE_PAUSED,
+}
\ No newline at end of file
diff --git a/custom_components/deebot/helpers.py b/custom_components/deebot/helpers.py
new file mode 100644
index 0000000..71a9756
--- /dev/null
+++ b/custom_components/deebot/helpers.py
@@ -0,0 +1,24 @@
+from deebotozmo import VacBot
+
+from .const import DOMAIN
+
+
+def get_device_info(vacBot: VacBot):
+ device: dict = vacBot.vacuum
+ identifiers = set()
+ if "did" in device:
+ identifiers.add((DOMAIN, device.get("did")))
+ if "name" in device:
+ identifiers.add((DOMAIN, device.get("name")))
+
+ if not identifiers:
+ # we don't get a identifier to identify the device correctly abort
+ return None
+
+ return {
+ "identifiers": identifiers,
+ "name": device.get("nick", "Deebot vacuum"),
+ "manufacturer": "Ecovacs",
+ "model": device.get("deviceName", "Deebot vacuum"),
+ "sw_version": vacBot.fwversion,
+ }
diff --git a/custom_components/deebot/hub.py b/custom_components/deebot/hub.py
new file mode 100644
index 0000000..5a8a0c3
--- /dev/null
+++ b/custom_components/deebot/hub.py
@@ -0,0 +1,76 @@
+import logging
+import random
+import string
+import threading
+
+from deebotozmo import EcoVacsAPI, VacBot
+from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
+from homeassistant.core import HomeAssistant
+
+from .const import *
+
+_LOGGER = logging.getLogger(__name__)
+
+# Generate a random device ID on each bootup
+DEEBOT_API_DEVICEID = "".join(
+ random.choice(string.ascii_uppercase + string.digits) for _ in range(8)
+)
+
+
+class DeebotHub:
+ """Deebot Hub"""
+
+ def __init__(self, hass: HomeAssistant, domain_config):
+ """Initialize the Deebot Vacuum."""
+
+ self.config = domain_config
+ self._lock = threading.Lock()
+ self.hass = hass
+
+ self.ecovacs_api = EcoVacsAPI(
+ DEEBOT_API_DEVICEID,
+ domain_config.get(CONF_USERNAME),
+ EcoVacsAPI.md5(domain_config.get(CONF_PASSWORD)),
+ domain_config.get(CONF_COUNTRY),
+ domain_config.get(CONF_CONTINENT),
+ )
+
+ devices = self.ecovacs_api.devices()
+
+ liveMapEnabled = domain_config.get(CONF_LIVEMAP)
+ self.liveMapEnabled = liveMapEnabled
+
+ liveMapRooms = domain_config.get(CONF_SHOWCOLORROOMS)
+ country = domain_config.get(CONF_COUNTRY).lower()
+ continent = domain_config.get(CONF_CONTINENT).lower()
+ self.vacbots = []
+
+ # CREATE VACBOT FOR EACH DEVICE
+ for device in devices:
+ if device["name"] in domain_config.get(CONF_DEVICEID)[CONF_DEVICEID]:
+ vacbot = VacBot(
+ self.ecovacs_api.uid,
+ self.ecovacs_api.resource,
+ self.ecovacs_api.user_access_token,
+ device,
+ country,
+ continent,
+ liveMapEnabled,
+ liveMapRooms,
+ )
+
+ _LOGGER.debug("New vacbot found: " + device["name"])
+ vacbot.setScheduleUpdates()
+
+ self.vacbots.append(vacbot)
+
+ _LOGGER.debug("Hub initialized")
+
+ def disconnect(self):
+ for device in self.vacbots:
+ device.disconnect()
+
+ @property
+ def name(self):
+ """ Return the name of the hub."""
+ return "Deebot Hub"
diff --git a/custom_components/deebot/manifest.json b/custom_components/deebot/manifest.json
index 69ad740..105be5f 100644
--- a/custom_components/deebot/manifest.json
+++ b/custom_components/deebot/manifest.json
@@ -1,11 +1,14 @@
{
"domain": "deebot",
- "name": "Deebot for Hassio",
- "documentation": "https://github.com/And3rsL/Deebot-for-hassio",
+ "name": "Deebot for Home Assistant",
+ "version": "2.1.2",
+ "config_flow": true,
+ "documentation": "https://github.com/And3rsL/Deebot-for-Hassio",
"requirements": [
- "deebotozmo==1.7.8"
+ "deebotozmo==1.8.0"
],
"dependencies": [],
- "codeowners": ["@And3rsL"],
- "homeassistant": "0.110.0"
-}
\ No newline at end of file
+ "codeowners": [
+ "@And3rsL"
+ ]
+}
diff --git a/custom_components/deebot/sensor.py b/custom_components/deebot/sensor.py
index 4bb6b8f..37835ec 100644
--- a/custom_components/deebot/sensor.py
+++ b/custom_components/deebot/sensor.py
@@ -1,51 +1,43 @@
"""Support for Deebot Sensor."""
-from typing import Optional
+import logging
+from typing import Optional, Dict, Any
-from deebotozmo import *
-from homeassistant.const import (STATE_UNKNOWN)
+from deebotozmo import (
+ COMPONENT_FILTER,
+ COMPONENT_SIDE_BRUSH,
+ COMPONENT_MAIN_BRUSH, EventListener,
+)
+from homeassistant.const import STATE_UNKNOWN
from homeassistant.helpers.entity import Entity
-from . import HUB as hub
+from .const import DOMAIN
+from .helpers import get_device_info
_LOGGER = logging.getLogger(__name__)
-from homeassistant.components.vacuum import (
- STATE_CLEANING,
- STATE_DOCKED,
- STATE_ERROR,
- STATE_IDLE,
- STATE_PAUSED,
- STATE_RETURNING,
-)
-STATE_CODE_TO_STATE = {
- 'STATE_IDLE': STATE_IDLE,
- 'STATE_CLEANING': STATE_CLEANING,
- 'STATE_RETURNING': STATE_RETURNING,
- 'STATE_DOCKED': STATE_DOCKED,
- 'STATE_ERROR': STATE_ERROR,
- 'STATE_PAUSED': STATE_PAUSED,
-}
-
-
-def setup_platform(hass, config, add_devices, discovery_info=None):
- """Set up the Deebot sensor."""
- hub.update()
+async def async_setup_entry(hass, config_entry, async_add_devices):
+ """Add sensors for passed config_entry in HA."""
+ hub = hass.data[DOMAIN][config_entry.entry_id]
+ new_devices = []
for vacbot in hub.vacbots:
# General
- add_devices([DeebotLastCleanImageSensor(vacbot, "last_clean_image")], True)
- add_devices([DeebotWaterLevelSensor(vacbot, "water_level")], True)
+ new_devices.append(DeebotLastCleanImageSensor(vacbot, "last_clean_image"))
+ new_devices.append(DeebotWaterLevelSensor(vacbot, "water_level"))
# Components
- add_devices([DeebotComponentSensor(vacbot, COMPONENT_MAIN_BRUSH)], True)
- add_devices([DeebotComponentSensor(vacbot, COMPONENT_SIDE_BRUSH)], True)
- add_devices([DeebotComponentSensor(vacbot, COMPONENT_FILTER)], True)
+ new_devices.append(DeebotComponentSensor(vacbot, COMPONENT_MAIN_BRUSH))
+ new_devices.append(DeebotComponentSensor(vacbot, COMPONENT_SIDE_BRUSH))
+ new_devices.append(DeebotComponentSensor(vacbot, COMPONENT_FILTER))
# Stats
- add_devices([DeebotStatsSensor(vacbot, "stats_area")], True)
- add_devices([DeebotStatsSensor(vacbot, "stats_time")], True)
- add_devices([DeebotStatsSensor(vacbot, "stats_type")], True)
+ new_devices.append(DeebotStatsSensor(vacbot, "stats_area"))
+ new_devices.append(DeebotStatsSensor(vacbot, "stats_time"))
+ new_devices.append(DeebotStatsSensor(vacbot, "stats_type"))
+
+ if new_devices:
+ async_add_devices(new_devices)
class DeebotBaseSensor(Entity):
@@ -53,7 +45,6 @@ class DeebotBaseSensor(Entity):
def __init__(self, vacbot, device_id):
"""Initialize the Sensor."""
-
self._state = STATE_UNKNOWN
self._vacbot = vacbot
self._id = device_id
@@ -71,6 +62,24 @@ class DeebotBaseSensor(Entity):
"""Return the name of the device."""
return self._name
+ @property
+ def unique_id(self) -> str:
+ """Return an unique ID."""
+ return self._vacbot.vacuum.get("did", None) + "_" + self._id
+
+ @property
+ def entity_registry_enabled_default(self) -> bool:
+ """Return if the entity should be enabled when first added to the entity registry."""
+ return True
+
+ @property
+ def should_poll(self) -> bool:
+ return False
+
+ @property
+ def device_info(self) -> Optional[Dict[str, Any]]:
+ return get_device_info(self._vacbot)
+
class DeebotLastCleanImageSensor(DeebotBaseSensor):
"""Deebot Sensor"""
@@ -90,6 +99,11 @@ class DeebotLastCleanImageSensor(DeebotBaseSensor):
"""Return the icon to use in the frontend, if any."""
return "mdi:image-search"
+ async def async_added_to_hass(self) -> None:
+ """Set up the event listeners now that hass is ready."""
+ listener: EventListener = self._vacbot.cleanLogsEvents.subscribe(lambda _: self.schedule_update_ha_state())
+ self.async_on_remove(listener.unsubscribe)
+
class DeebotWaterLevelSensor(DeebotBaseSensor):
"""Deebot Sensor"""
@@ -110,6 +124,11 @@ class DeebotWaterLevelSensor(DeebotBaseSensor):
"""Return the icon to use in the frontend, if any."""
return "mdi:water"
+ async def async_added_to_hass(self) -> None:
+ """Set up the event listeners now that hass is ready."""
+ listener: EventListener = self._vacbot.waterEvents.subscribe(lambda _: self.schedule_update_ha_state())
+ self.async_on_remove(listener.unsubscribe)
+
class DeebotComponentSensor(DeebotBaseSensor):
"""Deebot Sensor"""
@@ -121,7 +140,7 @@ class DeebotComponentSensor(DeebotBaseSensor):
@property
def unit_of_measurement(self):
"""Return the unit of measurement."""
- return '%'
+ return "%"
@property
def state(self):
@@ -139,6 +158,11 @@ class DeebotComponentSensor(DeebotBaseSensor):
elif self._id == COMPONENT_FILTER:
return "mdi:air-filter"
+ async def async_added_to_hass(self) -> None:
+ """Set up the event listeners now that hass is ready."""
+ listener: EventListener = self._vacbot.lifespanEvents.subscribe(lambda _: self.schedule_update_ha_state())
+ self.async_on_remove(listener.unsubscribe)
+
class DeebotStatsSensor(DeebotBaseSensor):
"""Deebot Sensor"""
@@ -150,20 +174,20 @@ class DeebotStatsSensor(DeebotBaseSensor):
@property
def unit_of_measurement(self):
"""Return the unit of measurement."""
- if self._id == 'stats_area':
+ if self._id == "stats_area":
return "mq"
- elif self._id == 'stats_time':
+ elif self._id == "stats_time":
return "min"
@property
def state(self):
"""Return the state of the vacuum cleaner."""
- if self._id == 'stats_area' and self._vacbot.stats_area is not None:
+ if self._id == "stats_area" and self._vacbot.stats_area is not None:
return int(self._vacbot.stats_area)
- elif self._id == 'stats_time' and self._vacbot.stats_time is not None:
- return int(self._vacbot.stats_time/60)
- elif self._id == 'stats_type':
+ elif self._id == "stats_time" and self._vacbot.stats_time is not None:
+ return int(self._vacbot.stats_time / 60)
+ elif self._id == "stats_type":
return self._vacbot.stats_type
else:
return STATE_UNKNOWN
@@ -171,9 +195,14 @@ class DeebotStatsSensor(DeebotBaseSensor):
@property
def icon(self) -> Optional[str]:
"""Return the icon to use in the frontend, if any."""
- if self._id == 'stats_area':
+ if self._id == "stats_area":
return "mdi:floor-plan"
- elif self._id == 'stats_time':
+ elif self._id == "stats_time":
return "mdi:timer-outline"
- elif self._id == 'stats_type':
+ elif self._id == "stats_type":
return "mdi:cog"
+
+ async def async_added_to_hass(self) -> None:
+ """Set up the event listeners now that hass is ready."""
+ listener: EventListener = self._vacbot.statsEvents.subscribe(lambda _: self.schedule_update_ha_state())
+ self.async_on_remove(listener.unsubscribe)
diff --git a/custom_components/deebot/translations/de.json b/custom_components/deebot/translations/de.json
new file mode 100644
index 0000000..a6ebadb
--- /dev/null
+++ b/custom_components/deebot/translations/de.json
@@ -0,0 +1,27 @@
+{
+ "config": {
+ "abort": {
+ "already_configured": "Bereits konfiguriert"
+ },
+ "error": {
+ "cannot_connect": "Verbindung fehlgeschlagen",
+ "invalid_auth": "Ung\u00fcltige Authentifizierung",
+ "unknown": "Unerwarteter Fehler",
+ "invalid_country":"Ung\u00fcltiges Land! L\u00e4ndercode sollte aus 2 Zeichen bestehen! Bsp.: de, it, us, ...",
+ "invalid_continent":"Ung\u00fcltiger Kontinent! Code sollte aus 2 Zeichen bestehen! Bsp.: ww, eu, ...",
+ "select_robots": "Bitte w\u00e4hlen Sie mindestens 1 Roboter aus"
+ },
+ "step": {
+ "user": {
+ "data": {
+ "password": "Passwort",
+ "username": "E-mail oder ShortID",
+ "country": "Land",
+ "continent": "Kontinent",
+ "live_map": "Live-Karte aktiviert",
+ "show_color_rooms": "Raumfarbe anzeigen [BETA]"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/custom_components/deebot/translations/en.json b/custom_components/deebot/translations/en.json
new file mode 100644
index 0000000..f14039b
--- /dev/null
+++ b/custom_components/deebot/translations/en.json
@@ -0,0 +1,27 @@
+{
+ "config": {
+ "abort": {
+ "already_configured": "Alredy configured"
+ },
+ "error": {
+ "cannot_connect": "Can't connect to the ecovacs API",
+ "invalid_auth": "Invalid username or password",
+ "unknown": "Unknown error",
+ "invalid_country":"Country code should be two letter code, ex: us, uk, etc ",
+ "invalid_continent":"Continent code should be two letter code, ex: ww, eu, etc ",
+ "select_robots": "Please select at least 1 robot"
+ },
+ "step": {
+ "user": {
+ "data": {
+ "password": "Password",
+ "username": "E-mail or ShortID",
+ "country": "Country",
+ "continent": "Continent",
+ "live_map": "Live Map enabled",
+ "show_color_rooms": "Show room color [BETA]"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/custom_components/deebot/translations/it.json b/custom_components/deebot/translations/it.json
new file mode 100644
index 0000000..246856c
--- /dev/null
+++ b/custom_components/deebot/translations/it.json
@@ -0,0 +1,27 @@
+{
+ "config": {
+ "abort": {
+ "already_configured": "GiĆ configurato"
+ },
+ "error": {
+ "cannot_connect": "Non riesco a connettermi con ecovacs API",
+ "invalid_auth": "Username o password errate",
+ "unknown": "Errore sconosciuto",
+ "invalid_country":"Il country code deve essere di due lettere, es: it, us, uk etc ",
+ "invalid_continent":"Il Continent code deve essere di due lettere, es: eu, ww etc ",
+ "select_robots": "Seleziona almeno 1 robot"
+ },
+ "step": {
+ "user": {
+ "data": {
+ "password": "Password",
+ "username": "E-mail o ShortID",
+ "country": "Country",
+ "continent": "Continent",
+ "live_map": "Abilita Live Map",
+ "show_color_rooms": "Mostra stanze colorate [BETA]"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/custom_components/deebot/vacuum.py b/custom_components/deebot/vacuum.py
index 0987e94..175c79b 100644
--- a/custom_components/deebot/vacuum.py
+++ b/custom_components/deebot/vacuum.py
@@ -1,79 +1,56 @@
"""Support for Deebot Vaccums."""
-import base64
-from typing import Optional, Dict, Any, Union, List
+import logging
+from typing import Optional, Dict, Any
-from deebotozmo import *
+from deebotozmo import (
+ FAN_SPEED_QUIET,
+ FAN_SPEED_NORMAL,
+ FAN_SPEED_MAX,
+ FAN_SPEED_MAXPLUS, VacBot, EventListener,
+)
+from homeassistant.core import HomeAssistant
from homeassistant.util import slugify
-from . import HUB as hub
-
-CONF_COUNTRY = "country"
-CONF_CONTINENT = "continent"
-CONF_DEVICEID = "deviceid"
-CONF_LIVEMAPPATH = "livemappath"
-CONF_LIVEMAP = "live_map"
-CONF_SHOWCOLORROOMS = "show_color_rooms"
-DEEBOT_DEVICES = "deebot_devices"
-
-from homeassistant.components.vacuum import (
- PLATFORM_SCHEMA,
- STATE_CLEANING,
- STATE_DOCKED,
- STATE_ERROR,
- STATE_IDLE,
- STATE_PAUSED,
- STATE_RETURNING,
- SUPPORT_BATTERY,
- SUPPORT_FAN_SPEED,
- SUPPORT_LOCATE,
- SUPPORT_PAUSE,
- SUPPORT_RETURN_HOME,
- SUPPORT_SEND_COMMAND,
- SUPPORT_START,
- SUPPORT_STATE,
- VacuumEntity,
-)
+from .const import *
+from .helpers import get_device_info
_LOGGER = logging.getLogger(__name__)
SUPPORT_DEEBOT = (
- SUPPORT_BATTERY
- | SUPPORT_FAN_SPEED
- | SUPPORT_LOCATE
- | SUPPORT_PAUSE
- | SUPPORT_RETURN_HOME
- | SUPPORT_SEND_COMMAND
- | SUPPORT_START
- | SUPPORT_STATE
+ SUPPORT_BATTERY
+ | SUPPORT_FAN_SPEED
+ | SUPPORT_LOCATE
+ | SUPPORT_PAUSE
+ | SUPPORT_RETURN_HOME
+ | SUPPORT_SEND_COMMAND
+ | SUPPORT_START
+ | SUPPORT_STATE
)
-STATE_CODE_TO_STATE = {
- 'STATE_IDLE': STATE_IDLE,
- 'STATE_CLEANING': STATE_CLEANING,
- 'STATE_RETURNING': STATE_RETURNING,
- 'STATE_DOCKED': STATE_DOCKED,
- 'STATE_ERROR': STATE_ERROR,
- 'STATE_PAUSED': STATE_PAUSED,
-}
-ATTR_COMPONENT_PREFIX = "component_"
-
-def setup_platform(hass, config, add_devices, discovery_info=None):
- """Set up the Deebot vacuums."""
- if DEEBOT_DEVICES not in hass.data:
- hass.data[DEEBOT_DEVICES] = []
+async def async_setup_entry(hass, config_entry, async_add_devices):
+ """Add sensors for passed config_entry in HA."""
+ hub = hass.data[DOMAIN][config_entry.entry_id]
+ new_devices = []
for vacbot in hub.vacbots:
- vacuum = DeebotVacuum(hass, vacbot)
- add_devices([vacuum])
+ new_devices.append(DeebotVacuum(hass, vacbot))
+
+ if new_devices:
+ async_add_devices(new_devices)
+
+
+def _unsubscribe_listeners(listeners: [EventListener]):
+ for listener in listeners:
+ listener.unsubscribe()
+
class DeebotVacuum(VacuumEntity):
"""Deebot Vacuums"""
- def __init__(self, hass, vacbot):
+ def __init__(self, hass: HomeAssistant, vacbot: VacBot):
"""Initialize the Deebot Vacuum."""
self._hass = hass
-
self.device = vacbot
if self.device.vacuum.get("nick", None) is not None:
@@ -84,11 +61,18 @@ class DeebotVacuum(VacuumEntity):
self._fan_speed = None
self._live_map = None
- self._live_map_path = hub.config.get(CONF_LIVEMAPPATH) + self._name + '_liveMap.png'
-
- self.device.refresh_statuses()
-
- _LOGGER.debug("Vacuum initialized: %s", self.name)
+
+ self.att_data = {}
+
+ async def async_added_to_hass(self) -> None:
+ """Set up the event listeners now that hass is ready."""
+ listeners = [
+ self.device.statusEvents.subscribe(lambda _: self.schedule_update_ha_state()),
+ self.device.batteryEvents.subscribe(lambda _: self.schedule_update_ha_state()),
+ self.device.roomEvents.subscribe(lambda _: self.schedule_update_ha_state()),
+ self.device.fanspeedEvents.subscribe(self.on_fan_change)
+ ]
+ self.async_on_remove(lambda: _unsubscribe_listeners(listeners))
def on_fan_change(self, fan_speed):
self._fan_speed = fan_speed
@@ -96,7 +80,7 @@ class DeebotVacuum(VacuumEntity):
@property
def should_poll(self) -> bool:
"""Return True if entity has to be polled for state."""
- return True
+ return False
@property
def unique_id(self) -> str:
@@ -165,58 +149,46 @@ class DeebotVacuum(VacuumEntity):
"""Send a command to a vacuum cleaner."""
_LOGGER.debug("async_send_command %s (%s), %s", command, params, kwargs)
- if command == 'spot_area':
- await self.hass.async_add_executor_job(self.device.SpotArea, params['rooms'], params['cleanings'])
+ if command == "spot_area":
+ await self.hass.async_add_executor_job(
+ self.device.SpotArea, params["rooms"], params["cleanings"]
+ )
return
- if command == 'custom_area':
- await self.hass.async_add_executor_job(self.device.CustomArea, params['coordinates'], params['cleanings'])
+ if command == "custom_area":
+ await self.hass.async_add_executor_job(
+ self.device.CustomArea, params["coordinates"], params["cleanings"]
+ )
return
- if command == 'set_water':
- await self.hass.async_add_executor_job(self.device.SetWaterLevel, params['amount'])
+ if command == "set_water":
+ await self.hass.async_add_executor_job(
+ self.device.SetWaterLevel, params["amount"]
+ )
return
- if command == 'relocate':
+ if command == "relocate":
await self.hass.async_add_executor_job(self.device.Relocate)
return
- if command == 'auto_clean':
- self.hass.async_add_executor_job(self.device.Clean, params['type'])
+ if command == "auto_clean":
+ self.hass.async_add_executor_job(self.device.Clean, params["type"])
return
- if command == 'refresh_components':
+ if command == "refresh_components":
await self.hass.async_add_executor_job(self.device.refresh_components)
return
- if command == 'refresh_statuses':
+ if command == "refresh_statuses":
await self.hass.async_add_executor_job(self.device.refresh_statuses)
return
- if command == 'refresh_live_map':
+ if command == "refresh_live_map":
await self.hass.async_add_executor_job(self.device.refresh_liveMap)
return
- if command == 'save_live_map':
- if(self._live_map != self.device.live_map):
- self._live_map = self.device.live_map
- with open(params['path'], "wb") as fh:
- fh.write(base64.decodebytes(self.device.live_map))
-
await self.hass.async_add_executor_job(self.device.exc_command, command, params)
- async def async_update(self):
- """Fetch state from the device."""
- await self.hass.async_add_executor_job(self.device.request_all_statuses)
-
- try:
- if(self._live_map != self.device.live_map):
- self._live_map = self.device.live_map
- with open(self._live_map_path, "wb") as fh:
- fh.write(base64.decodebytes(self.device.live_map))
- except KeyError:
- _LOGGER.warning("Can't access local folder: %s", self._live_map_path)
-
@property
def device_state_attributes(self) -> Optional[Dict[str, Any]]:
"""Return device specific state attributes.
@@ -224,24 +196,28 @@ class DeebotVacuum(VacuumEntity):
Implemented by platform classes. Convention for attribute names
is lowercase snake_case.
"""
-
- data: Dict[str, Union[int, List[int]]] = {}
-
# Needed for custom vacuum-card (https://github.com/denysdovhan/vacuum-card)
# Should find a better way without breaking everyone rooms script
- data['status'] = STATE_CODE_TO_STATE[self.device.vacuum_status]
-
- if self.device.getSavedRooms() is not None:
- for r in self.device.getSavedRooms():
+ savedRooms = self.device.getSavedRooms()
+ if savedRooms is not None:
+ self.att_data = {}
+ for r in savedRooms:
# convert room name to snake_case to meet the convention
room_name = "room_" + slugify(r["subtype"])
- room_values = data.get(room_name)
+ room_values = self.att_data.get(room_name)
if room_values is None:
- data[room_name] = r["id"]
+ self.att_data[room_name] = r["id"]
elif isinstance(room_values, list):
room_values.append(r["id"])
else:
# Convert from int to list
- data[room_name] = [room_values, r["id"]]
+ self.att_data[room_name] = [room_values, r["id"]]
- return data
\ No newline at end of file
+ if self.device.vacuum_status:
+ self.att_data["status"] = STATE_CODE_TO_STATE[self.device.vacuum_status]
+
+ return self.att_data
+
+ @property
+ def device_info(self) -> Optional[Dict[str, Any]]:
+ return get_device_info(self.device)
diff --git a/custom_components/fontawesome/__init__.py b/custom_components/fontawesome/__init__.py
index 0eb7576..a14d049 100644
--- a/custom_components/fontawesome/__init__.py
+++ b/custom_components/fontawesome/__init__.py
@@ -1,50 +1,46 @@
+import logging
+
+from homeassistant.components.frontend import add_extra_js_url
+
+LOGGER = logging.getLogger(__name__)
+
DOMAIN = "fontawesome"
DATA_EXTRA_MODULE_URL = 'frontend_extra_module_url'
-ICONS_URL = f'/{DOMAIN}/'
-ICON_FILES = {
- 'regular': 'far.js',
- 'solid': 'fas.js',
- 'brands': 'fab.js',
-}
+LOADER_URL = f'/{DOMAIN}/main.js'
+LOADER_PATH = f'custom_components/{DOMAIN}/main.js'
+ICONS_URL = f'/{DOMAIN}/icons'
+ICONS_PATH = f'custom_components/{DOMAIN}/data'
+CUSTOM_ICONS_URL = f'/{DOMAIN}/icons/pro'
+CUSTOM_ICONS_PATH = 'custom_icons/'
async def async_setup(hass, config):
- for f in ICON_FILES.values():
- hass.http.register_static_path(
- f"/{DOMAIN}/{f}",
- hass.config.path(f"custom_components/{DOMAIN}/data/{f}"),
+ hass.http.register_static_path(
+ LOADER_URL,
+ hass.config.path(LOADER_PATH),
True
)
- conf = config.get(DOMAIN)
- if not conf:
- return True
- register_modules(hass, conf)
+ add_extra_js_url(hass, LOADER_URL)
+
+ for iset in ["brands", "regular", "solid"]:
+ hass.http.register_static_path(
+ ICONS_URL + "/" + iset,
+ hass.config.path(ICONS_PATH + "/" + iset),
+ True
+ )
+ hass.http.register_static_path(
+ CUSTOM_ICONS_URL,
+ hass.config.path(CUSTOM_ICONS_PATH),
+ True
+ )
+
return True
-async def async_setup_entry(hass, config_entry):
- config_entry.add_update_listener(_update_listener)
- register_modules(hass, config_entry.options)
+async def async_setup_entry(hass, entry):
return True
-async def async_remove_entry(hass, config_entry):
- register_modules(hass, [])
+async def async_remove_entry(hass, entry):
return True
-
-
-async def _update_listener(hass, config_entry):
- register_modules(hass, config_entry.options)
- return True
-
-
-def register_modules(hass, modules):
- if DATA_EXTRA_MODULE_URL not in hass.data:
- hass.data[DATA_EXTRA_MODULE_URL] = set()
- url_set = hass.data[DATA_EXTRA_MODULE_URL]
-
- for k, v in ICON_FILES.items():
- url_set.discard(ICONS_URL+v)
- if k in modules and modules[k] is not False:
- url_set.add(ICONS_URL+v)
diff --git a/custom_components/fontawesome/__pycache__/__init__.cpython-38.pyc b/custom_components/fontawesome/__pycache__/__init__.cpython-38.pyc
index 9a1350c..9cb0959 100644
Binary files a/custom_components/fontawesome/__pycache__/__init__.cpython-38.pyc and b/custom_components/fontawesome/__pycache__/__init__.cpython-38.pyc differ
diff --git a/custom_components/fontawesome/__pycache__/__init__.cpython-39.pyc b/custom_components/fontawesome/__pycache__/__init__.cpython-39.pyc
new file mode 100644
index 0000000..b559bde
Binary files /dev/null and b/custom_components/fontawesome/__pycache__/__init__.cpython-39.pyc differ
diff --git a/custom_components/fontawesome/config_flow.py b/custom_components/fontawesome/config_flow.py
index 0e5380b..5b2bcce 100644
--- a/custom_components/fontawesome/config_flow.py
+++ b/custom_components/fontawesome/config_flow.py
@@ -1,8 +1,6 @@
import logging
-import voluptuous as vol
from homeassistant import config_entries
-from homeassistant.core import callback
_LOGGER = logging.getLogger(__name__)
@@ -13,37 +11,3 @@ class FontawesomeConfigFlow(config_entries.ConfigFlow):
if self._async_current_entries():
return self.async_abort(reason="single_instance_allowed")
return self.async_create_entry(title="", data={})
-
- @staticmethod
- @callback
- def async_get_options_flow(config_entry):
- return FontawesomeEditFlow(config_entry)
-
-
-class FontawesomeEditFlow(config_entries.OptionsFlow):
- def __init__(self, config_entry):
- self.config_entry = config_entry
-
- async def async_step_init(self, user_input=None):
- if user_input is not None:
- return self.async_create_entry(title="", data=user_input)
-
- return self.async_show_form(
- step_id="init",
- data_schema=vol.Schema(
- {
- vol.Optional(
- "regular",
- default=self.config_entry.options.get("regular", False),
- ): bool,
- vol.Optional(
- "solid",
- default=self.config_entry.options.get("solid", False),
- ): bool,
- vol.Optional(
- "brands",
- default=self.config_entry.options.get("brands", False),
- ): bool,
- }
- )
- )
diff --git a/custom_components/fontawesome/data/LICENSE.txt b/custom_components/fontawesome/data/LICENSE.txt
new file mode 100644
index 0000000..f31bef9
--- /dev/null
+++ b/custom_components/fontawesome/data/LICENSE.txt
@@ -0,0 +1,34 @@
+Font Awesome Free License
+-------------------------
+
+Font Awesome Free is free, open source, and GPL friendly. You can use it for
+commercial projects, open source projects, or really almost whatever you want.
+Full Font Awesome Free license: https://fontawesome.com/license/free.
+
+# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/)
+In the Font Awesome Free download, the CC BY 4.0 license applies to all icons
+packaged as SVG and JS file types.
+
+# Fonts: SIL OFL 1.1 License (https://scripts.sil.org/OFL)
+In the Font Awesome Free download, the SIL OFL license applies to all icons
+packaged as web and desktop font files.
+
+# Code: MIT License (https://opensource.org/licenses/MIT)
+In the Font Awesome Free download, the MIT license applies to all non-font and
+non-icon files.
+
+# Attribution
+Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font
+Awesome Free files already contain embedded comments with sufficient
+attribution, so you shouldn't need to do anything additional when using these
+files normally.
+
+We've kept attribution comments terse, so we ask that you do not actively work
+to remove them from files, especially code. They're a great way for folks to
+learn about Font Awesome.
+
+# Brand Icons
+All brand icons are trademarks of their respective owners. The use of these
+trademarks does not indicate endorsement of the trademark holder by Font
+Awesome, nor vice versa. **Please do not use brand logos for any purpose except
+to represent the company, product, or service to which they refer.**
diff --git a/custom_components/fontawesome/data/brands/500px.svg b/custom_components/fontawesome/data/brands/500px.svg
new file mode 100644
index 0000000..d872f24
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/500px.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/accessible-icon.svg b/custom_components/fontawesome/data/brands/accessible-icon.svg
new file mode 100644
index 0000000..725b902
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/accessible-icon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/accusoft.svg b/custom_components/fontawesome/data/brands/accusoft.svg
new file mode 100644
index 0000000..7be2e62
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/accusoft.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/acquisitions-incorporated.svg b/custom_components/fontawesome/data/brands/acquisitions-incorporated.svg
new file mode 100644
index 0000000..459cb0e
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/acquisitions-incorporated.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/adn.svg b/custom_components/fontawesome/data/brands/adn.svg
new file mode 100644
index 0000000..ee28539
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/adn.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/adobe.svg b/custom_components/fontawesome/data/brands/adobe.svg
new file mode 100644
index 0000000..27030e6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/adobe.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/adversal.svg b/custom_components/fontawesome/data/brands/adversal.svg
new file mode 100644
index 0000000..125dd50
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/adversal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/affiliatetheme.svg b/custom_components/fontawesome/data/brands/affiliatetheme.svg
new file mode 100644
index 0000000..d5dd4e8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/affiliatetheme.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/airbnb.svg b/custom_components/fontawesome/data/brands/airbnb.svg
new file mode 100644
index 0000000..b3ca9d6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/airbnb.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/algolia.svg b/custom_components/fontawesome/data/brands/algolia.svg
new file mode 100644
index 0000000..979d7cd
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/algolia.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/alipay.svg b/custom_components/fontawesome/data/brands/alipay.svg
new file mode 100644
index 0000000..de341fb
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/alipay.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/amazon-pay.svg b/custom_components/fontawesome/data/brands/amazon-pay.svg
new file mode 100644
index 0000000..76e4c4a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/amazon-pay.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/amazon.svg b/custom_components/fontawesome/data/brands/amazon.svg
new file mode 100644
index 0000000..642fdb2
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/amazon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/amilia.svg b/custom_components/fontawesome/data/brands/amilia.svg
new file mode 100644
index 0000000..48c693c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/amilia.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/android.svg b/custom_components/fontawesome/data/brands/android.svg
new file mode 100644
index 0000000..f096167
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/android.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/angellist.svg b/custom_components/fontawesome/data/brands/angellist.svg
new file mode 100644
index 0000000..422885c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/angellist.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/angrycreative.svg b/custom_components/fontawesome/data/brands/angrycreative.svg
new file mode 100644
index 0000000..b262469
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/angrycreative.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/angular.svg b/custom_components/fontawesome/data/brands/angular.svg
new file mode 100644
index 0000000..9948fb7
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/angular.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/app-store-ios.svg b/custom_components/fontawesome/data/brands/app-store-ios.svg
new file mode 100644
index 0000000..12fc848
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/app-store-ios.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/app-store.svg b/custom_components/fontawesome/data/brands/app-store.svg
new file mode 100644
index 0000000..52e04a6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/app-store.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/apper.svg b/custom_components/fontawesome/data/brands/apper.svg
new file mode 100644
index 0000000..f986f50
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/apper.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/apple-pay.svg b/custom_components/fontawesome/data/brands/apple-pay.svg
new file mode 100644
index 0000000..5d3145a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/apple-pay.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/apple.svg b/custom_components/fontawesome/data/brands/apple.svg
new file mode 100644
index 0000000..e24ed63
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/apple.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/artstation.svg b/custom_components/fontawesome/data/brands/artstation.svg
new file mode 100644
index 0000000..2c79313
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/artstation.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/asymmetrik.svg b/custom_components/fontawesome/data/brands/asymmetrik.svg
new file mode 100644
index 0000000..ef47296
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/asymmetrik.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/atlassian.svg b/custom_components/fontawesome/data/brands/atlassian.svg
new file mode 100644
index 0000000..c07561e
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/atlassian.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/audible.svg b/custom_components/fontawesome/data/brands/audible.svg
new file mode 100644
index 0000000..7ee5aef
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/audible.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/autoprefixer.svg b/custom_components/fontawesome/data/brands/autoprefixer.svg
new file mode 100644
index 0000000..912dee1
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/autoprefixer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/avianex.svg b/custom_components/fontawesome/data/brands/avianex.svg
new file mode 100644
index 0000000..4095309
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/avianex.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/aviato.svg b/custom_components/fontawesome/data/brands/aviato.svg
new file mode 100644
index 0000000..064e044
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/aviato.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/aws.svg b/custom_components/fontawesome/data/brands/aws.svg
new file mode 100644
index 0000000..61973d3
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/aws.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/bandcamp.svg b/custom_components/fontawesome/data/brands/bandcamp.svg
new file mode 100644
index 0000000..f1e1c20
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/bandcamp.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/battle-net.svg b/custom_components/fontawesome/data/brands/battle-net.svg
new file mode 100644
index 0000000..8ceec68
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/battle-net.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/behance-square.svg b/custom_components/fontawesome/data/brands/behance-square.svg
new file mode 100644
index 0000000..2d9e08b
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/behance-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/behance.svg b/custom_components/fontawesome/data/brands/behance.svg
new file mode 100644
index 0000000..73e9467
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/behance.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/bimobject.svg b/custom_components/fontawesome/data/brands/bimobject.svg
new file mode 100644
index 0000000..b708fde
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/bimobject.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/bitbucket.svg b/custom_components/fontawesome/data/brands/bitbucket.svg
new file mode 100644
index 0000000..2902d35
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/bitbucket.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/bitcoin.svg b/custom_components/fontawesome/data/brands/bitcoin.svg
new file mode 100644
index 0000000..9ee5f2e
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/bitcoin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/bity.svg b/custom_components/fontawesome/data/brands/bity.svg
new file mode 100644
index 0000000..cf6c63d
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/bity.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/black-tie.svg b/custom_components/fontawesome/data/brands/black-tie.svg
new file mode 100644
index 0000000..36f3eb7
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/black-tie.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/blackberry.svg b/custom_components/fontawesome/data/brands/blackberry.svg
new file mode 100644
index 0000000..d830886
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/blackberry.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/blogger-b.svg b/custom_components/fontawesome/data/brands/blogger-b.svg
new file mode 100644
index 0000000..c313b52
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/blogger-b.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/blogger.svg b/custom_components/fontawesome/data/brands/blogger.svg
new file mode 100644
index 0000000..7707557
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/blogger.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/bluetooth-b.svg b/custom_components/fontawesome/data/brands/bluetooth-b.svg
new file mode 100644
index 0000000..d6e3a5e
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/bluetooth-b.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/bluetooth.svg b/custom_components/fontawesome/data/brands/bluetooth.svg
new file mode 100644
index 0000000..aad75a3
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/bluetooth.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/bootstrap.svg b/custom_components/fontawesome/data/brands/bootstrap.svg
new file mode 100644
index 0000000..35fa43c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/bootstrap.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/btc.svg b/custom_components/fontawesome/data/brands/btc.svg
new file mode 100644
index 0000000..45e6515
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/btc.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/buffer.svg b/custom_components/fontawesome/data/brands/buffer.svg
new file mode 100644
index 0000000..90b3bcd
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/buffer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/buromobelexperte.svg b/custom_components/fontawesome/data/brands/buromobelexperte.svg
new file mode 100644
index 0000000..f419c90
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/buromobelexperte.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/buy-n-large.svg b/custom_components/fontawesome/data/brands/buy-n-large.svg
new file mode 100644
index 0000000..cbb298c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/buy-n-large.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/buysellads.svg b/custom_components/fontawesome/data/brands/buysellads.svg
new file mode 100644
index 0000000..5bb292d
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/buysellads.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/canadian-maple-leaf.svg b/custom_components/fontawesome/data/brands/canadian-maple-leaf.svg
new file mode 100644
index 0000000..ca96f7c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/canadian-maple-leaf.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/cc-amazon-pay.svg b/custom_components/fontawesome/data/brands/cc-amazon-pay.svg
new file mode 100644
index 0000000..7a98669
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/cc-amazon-pay.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/cc-amex.svg b/custom_components/fontawesome/data/brands/cc-amex.svg
new file mode 100644
index 0000000..7d43515
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/cc-amex.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/cc-apple-pay.svg b/custom_components/fontawesome/data/brands/cc-apple-pay.svg
new file mode 100644
index 0000000..a8a56ed
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/cc-apple-pay.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/cc-diners-club.svg b/custom_components/fontawesome/data/brands/cc-diners-club.svg
new file mode 100644
index 0000000..7ade2bb
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/cc-diners-club.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/cc-discover.svg b/custom_components/fontawesome/data/brands/cc-discover.svg
new file mode 100644
index 0000000..2b780e4
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/cc-discover.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/cc-jcb.svg b/custom_components/fontawesome/data/brands/cc-jcb.svg
new file mode 100644
index 0000000..8671a88
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/cc-jcb.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/cc-mastercard.svg b/custom_components/fontawesome/data/brands/cc-mastercard.svg
new file mode 100644
index 0000000..af0753e
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/cc-mastercard.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/cc-paypal.svg b/custom_components/fontawesome/data/brands/cc-paypal.svg
new file mode 100644
index 0000000..6ca9200
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/cc-paypal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/cc-stripe.svg b/custom_components/fontawesome/data/brands/cc-stripe.svg
new file mode 100644
index 0000000..5cb2a8d
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/cc-stripe.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/cc-visa.svg b/custom_components/fontawesome/data/brands/cc-visa.svg
new file mode 100644
index 0000000..b5cb29a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/cc-visa.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/centercode.svg b/custom_components/fontawesome/data/brands/centercode.svg
new file mode 100644
index 0000000..440b9c8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/centercode.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/centos.svg b/custom_components/fontawesome/data/brands/centos.svg
new file mode 100644
index 0000000..72b5f20
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/centos.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/chrome.svg b/custom_components/fontawesome/data/brands/chrome.svg
new file mode 100644
index 0000000..5ea90d9
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/chrome.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/chromecast.svg b/custom_components/fontawesome/data/brands/chromecast.svg
new file mode 100644
index 0000000..9857e95
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/chromecast.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/cloudscale.svg b/custom_components/fontawesome/data/brands/cloudscale.svg
new file mode 100644
index 0000000..9ad2a40
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/cloudscale.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/cloudsmith.svg b/custom_components/fontawesome/data/brands/cloudsmith.svg
new file mode 100644
index 0000000..bd2d470
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/cloudsmith.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/cloudversify.svg b/custom_components/fontawesome/data/brands/cloudversify.svg
new file mode 100644
index 0000000..4ed2518
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/cloudversify.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/codepen.svg b/custom_components/fontawesome/data/brands/codepen.svg
new file mode 100644
index 0000000..3258537
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/codepen.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/codiepie.svg b/custom_components/fontawesome/data/brands/codiepie.svg
new file mode 100644
index 0000000..dc7579c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/codiepie.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/confluence.svg b/custom_components/fontawesome/data/brands/confluence.svg
new file mode 100644
index 0000000..ffeb923
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/confluence.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/connectdevelop.svg b/custom_components/fontawesome/data/brands/connectdevelop.svg
new file mode 100644
index 0000000..8588469
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/connectdevelop.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/contao.svg b/custom_components/fontawesome/data/brands/contao.svg
new file mode 100644
index 0000000..a08f60a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/contao.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/cotton-bureau.svg b/custom_components/fontawesome/data/brands/cotton-bureau.svg
new file mode 100644
index 0000000..b3b1db8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/cotton-bureau.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/cpanel.svg b/custom_components/fontawesome/data/brands/cpanel.svg
new file mode 100644
index 0000000..c95511c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/cpanel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/creative-commons-by.svg b/custom_components/fontawesome/data/brands/creative-commons-by.svg
new file mode 100644
index 0000000..5432986
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/creative-commons-by.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/creative-commons-nc-eu.svg b/custom_components/fontawesome/data/brands/creative-commons-nc-eu.svg
new file mode 100644
index 0000000..539c7d6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/creative-commons-nc-eu.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/creative-commons-nc-jp.svg b/custom_components/fontawesome/data/brands/creative-commons-nc-jp.svg
new file mode 100644
index 0000000..a8d89b1
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/creative-commons-nc-jp.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/creative-commons-nc.svg b/custom_components/fontawesome/data/brands/creative-commons-nc.svg
new file mode 100644
index 0000000..abb1577
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/creative-commons-nc.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/creative-commons-nd.svg b/custom_components/fontawesome/data/brands/creative-commons-nd.svg
new file mode 100644
index 0000000..07b5fde
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/creative-commons-nd.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/creative-commons-pd-alt.svg b/custom_components/fontawesome/data/brands/creative-commons-pd-alt.svg
new file mode 100644
index 0000000..d362184
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/creative-commons-pd-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/creative-commons-pd.svg b/custom_components/fontawesome/data/brands/creative-commons-pd.svg
new file mode 100644
index 0000000..884fbd0
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/creative-commons-pd.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/creative-commons-remix.svg b/custom_components/fontawesome/data/brands/creative-commons-remix.svg
new file mode 100644
index 0000000..70ced89
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/creative-commons-remix.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/creative-commons-sa.svg b/custom_components/fontawesome/data/brands/creative-commons-sa.svg
new file mode 100644
index 0000000..c9f41f8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/creative-commons-sa.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/creative-commons-sampling-plus.svg b/custom_components/fontawesome/data/brands/creative-commons-sampling-plus.svg
new file mode 100644
index 0000000..c06a1cd
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/creative-commons-sampling-plus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/creative-commons-sampling.svg b/custom_components/fontawesome/data/brands/creative-commons-sampling.svg
new file mode 100644
index 0000000..40a20c6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/creative-commons-sampling.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/creative-commons-share.svg b/custom_components/fontawesome/data/brands/creative-commons-share.svg
new file mode 100644
index 0000000..afef40a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/creative-commons-share.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/creative-commons-zero.svg b/custom_components/fontawesome/data/brands/creative-commons-zero.svg
new file mode 100644
index 0000000..a67d789
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/creative-commons-zero.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/creative-commons.svg b/custom_components/fontawesome/data/brands/creative-commons.svg
new file mode 100644
index 0000000..e24a68f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/creative-commons.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/critical-role.svg b/custom_components/fontawesome/data/brands/critical-role.svg
new file mode 100644
index 0000000..d4d2ceb
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/critical-role.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/css3-alt.svg b/custom_components/fontawesome/data/brands/css3-alt.svg
new file mode 100644
index 0000000..544362a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/css3-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/css3.svg b/custom_components/fontawesome/data/brands/css3.svg
new file mode 100644
index 0000000..5ea43ed
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/css3.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/cuttlefish.svg b/custom_components/fontawesome/data/brands/cuttlefish.svg
new file mode 100644
index 0000000..92f20d8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/cuttlefish.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/d-and-d-beyond.svg b/custom_components/fontawesome/data/brands/d-and-d-beyond.svg
new file mode 100644
index 0000000..195c6e9
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/d-and-d-beyond.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/d-and-d.svg b/custom_components/fontawesome/data/brands/d-and-d.svg
new file mode 100644
index 0000000..9411ae0
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/d-and-d.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/dailymotion.svg b/custom_components/fontawesome/data/brands/dailymotion.svg
new file mode 100644
index 0000000..fd89872
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/dailymotion.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/dashcube.svg b/custom_components/fontawesome/data/brands/dashcube.svg
new file mode 100644
index 0000000..c31239b
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/dashcube.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/delicious.svg b/custom_components/fontawesome/data/brands/delicious.svg
new file mode 100644
index 0000000..f207754
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/delicious.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/deploydog.svg b/custom_components/fontawesome/data/brands/deploydog.svg
new file mode 100644
index 0000000..c9764e8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/deploydog.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/deskpro.svg b/custom_components/fontawesome/data/brands/deskpro.svg
new file mode 100644
index 0000000..48ad269
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/deskpro.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/dev.svg b/custom_components/fontawesome/data/brands/dev.svg
new file mode 100644
index 0000000..399017f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/dev.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/deviantart.svg b/custom_components/fontawesome/data/brands/deviantart.svg
new file mode 100644
index 0000000..017804b
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/deviantart.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/dhl.svg b/custom_components/fontawesome/data/brands/dhl.svg
new file mode 100644
index 0000000..cc62f97
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/dhl.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/diaspora.svg b/custom_components/fontawesome/data/brands/diaspora.svg
new file mode 100644
index 0000000..edd3ace
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/diaspora.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/digg.svg b/custom_components/fontawesome/data/brands/digg.svg
new file mode 100644
index 0000000..9c580fb
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/digg.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/digital-ocean.svg b/custom_components/fontawesome/data/brands/digital-ocean.svg
new file mode 100644
index 0000000..861def5
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/digital-ocean.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/discord.svg b/custom_components/fontawesome/data/brands/discord.svg
new file mode 100644
index 0000000..650fe8f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/discord.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/discourse.svg b/custom_components/fontawesome/data/brands/discourse.svg
new file mode 100644
index 0000000..8740397
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/discourse.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/dochub.svg b/custom_components/fontawesome/data/brands/dochub.svg
new file mode 100644
index 0000000..c336088
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/dochub.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/docker.svg b/custom_components/fontawesome/data/brands/docker.svg
new file mode 100644
index 0000000..c4b1319
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/docker.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/draft2digital.svg b/custom_components/fontawesome/data/brands/draft2digital.svg
new file mode 100644
index 0000000..3720720
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/draft2digital.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/dribbble-square.svg b/custom_components/fontawesome/data/brands/dribbble-square.svg
new file mode 100644
index 0000000..147f5ae
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/dribbble-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/dribbble.svg b/custom_components/fontawesome/data/brands/dribbble.svg
new file mode 100644
index 0000000..165c90a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/dribbble.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/dropbox.svg b/custom_components/fontawesome/data/brands/dropbox.svg
new file mode 100644
index 0000000..cbc4787
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/dropbox.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/drupal.svg b/custom_components/fontawesome/data/brands/drupal.svg
new file mode 100644
index 0000000..09a90ae
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/drupal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/dyalog.svg b/custom_components/fontawesome/data/brands/dyalog.svg
new file mode 100644
index 0000000..40a59c7
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/dyalog.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/earlybirds.svg b/custom_components/fontawesome/data/brands/earlybirds.svg
new file mode 100644
index 0000000..42c9f51
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/earlybirds.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/ebay.svg b/custom_components/fontawesome/data/brands/ebay.svg
new file mode 100644
index 0000000..fe79f93
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/ebay.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/edge.svg b/custom_components/fontawesome/data/brands/edge.svg
new file mode 100644
index 0000000..6796e86
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/edge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/elementor.svg b/custom_components/fontawesome/data/brands/elementor.svg
new file mode 100644
index 0000000..da05021
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/elementor.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/ello.svg b/custom_components/fontawesome/data/brands/ello.svg
new file mode 100644
index 0000000..4cc8b07
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/ello.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/ember.svg b/custom_components/fontawesome/data/brands/ember.svg
new file mode 100644
index 0000000..69b7176
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/ember.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/empire.svg b/custom_components/fontawesome/data/brands/empire.svg
new file mode 100644
index 0000000..b000c8e
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/empire.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/envira.svg b/custom_components/fontawesome/data/brands/envira.svg
new file mode 100644
index 0000000..92aee14
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/envira.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/erlang.svg b/custom_components/fontawesome/data/brands/erlang.svg
new file mode 100644
index 0000000..01e29ac
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/erlang.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/ethereum.svg b/custom_components/fontawesome/data/brands/ethereum.svg
new file mode 100644
index 0000000..fce0031
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/ethereum.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/etsy.svg b/custom_components/fontawesome/data/brands/etsy.svg
new file mode 100644
index 0000000..1dc3634
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/etsy.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/evernote.svg b/custom_components/fontawesome/data/brands/evernote.svg
new file mode 100644
index 0000000..f5834ee
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/evernote.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/expeditedssl.svg b/custom_components/fontawesome/data/brands/expeditedssl.svg
new file mode 100644
index 0000000..a5c2936
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/expeditedssl.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/facebook-f.svg b/custom_components/fontawesome/data/brands/facebook-f.svg
new file mode 100644
index 0000000..40d4f1c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/facebook-f.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/facebook-messenger.svg b/custom_components/fontawesome/data/brands/facebook-messenger.svg
new file mode 100644
index 0000000..b1cefea
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/facebook-messenger.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/facebook-square.svg b/custom_components/fontawesome/data/brands/facebook-square.svg
new file mode 100644
index 0000000..dc9b9d8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/facebook-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/facebook.svg b/custom_components/fontawesome/data/brands/facebook.svg
new file mode 100644
index 0000000..6e23a94
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/facebook.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/fantasy-flight-games.svg b/custom_components/fontawesome/data/brands/fantasy-flight-games.svg
new file mode 100644
index 0000000..f4c4275
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/fantasy-flight-games.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/fedex.svg b/custom_components/fontawesome/data/brands/fedex.svg
new file mode 100644
index 0000000..bcea5e5
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/fedex.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/fedora.svg b/custom_components/fontawesome/data/brands/fedora.svg
new file mode 100644
index 0000000..b62726f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/fedora.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/figma.svg b/custom_components/fontawesome/data/brands/figma.svg
new file mode 100644
index 0000000..8c2f960
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/figma.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/firefox-browser.svg b/custom_components/fontawesome/data/brands/firefox-browser.svg
new file mode 100644
index 0000000..ca26130
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/firefox-browser.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/firefox.svg b/custom_components/fontawesome/data/brands/firefox.svg
new file mode 100644
index 0000000..0f84217
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/firefox.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/first-order-alt.svg b/custom_components/fontawesome/data/brands/first-order-alt.svg
new file mode 100644
index 0000000..86853ce
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/first-order-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/first-order.svg b/custom_components/fontawesome/data/brands/first-order.svg
new file mode 100644
index 0000000..527e4a5
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/first-order.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/firstdraft.svg b/custom_components/fontawesome/data/brands/firstdraft.svg
new file mode 100644
index 0000000..c2bcd31
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/firstdraft.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/flickr.svg b/custom_components/fontawesome/data/brands/flickr.svg
new file mode 100644
index 0000000..15dcfc6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/flickr.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/flipboard.svg b/custom_components/fontawesome/data/brands/flipboard.svg
new file mode 100644
index 0000000..866f82f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/flipboard.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/fly.svg b/custom_components/fontawesome/data/brands/fly.svg
new file mode 100644
index 0000000..69ee5c7
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/fly.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/font-awesome-alt.svg b/custom_components/fontawesome/data/brands/font-awesome-alt.svg
new file mode 100644
index 0000000..f80146a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/font-awesome-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/font-awesome-flag.svg b/custom_components/fontawesome/data/brands/font-awesome-flag.svg
new file mode 100644
index 0000000..9f0b7a4
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/font-awesome-flag.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/font-awesome-logo-full.svg b/custom_components/fontawesome/data/brands/font-awesome-logo-full.svg
new file mode 100644
index 0000000..06b75a4
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/font-awesome-logo-full.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/font-awesome.svg b/custom_components/fontawesome/data/brands/font-awesome.svg
new file mode 100644
index 0000000..8c1d445
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/font-awesome.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/fonticons-fi.svg b/custom_components/fontawesome/data/brands/fonticons-fi.svg
new file mode 100644
index 0000000..e654422
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/fonticons-fi.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/fonticons.svg b/custom_components/fontawesome/data/brands/fonticons.svg
new file mode 100644
index 0000000..b9e2de5
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/fonticons.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/fort-awesome-alt.svg b/custom_components/fontawesome/data/brands/fort-awesome-alt.svg
new file mode 100644
index 0000000..bc6d0c2
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/fort-awesome-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/fort-awesome.svg b/custom_components/fontawesome/data/brands/fort-awesome.svg
new file mode 100644
index 0000000..a763d43
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/fort-awesome.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/forumbee.svg b/custom_components/fontawesome/data/brands/forumbee.svg
new file mode 100644
index 0000000..d31d641
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/forumbee.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/foursquare.svg b/custom_components/fontawesome/data/brands/foursquare.svg
new file mode 100644
index 0000000..130fa9b
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/foursquare.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/free-code-camp.svg b/custom_components/fontawesome/data/brands/free-code-camp.svg
new file mode 100644
index 0000000..626ee40
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/free-code-camp.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/freebsd.svg b/custom_components/fontawesome/data/brands/freebsd.svg
new file mode 100644
index 0000000..98c790f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/freebsd.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/fulcrum.svg b/custom_components/fontawesome/data/brands/fulcrum.svg
new file mode 100644
index 0000000..adf033c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/fulcrum.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/galactic-republic.svg b/custom_components/fontawesome/data/brands/galactic-republic.svg
new file mode 100644
index 0000000..8b91f99
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/galactic-republic.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/galactic-senate.svg b/custom_components/fontawesome/data/brands/galactic-senate.svg
new file mode 100644
index 0000000..7ee63c1
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/galactic-senate.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/get-pocket.svg b/custom_components/fontawesome/data/brands/get-pocket.svg
new file mode 100644
index 0000000..f604608
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/get-pocket.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/gg-circle.svg b/custom_components/fontawesome/data/brands/gg-circle.svg
new file mode 100644
index 0000000..7ff26dd
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/gg-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/gg.svg b/custom_components/fontawesome/data/brands/gg.svg
new file mode 100644
index 0000000..cace496
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/gg.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/git-alt.svg b/custom_components/fontawesome/data/brands/git-alt.svg
new file mode 100644
index 0000000..62194af
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/git-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/git-square.svg b/custom_components/fontawesome/data/brands/git-square.svg
new file mode 100644
index 0000000..f58e30b
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/git-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/git.svg b/custom_components/fontawesome/data/brands/git.svg
new file mode 100644
index 0000000..40571b1
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/git.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/github-alt.svg b/custom_components/fontawesome/data/brands/github-alt.svg
new file mode 100644
index 0000000..43d2da5
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/github-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/github-square.svg b/custom_components/fontawesome/data/brands/github-square.svg
new file mode 100644
index 0000000..a235d2f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/github-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/github.svg b/custom_components/fontawesome/data/brands/github.svg
new file mode 100644
index 0000000..53bd7b2
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/github.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/gitkraken.svg b/custom_components/fontawesome/data/brands/gitkraken.svg
new file mode 100644
index 0000000..a3bc20f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/gitkraken.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/gitlab.svg b/custom_components/fontawesome/data/brands/gitlab.svg
new file mode 100644
index 0000000..ae4efce
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/gitlab.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/gitter.svg b/custom_components/fontawesome/data/brands/gitter.svg
new file mode 100644
index 0000000..6aaafd9
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/gitter.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/glide-g.svg b/custom_components/fontawesome/data/brands/glide-g.svg
new file mode 100644
index 0000000..7517405
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/glide-g.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/glide.svg b/custom_components/fontawesome/data/brands/glide.svg
new file mode 100644
index 0000000..0fbdca4
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/glide.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/gofore.svg b/custom_components/fontawesome/data/brands/gofore.svg
new file mode 100644
index 0000000..792de75
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/gofore.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/goodreads-g.svg b/custom_components/fontawesome/data/brands/goodreads-g.svg
new file mode 100644
index 0000000..b355466
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/goodreads-g.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/goodreads.svg b/custom_components/fontawesome/data/brands/goodreads.svg
new file mode 100644
index 0000000..040163a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/goodreads.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/google-drive.svg b/custom_components/fontawesome/data/brands/google-drive.svg
new file mode 100644
index 0000000..cd8dd52
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/google-drive.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/google-play.svg b/custom_components/fontawesome/data/brands/google-play.svg
new file mode 100644
index 0000000..82cffd5
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/google-play.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/google-plus-g.svg b/custom_components/fontawesome/data/brands/google-plus-g.svg
new file mode 100644
index 0000000..c4587db
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/google-plus-g.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/google-plus-square.svg b/custom_components/fontawesome/data/brands/google-plus-square.svg
new file mode 100644
index 0000000..f18979c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/google-plus-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/google-plus.svg b/custom_components/fontawesome/data/brands/google-plus.svg
new file mode 100644
index 0000000..46e143e
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/google-plus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/google-wallet.svg b/custom_components/fontawesome/data/brands/google-wallet.svg
new file mode 100644
index 0000000..009afb6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/google-wallet.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/google.svg b/custom_components/fontawesome/data/brands/google.svg
new file mode 100644
index 0000000..014b5ce
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/google.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/gratipay.svg b/custom_components/fontawesome/data/brands/gratipay.svg
new file mode 100644
index 0000000..a35d8b1
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/gratipay.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/grav.svg b/custom_components/fontawesome/data/brands/grav.svg
new file mode 100644
index 0000000..e12bbf5
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/grav.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/gripfire.svg b/custom_components/fontawesome/data/brands/gripfire.svg
new file mode 100644
index 0000000..561aa2d
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/gripfire.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/grunt.svg b/custom_components/fontawesome/data/brands/grunt.svg
new file mode 100644
index 0000000..a36fab8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/grunt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/gulp.svg b/custom_components/fontawesome/data/brands/gulp.svg
new file mode 100644
index 0000000..0bb37a2
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/gulp.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/hacker-news-square.svg b/custom_components/fontawesome/data/brands/hacker-news-square.svg
new file mode 100644
index 0000000..1bb8cab
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/hacker-news-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/hacker-news.svg b/custom_components/fontawesome/data/brands/hacker-news.svg
new file mode 100644
index 0000000..0de37e6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/hacker-news.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/hackerrank.svg b/custom_components/fontawesome/data/brands/hackerrank.svg
new file mode 100644
index 0000000..d2a44d1
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/hackerrank.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/hips.svg b/custom_components/fontawesome/data/brands/hips.svg
new file mode 100644
index 0000000..7eb9cdf
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/hips.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/hire-a-helper.svg b/custom_components/fontawesome/data/brands/hire-a-helper.svg
new file mode 100644
index 0000000..5fdb39d
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/hire-a-helper.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/hooli.svg b/custom_components/fontawesome/data/brands/hooli.svg
new file mode 100644
index 0000000..e4cf929
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/hooli.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/hornbill.svg b/custom_components/fontawesome/data/brands/hornbill.svg
new file mode 100644
index 0000000..ce9375d
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/hornbill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/hotjar.svg b/custom_components/fontawesome/data/brands/hotjar.svg
new file mode 100644
index 0000000..7e47729
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/hotjar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/houzz.svg b/custom_components/fontawesome/data/brands/houzz.svg
new file mode 100644
index 0000000..1ad90a2
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/houzz.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/html5.svg b/custom_components/fontawesome/data/brands/html5.svg
new file mode 100644
index 0000000..a06827d
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/html5.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/hubspot.svg b/custom_components/fontawesome/data/brands/hubspot.svg
new file mode 100644
index 0000000..03f8f4e
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/hubspot.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/ideal.svg b/custom_components/fontawesome/data/brands/ideal.svg
new file mode 100644
index 0000000..cc30e50
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/ideal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/imdb.svg b/custom_components/fontawesome/data/brands/imdb.svg
new file mode 100644
index 0000000..a4d5eb5
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/imdb.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/instagram-square.svg b/custom_components/fontawesome/data/brands/instagram-square.svg
new file mode 100644
index 0000000..5555975
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/instagram-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/instagram.svg b/custom_components/fontawesome/data/brands/instagram.svg
new file mode 100644
index 0000000..89c89b7
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/instagram.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/intercom.svg b/custom_components/fontawesome/data/brands/intercom.svg
new file mode 100644
index 0000000..a36742b
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/intercom.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/internet-explorer.svg b/custom_components/fontawesome/data/brands/internet-explorer.svg
new file mode 100644
index 0000000..36173c0
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/internet-explorer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/invision.svg b/custom_components/fontawesome/data/brands/invision.svg
new file mode 100644
index 0000000..3af871b
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/invision.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/ioxhost.svg b/custom_components/fontawesome/data/brands/ioxhost.svg
new file mode 100644
index 0000000..64f31af
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/ioxhost.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/itch-io.svg b/custom_components/fontawesome/data/brands/itch-io.svg
new file mode 100644
index 0000000..c87fb70
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/itch-io.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/itunes-note.svg b/custom_components/fontawesome/data/brands/itunes-note.svg
new file mode 100644
index 0000000..bb46e70
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/itunes-note.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/itunes.svg b/custom_components/fontawesome/data/brands/itunes.svg
new file mode 100644
index 0000000..32736ae
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/itunes.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/java.svg b/custom_components/fontawesome/data/brands/java.svg
new file mode 100644
index 0000000..15fc4dd
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/java.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/jedi-order.svg b/custom_components/fontawesome/data/brands/jedi-order.svg
new file mode 100644
index 0000000..990461a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/jedi-order.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/jenkins.svg b/custom_components/fontawesome/data/brands/jenkins.svg
new file mode 100644
index 0000000..4c2251f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/jenkins.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/jira.svg b/custom_components/fontawesome/data/brands/jira.svg
new file mode 100644
index 0000000..467d3f6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/jira.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/joget.svg b/custom_components/fontawesome/data/brands/joget.svg
new file mode 100644
index 0000000..1007ec6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/joget.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/joomla.svg b/custom_components/fontawesome/data/brands/joomla.svg
new file mode 100644
index 0000000..a565430
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/joomla.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/js-square.svg b/custom_components/fontawesome/data/brands/js-square.svg
new file mode 100644
index 0000000..389af1c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/js-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/js.svg b/custom_components/fontawesome/data/brands/js.svg
new file mode 100644
index 0000000..1bf21b8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/js.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/jsfiddle.svg b/custom_components/fontawesome/data/brands/jsfiddle.svg
new file mode 100644
index 0000000..2fb27ee
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/jsfiddle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/kaggle.svg b/custom_components/fontawesome/data/brands/kaggle.svg
new file mode 100644
index 0000000..b93394a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/kaggle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/keybase.svg b/custom_components/fontawesome/data/brands/keybase.svg
new file mode 100644
index 0000000..be1135a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/keybase.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/keycdn.svg b/custom_components/fontawesome/data/brands/keycdn.svg
new file mode 100644
index 0000000..da19aee
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/keycdn.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/kickstarter-k.svg b/custom_components/fontawesome/data/brands/kickstarter-k.svg
new file mode 100644
index 0000000..4ad8ad2
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/kickstarter-k.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/kickstarter.svg b/custom_components/fontawesome/data/brands/kickstarter.svg
new file mode 100644
index 0000000..c765b1b
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/kickstarter.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/korvue.svg b/custom_components/fontawesome/data/brands/korvue.svg
new file mode 100644
index 0000000..c9c44a8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/korvue.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/laravel.svg b/custom_components/fontawesome/data/brands/laravel.svg
new file mode 100644
index 0000000..b360037
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/laravel.svg
@@ -0,0 +1 @@
+
diff --git a/custom_components/fontawesome/data/brands/lastfm-square.svg b/custom_components/fontawesome/data/brands/lastfm-square.svg
new file mode 100644
index 0000000..e9febdb
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/lastfm-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/lastfm.svg b/custom_components/fontawesome/data/brands/lastfm.svg
new file mode 100644
index 0000000..7508067
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/lastfm.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/leanpub.svg b/custom_components/fontawesome/data/brands/leanpub.svg
new file mode 100644
index 0000000..994eca3
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/leanpub.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/less.svg b/custom_components/fontawesome/data/brands/less.svg
new file mode 100644
index 0000000..12a0ae2
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/less.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/line.svg b/custom_components/fontawesome/data/brands/line.svg
new file mode 100644
index 0000000..866abd8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/line.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/linkedin-in.svg b/custom_components/fontawesome/data/brands/linkedin-in.svg
new file mode 100644
index 0000000..b65c89f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/linkedin-in.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/linkedin.svg b/custom_components/fontawesome/data/brands/linkedin.svg
new file mode 100644
index 0000000..69d8e97
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/linkedin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/linode.svg b/custom_components/fontawesome/data/brands/linode.svg
new file mode 100644
index 0000000..502bdf7
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/linode.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/linux.svg b/custom_components/fontawesome/data/brands/linux.svg
new file mode 100644
index 0000000..ca9b9a8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/linux.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/lyft.svg b/custom_components/fontawesome/data/brands/lyft.svg
new file mode 100644
index 0000000..4283ec5
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/lyft.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/magento.svg b/custom_components/fontawesome/data/brands/magento.svg
new file mode 100644
index 0000000..bdf6488
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/magento.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/mailchimp.svg b/custom_components/fontawesome/data/brands/mailchimp.svg
new file mode 100644
index 0000000..8dff9bf
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/mailchimp.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/mandalorian.svg b/custom_components/fontawesome/data/brands/mandalorian.svg
new file mode 100644
index 0000000..3ed7516
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/mandalorian.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/markdown.svg b/custom_components/fontawesome/data/brands/markdown.svg
new file mode 100644
index 0000000..843d480
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/markdown.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/mastodon.svg b/custom_components/fontawesome/data/brands/mastodon.svg
new file mode 100644
index 0000000..bb7c428
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/mastodon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/maxcdn.svg b/custom_components/fontawesome/data/brands/maxcdn.svg
new file mode 100644
index 0000000..4f4b85d
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/maxcdn.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/mdb.svg b/custom_components/fontawesome/data/brands/mdb.svg
new file mode 100644
index 0000000..af96271
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/mdb.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/medapps.svg b/custom_components/fontawesome/data/brands/medapps.svg
new file mode 100644
index 0000000..bb1a667
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/medapps.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/medium-m.svg b/custom_components/fontawesome/data/brands/medium-m.svg
new file mode 100644
index 0000000..8305fda
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/medium-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/medium.svg b/custom_components/fontawesome/data/brands/medium.svg
new file mode 100644
index 0000000..f370e1e
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/medium.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/medrt.svg b/custom_components/fontawesome/data/brands/medrt.svg
new file mode 100644
index 0000000..3775944
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/medrt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/meetup.svg b/custom_components/fontawesome/data/brands/meetup.svg
new file mode 100644
index 0000000..d387c4b
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/meetup.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/megaport.svg b/custom_components/fontawesome/data/brands/megaport.svg
new file mode 100644
index 0000000..17faf7c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/megaport.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/mendeley.svg b/custom_components/fontawesome/data/brands/mendeley.svg
new file mode 100644
index 0000000..c0f76a8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/mendeley.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/microblog.svg b/custom_components/fontawesome/data/brands/microblog.svg
new file mode 100644
index 0000000..b2c426c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/microblog.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/microsoft.svg b/custom_components/fontawesome/data/brands/microsoft.svg
new file mode 100644
index 0000000..ed89895
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/microsoft.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/mix.svg b/custom_components/fontawesome/data/brands/mix.svg
new file mode 100644
index 0000000..d131e23
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/mix.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/mixcloud.svg b/custom_components/fontawesome/data/brands/mixcloud.svg
new file mode 100644
index 0000000..094239b
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/mixcloud.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/mixer.svg b/custom_components/fontawesome/data/brands/mixer.svg
new file mode 100644
index 0000000..3d08f42
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/mixer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/mizuni.svg b/custom_components/fontawesome/data/brands/mizuni.svg
new file mode 100644
index 0000000..8cb8d91
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/mizuni.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/modx.svg b/custom_components/fontawesome/data/brands/modx.svg
new file mode 100644
index 0000000..9cbc71f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/modx.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/monero.svg b/custom_components/fontawesome/data/brands/monero.svg
new file mode 100644
index 0000000..c4892b6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/monero.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/napster.svg b/custom_components/fontawesome/data/brands/napster.svg
new file mode 100644
index 0000000..866e31d
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/napster.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/neos.svg b/custom_components/fontawesome/data/brands/neos.svg
new file mode 100644
index 0000000..2bece21
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/neos.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/nimblr.svg b/custom_components/fontawesome/data/brands/nimblr.svg
new file mode 100644
index 0000000..add60b0
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/nimblr.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/node-js.svg b/custom_components/fontawesome/data/brands/node-js.svg
new file mode 100644
index 0000000..c73f1a6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/node-js.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/node.svg b/custom_components/fontawesome/data/brands/node.svg
new file mode 100644
index 0000000..3bdb5ea
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/node.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/npm.svg b/custom_components/fontawesome/data/brands/npm.svg
new file mode 100644
index 0000000..ad643c3
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/npm.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/ns8.svg b/custom_components/fontawesome/data/brands/ns8.svg
new file mode 100644
index 0000000..1f5e2fc
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/ns8.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/nutritionix.svg b/custom_components/fontawesome/data/brands/nutritionix.svg
new file mode 100644
index 0000000..19eb0e0
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/nutritionix.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/odnoklassniki-square.svg b/custom_components/fontawesome/data/brands/odnoklassniki-square.svg
new file mode 100644
index 0000000..e2793a9
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/odnoklassniki-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/odnoklassniki.svg b/custom_components/fontawesome/data/brands/odnoklassniki.svg
new file mode 100644
index 0000000..f426fd3
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/odnoklassniki.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/old-republic.svg b/custom_components/fontawesome/data/brands/old-republic.svg
new file mode 100644
index 0000000..8b62644
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/old-republic.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/opencart.svg b/custom_components/fontawesome/data/brands/opencart.svg
new file mode 100644
index 0000000..2f1498a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/opencart.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/openid.svg b/custom_components/fontawesome/data/brands/openid.svg
new file mode 100644
index 0000000..d36573e
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/openid.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/opera.svg b/custom_components/fontawesome/data/brands/opera.svg
new file mode 100644
index 0000000..4fd8cb9
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/opera.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/optin-monster.svg b/custom_components/fontawesome/data/brands/optin-monster.svg
new file mode 100644
index 0000000..cbf7049
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/optin-monster.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/orcid.svg b/custom_components/fontawesome/data/brands/orcid.svg
new file mode 100644
index 0000000..501fc76
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/orcid.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/osi.svg b/custom_components/fontawesome/data/brands/osi.svg
new file mode 100644
index 0000000..f362cfd
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/osi.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/page4.svg b/custom_components/fontawesome/data/brands/page4.svg
new file mode 100644
index 0000000..e0eda5d
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/page4.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/pagelines.svg b/custom_components/fontawesome/data/brands/pagelines.svg
new file mode 100644
index 0000000..6722988
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/pagelines.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/palfed.svg b/custom_components/fontawesome/data/brands/palfed.svg
new file mode 100644
index 0000000..5c8a4b2
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/palfed.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/patreon.svg b/custom_components/fontawesome/data/brands/patreon.svg
new file mode 100644
index 0000000..1990957
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/patreon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/paypal.svg b/custom_components/fontawesome/data/brands/paypal.svg
new file mode 100644
index 0000000..ecf00b6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/paypal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/penny-arcade.svg b/custom_components/fontawesome/data/brands/penny-arcade.svg
new file mode 100644
index 0000000..77dea23
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/penny-arcade.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/periscope.svg b/custom_components/fontawesome/data/brands/periscope.svg
new file mode 100644
index 0000000..9f46704
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/periscope.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/phabricator.svg b/custom_components/fontawesome/data/brands/phabricator.svg
new file mode 100644
index 0000000..c518847
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/phabricator.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/phoenix-framework.svg b/custom_components/fontawesome/data/brands/phoenix-framework.svg
new file mode 100644
index 0000000..4542fc2
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/phoenix-framework.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/phoenix-squadron.svg b/custom_components/fontawesome/data/brands/phoenix-squadron.svg
new file mode 100644
index 0000000..961adc4
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/phoenix-squadron.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/php.svg b/custom_components/fontawesome/data/brands/php.svg
new file mode 100644
index 0000000..c2d86d4
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/php.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/pied-piper-alt.svg b/custom_components/fontawesome/data/brands/pied-piper-alt.svg
new file mode 100644
index 0000000..4e8c419
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/pied-piper-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/pied-piper-hat.svg b/custom_components/fontawesome/data/brands/pied-piper-hat.svg
new file mode 100644
index 0000000..2f93465
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/pied-piper-hat.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/pied-piper-pp.svg b/custom_components/fontawesome/data/brands/pied-piper-pp.svg
new file mode 100644
index 0000000..092ca73
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/pied-piper-pp.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/pied-piper-square.svg b/custom_components/fontawesome/data/brands/pied-piper-square.svg
new file mode 100644
index 0000000..d74fb98
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/pied-piper-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/pied-piper.svg b/custom_components/fontawesome/data/brands/pied-piper.svg
new file mode 100644
index 0000000..53ef1a4
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/pied-piper.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/pinterest-p.svg b/custom_components/fontawesome/data/brands/pinterest-p.svg
new file mode 100644
index 0000000..311932a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/pinterest-p.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/pinterest-square.svg b/custom_components/fontawesome/data/brands/pinterest-square.svg
new file mode 100644
index 0000000..7a502a7
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/pinterest-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/pinterest.svg b/custom_components/fontawesome/data/brands/pinterest.svg
new file mode 100644
index 0000000..42c1f64
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/pinterest.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/playstation.svg b/custom_components/fontawesome/data/brands/playstation.svg
new file mode 100644
index 0000000..3cd7fca
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/playstation.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/product-hunt.svg b/custom_components/fontawesome/data/brands/product-hunt.svg
new file mode 100644
index 0000000..847ac2c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/product-hunt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/pushed.svg b/custom_components/fontawesome/data/brands/pushed.svg
new file mode 100644
index 0000000..f7e24f0
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/pushed.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/python.svg b/custom_components/fontawesome/data/brands/python.svg
new file mode 100644
index 0000000..cf92eb9
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/python.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/qq.svg b/custom_components/fontawesome/data/brands/qq.svg
new file mode 100644
index 0000000..541bdd5
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/qq.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/quinscape.svg b/custom_components/fontawesome/data/brands/quinscape.svg
new file mode 100644
index 0000000..9b37185
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/quinscape.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/quora.svg b/custom_components/fontawesome/data/brands/quora.svg
new file mode 100644
index 0000000..601d815
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/quora.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/r-project.svg b/custom_components/fontawesome/data/brands/r-project.svg
new file mode 100644
index 0000000..ef4076e
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/r-project.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/raspberry-pi.svg b/custom_components/fontawesome/data/brands/raspberry-pi.svg
new file mode 100644
index 0000000..cce311f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/raspberry-pi.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/ravelry.svg b/custom_components/fontawesome/data/brands/ravelry.svg
new file mode 100644
index 0000000..49d511c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/ravelry.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/react.svg b/custom_components/fontawesome/data/brands/react.svg
new file mode 100644
index 0000000..e588410
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/react.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/reacteurope.svg b/custom_components/fontawesome/data/brands/reacteurope.svg
new file mode 100644
index 0000000..5a626d8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/reacteurope.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/readme.svg b/custom_components/fontawesome/data/brands/readme.svg
new file mode 100644
index 0000000..482c337
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/readme.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/rebel.svg b/custom_components/fontawesome/data/brands/rebel.svg
new file mode 100644
index 0000000..555b053
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/rebel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/red-river.svg b/custom_components/fontawesome/data/brands/red-river.svg
new file mode 100644
index 0000000..6e7044f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/red-river.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/reddit-alien.svg b/custom_components/fontawesome/data/brands/reddit-alien.svg
new file mode 100644
index 0000000..85b9859
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/reddit-alien.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/reddit-square.svg b/custom_components/fontawesome/data/brands/reddit-square.svg
new file mode 100644
index 0000000..e940a85
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/reddit-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/reddit.svg b/custom_components/fontawesome/data/brands/reddit.svg
new file mode 100644
index 0000000..262d0a7
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/reddit.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/redhat.svg b/custom_components/fontawesome/data/brands/redhat.svg
new file mode 100644
index 0000000..0c2c9b8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/redhat.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/renren.svg b/custom_components/fontawesome/data/brands/renren.svg
new file mode 100644
index 0000000..9706a70
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/renren.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/replyd.svg b/custom_components/fontawesome/data/brands/replyd.svg
new file mode 100644
index 0000000..fe526f2
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/replyd.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/researchgate.svg b/custom_components/fontawesome/data/brands/researchgate.svg
new file mode 100644
index 0000000..db7149f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/researchgate.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/resolving.svg b/custom_components/fontawesome/data/brands/resolving.svg
new file mode 100644
index 0000000..339cbca
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/resolving.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/rev.svg b/custom_components/fontawesome/data/brands/rev.svg
new file mode 100644
index 0000000..2574a17
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/rev.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/rocketchat.svg b/custom_components/fontawesome/data/brands/rocketchat.svg
new file mode 100644
index 0000000..b5e55fa
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/rocketchat.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/rockrms.svg b/custom_components/fontawesome/data/brands/rockrms.svg
new file mode 100644
index 0000000..6c41d79
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/rockrms.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/safari.svg b/custom_components/fontawesome/data/brands/safari.svg
new file mode 100644
index 0000000..8f79dc9
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/safari.svg
@@ -0,0 +1 @@
+
diff --git a/custom_components/fontawesome/data/brands/salesforce.svg b/custom_components/fontawesome/data/brands/salesforce.svg
new file mode 100644
index 0000000..546e833
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/salesforce.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/sass.svg b/custom_components/fontawesome/data/brands/sass.svg
new file mode 100644
index 0000000..5543c1c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/sass.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/schlix.svg b/custom_components/fontawesome/data/brands/schlix.svg
new file mode 100644
index 0000000..413e4ff
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/schlix.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/scribd.svg b/custom_components/fontawesome/data/brands/scribd.svg
new file mode 100644
index 0000000..f1ecad1
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/scribd.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/searchengin.svg b/custom_components/fontawesome/data/brands/searchengin.svg
new file mode 100644
index 0000000..2ed72b1
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/searchengin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/sellcast.svg b/custom_components/fontawesome/data/brands/sellcast.svg
new file mode 100644
index 0000000..75b47f1
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/sellcast.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/sellsy.svg b/custom_components/fontawesome/data/brands/sellsy.svg
new file mode 100644
index 0000000..6119fe5
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/sellsy.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/servicestack.svg b/custom_components/fontawesome/data/brands/servicestack.svg
new file mode 100644
index 0000000..9f937eb
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/servicestack.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/shirtsinbulk.svg b/custom_components/fontawesome/data/brands/shirtsinbulk.svg
new file mode 100644
index 0000000..4832095
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/shirtsinbulk.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/shopify.svg b/custom_components/fontawesome/data/brands/shopify.svg
new file mode 100644
index 0000000..4c5be99
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/shopify.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/shopware.svg b/custom_components/fontawesome/data/brands/shopware.svg
new file mode 100644
index 0000000..8078f3c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/shopware.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/simplybuilt.svg b/custom_components/fontawesome/data/brands/simplybuilt.svg
new file mode 100644
index 0000000..fbecfe9
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/simplybuilt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/sistrix.svg b/custom_components/fontawesome/data/brands/sistrix.svg
new file mode 100644
index 0000000..e62cef6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/sistrix.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/sith.svg b/custom_components/fontawesome/data/brands/sith.svg
new file mode 100644
index 0000000..cecd39d
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/sith.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/sketch.svg b/custom_components/fontawesome/data/brands/sketch.svg
new file mode 100644
index 0000000..fb22f31
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/sketch.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/skyatlas.svg b/custom_components/fontawesome/data/brands/skyatlas.svg
new file mode 100644
index 0000000..d2c8a3b
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/skyatlas.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/skype.svg b/custom_components/fontawesome/data/brands/skype.svg
new file mode 100644
index 0000000..538843c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/skype.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/slack-hash.svg b/custom_components/fontawesome/data/brands/slack-hash.svg
new file mode 100644
index 0000000..a465405
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/slack-hash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/slack.svg b/custom_components/fontawesome/data/brands/slack.svg
new file mode 100644
index 0000000..ee293d6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/slack.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/slideshare.svg b/custom_components/fontawesome/data/brands/slideshare.svg
new file mode 100644
index 0000000..4215092
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/slideshare.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/snapchat-ghost.svg b/custom_components/fontawesome/data/brands/snapchat-ghost.svg
new file mode 100644
index 0000000..4497f0c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/snapchat-ghost.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/snapchat-square.svg b/custom_components/fontawesome/data/brands/snapchat-square.svg
new file mode 100644
index 0000000..c91e05e
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/snapchat-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/snapchat.svg b/custom_components/fontawesome/data/brands/snapchat.svg
new file mode 100644
index 0000000..88cfa16
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/snapchat.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/soundcloud.svg b/custom_components/fontawesome/data/brands/soundcloud.svg
new file mode 100644
index 0000000..0d9b061
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/soundcloud.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/sourcetree.svg b/custom_components/fontawesome/data/brands/sourcetree.svg
new file mode 100644
index 0000000..40f346d
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/sourcetree.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/speakap.svg b/custom_components/fontawesome/data/brands/speakap.svg
new file mode 100644
index 0000000..5123f7b
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/speakap.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/speaker-deck.svg b/custom_components/fontawesome/data/brands/speaker-deck.svg
new file mode 100644
index 0000000..6816698
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/speaker-deck.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/spotify.svg b/custom_components/fontawesome/data/brands/spotify.svg
new file mode 100644
index 0000000..dcd028a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/spotify.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/squarespace.svg b/custom_components/fontawesome/data/brands/squarespace.svg
new file mode 100644
index 0000000..6b31da5
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/squarespace.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/stack-exchange.svg b/custom_components/fontawesome/data/brands/stack-exchange.svg
new file mode 100644
index 0000000..3889ae2
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/stack-exchange.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/stack-overflow.svg b/custom_components/fontawesome/data/brands/stack-overflow.svg
new file mode 100644
index 0000000..e8560a3
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/stack-overflow.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/stackpath.svg b/custom_components/fontawesome/data/brands/stackpath.svg
new file mode 100644
index 0000000..c2e5314
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/stackpath.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/staylinked.svg b/custom_components/fontawesome/data/brands/staylinked.svg
new file mode 100644
index 0000000..3c6b2c8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/staylinked.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/steam-square.svg b/custom_components/fontawesome/data/brands/steam-square.svg
new file mode 100644
index 0000000..59a6a8f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/steam-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/steam-symbol.svg b/custom_components/fontawesome/data/brands/steam-symbol.svg
new file mode 100644
index 0000000..f0ab74d
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/steam-symbol.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/steam.svg b/custom_components/fontawesome/data/brands/steam.svg
new file mode 100644
index 0000000..642650a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/steam.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/sticker-mule.svg b/custom_components/fontawesome/data/brands/sticker-mule.svg
new file mode 100644
index 0000000..6a23f17
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/sticker-mule.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/strava.svg b/custom_components/fontawesome/data/brands/strava.svg
new file mode 100644
index 0000000..40102da
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/strava.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/stripe-s.svg b/custom_components/fontawesome/data/brands/stripe-s.svg
new file mode 100644
index 0000000..d310dae
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/stripe-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/stripe.svg b/custom_components/fontawesome/data/brands/stripe.svg
new file mode 100644
index 0000000..1688d50
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/stripe.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/studiovinari.svg b/custom_components/fontawesome/data/brands/studiovinari.svg
new file mode 100644
index 0000000..e6e7fa8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/studiovinari.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/stumbleupon-circle.svg b/custom_components/fontawesome/data/brands/stumbleupon-circle.svg
new file mode 100644
index 0000000..a4b4234
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/stumbleupon-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/stumbleupon.svg b/custom_components/fontawesome/data/brands/stumbleupon.svg
new file mode 100644
index 0000000..999d386
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/stumbleupon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/superpowers.svg b/custom_components/fontawesome/data/brands/superpowers.svg
new file mode 100644
index 0000000..a6f13f6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/superpowers.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/supple.svg b/custom_components/fontawesome/data/brands/supple.svg
new file mode 100644
index 0000000..5afe879
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/supple.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/suse.svg b/custom_components/fontawesome/data/brands/suse.svg
new file mode 100644
index 0000000..adb6390
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/suse.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/swift.svg b/custom_components/fontawesome/data/brands/swift.svg
new file mode 100644
index 0000000..47498ff
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/swift.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/symfony.svg b/custom_components/fontawesome/data/brands/symfony.svg
new file mode 100644
index 0000000..51905fe
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/symfony.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/teamspeak.svg b/custom_components/fontawesome/data/brands/teamspeak.svg
new file mode 100644
index 0000000..f430b5f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/teamspeak.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/telegram-plane.svg b/custom_components/fontawesome/data/brands/telegram-plane.svg
new file mode 100644
index 0000000..a4e067b
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/telegram-plane.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/telegram.svg b/custom_components/fontawesome/data/brands/telegram.svg
new file mode 100644
index 0000000..fc5492c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/telegram.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/tencent-weibo.svg b/custom_components/fontawesome/data/brands/tencent-weibo.svg
new file mode 100644
index 0000000..30b49fc
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/tencent-weibo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/the-red-yeti.svg b/custom_components/fontawesome/data/brands/the-red-yeti.svg
new file mode 100644
index 0000000..f1af96f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/the-red-yeti.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/themeco.svg b/custom_components/fontawesome/data/brands/themeco.svg
new file mode 100644
index 0000000..0e706e4
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/themeco.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/themeisle.svg b/custom_components/fontawesome/data/brands/themeisle.svg
new file mode 100644
index 0000000..b933775
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/themeisle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/think-peaks.svg b/custom_components/fontawesome/data/brands/think-peaks.svg
new file mode 100644
index 0000000..d956893
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/think-peaks.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/trade-federation.svg b/custom_components/fontawesome/data/brands/trade-federation.svg
new file mode 100644
index 0000000..07bd63b
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/trade-federation.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/trello.svg b/custom_components/fontawesome/data/brands/trello.svg
new file mode 100644
index 0000000..634c6c3
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/trello.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/tripadvisor.svg b/custom_components/fontawesome/data/brands/tripadvisor.svg
new file mode 100644
index 0000000..4f3e2b6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/tripadvisor.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/tumblr-square.svg b/custom_components/fontawesome/data/brands/tumblr-square.svg
new file mode 100644
index 0000000..96b8cf5
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/tumblr-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/tumblr.svg b/custom_components/fontawesome/data/brands/tumblr.svg
new file mode 100644
index 0000000..da59377
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/tumblr.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/twitch.svg b/custom_components/fontawesome/data/brands/twitch.svg
new file mode 100644
index 0000000..11f254c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/twitch.svg
@@ -0,0 +1 @@
+
diff --git a/custom_components/fontawesome/data/brands/twitter-square.svg b/custom_components/fontawesome/data/brands/twitter-square.svg
new file mode 100644
index 0000000..0ca7e0b
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/twitter-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/twitter.svg b/custom_components/fontawesome/data/brands/twitter.svg
new file mode 100644
index 0000000..f0ed9c5
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/twitter.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/typo3.svg b/custom_components/fontawesome/data/brands/typo3.svg
new file mode 100644
index 0000000..4da76b3
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/typo3.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/uber.svg b/custom_components/fontawesome/data/brands/uber.svg
new file mode 100644
index 0000000..569a1cd
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/uber.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/ubuntu.svg b/custom_components/fontawesome/data/brands/ubuntu.svg
new file mode 100644
index 0000000..e1958dc
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/ubuntu.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/uikit.svg b/custom_components/fontawesome/data/brands/uikit.svg
new file mode 100644
index 0000000..26ab611
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/uikit.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/umbraco.svg b/custom_components/fontawesome/data/brands/umbraco.svg
new file mode 100644
index 0000000..454e115
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/umbraco.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/uniregistry.svg b/custom_components/fontawesome/data/brands/uniregistry.svg
new file mode 100644
index 0000000..c77b491
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/uniregistry.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/unity.svg b/custom_components/fontawesome/data/brands/unity.svg
new file mode 100644
index 0000000..3d1b1b8
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/unity.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/untappd.svg b/custom_components/fontawesome/data/brands/untappd.svg
new file mode 100644
index 0000000..5e06293
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/untappd.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/ups.svg b/custom_components/fontawesome/data/brands/ups.svg
new file mode 100644
index 0000000..eecae78
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/ups.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/usb.svg b/custom_components/fontawesome/data/brands/usb.svg
new file mode 100644
index 0000000..a9d265e
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/usb.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/usps.svg b/custom_components/fontawesome/data/brands/usps.svg
new file mode 100644
index 0000000..f939b3e
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/usps.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/ussunnah.svg b/custom_components/fontawesome/data/brands/ussunnah.svg
new file mode 100644
index 0000000..1dd9ed1
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/ussunnah.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/vaadin.svg b/custom_components/fontawesome/data/brands/vaadin.svg
new file mode 100644
index 0000000..fadce5a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/vaadin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/viacoin.svg b/custom_components/fontawesome/data/brands/viacoin.svg
new file mode 100644
index 0000000..c4777d6
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/viacoin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/viadeo-square.svg b/custom_components/fontawesome/data/brands/viadeo-square.svg
new file mode 100644
index 0000000..9212671
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/viadeo-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/viadeo.svg b/custom_components/fontawesome/data/brands/viadeo.svg
new file mode 100644
index 0000000..f4c1f8a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/viadeo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/viber.svg b/custom_components/fontawesome/data/brands/viber.svg
new file mode 100644
index 0000000..e40506b
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/viber.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/vimeo-square.svg b/custom_components/fontawesome/data/brands/vimeo-square.svg
new file mode 100644
index 0000000..eed266e
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/vimeo-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/vimeo-v.svg b/custom_components/fontawesome/data/brands/vimeo-v.svg
new file mode 100644
index 0000000..c871528
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/vimeo-v.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/vimeo.svg b/custom_components/fontawesome/data/brands/vimeo.svg
new file mode 100644
index 0000000..3a0c527
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/vimeo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/vine.svg b/custom_components/fontawesome/data/brands/vine.svg
new file mode 100644
index 0000000..53cb27f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/vine.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/vk.svg b/custom_components/fontawesome/data/brands/vk.svg
new file mode 100644
index 0000000..022717d
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/vk.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/vnv.svg b/custom_components/fontawesome/data/brands/vnv.svg
new file mode 100644
index 0000000..56cd37b
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/vnv.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/vuejs.svg b/custom_components/fontawesome/data/brands/vuejs.svg
new file mode 100644
index 0000000..932887c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/vuejs.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/waze.svg b/custom_components/fontawesome/data/brands/waze.svg
new file mode 100644
index 0000000..237e231
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/waze.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/weebly.svg b/custom_components/fontawesome/data/brands/weebly.svg
new file mode 100644
index 0000000..917dabe
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/weebly.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/weibo.svg b/custom_components/fontawesome/data/brands/weibo.svg
new file mode 100644
index 0000000..84f18c4
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/weibo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/weixin.svg b/custom_components/fontawesome/data/brands/weixin.svg
new file mode 100644
index 0000000..cd27b19
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/weixin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/whatsapp-square.svg b/custom_components/fontawesome/data/brands/whatsapp-square.svg
new file mode 100644
index 0000000..7db6753
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/whatsapp-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/whatsapp.svg b/custom_components/fontawesome/data/brands/whatsapp.svg
new file mode 100644
index 0000000..6ca3eb3
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/whatsapp.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/whmcs.svg b/custom_components/fontawesome/data/brands/whmcs.svg
new file mode 100644
index 0000000..2bbd695
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/whmcs.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/wikipedia-w.svg b/custom_components/fontawesome/data/brands/wikipedia-w.svg
new file mode 100644
index 0000000..0754253
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/wikipedia-w.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/windows.svg b/custom_components/fontawesome/data/brands/windows.svg
new file mode 100644
index 0000000..586ba25
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/windows.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/wix.svg b/custom_components/fontawesome/data/brands/wix.svg
new file mode 100644
index 0000000..c1bea30
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/wix.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/wizards-of-the-coast.svg b/custom_components/fontawesome/data/brands/wizards-of-the-coast.svg
new file mode 100644
index 0000000..5842f47
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/wizards-of-the-coast.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/wolf-pack-battalion.svg b/custom_components/fontawesome/data/brands/wolf-pack-battalion.svg
new file mode 100644
index 0000000..eb8e312
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/wolf-pack-battalion.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/wordpress-simple.svg b/custom_components/fontawesome/data/brands/wordpress-simple.svg
new file mode 100644
index 0000000..de9795a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/wordpress-simple.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/wordpress.svg b/custom_components/fontawesome/data/brands/wordpress.svg
new file mode 100644
index 0000000..3cc2bd4
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/wordpress.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/wpbeginner.svg b/custom_components/fontawesome/data/brands/wpbeginner.svg
new file mode 100644
index 0000000..1f81e84
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/wpbeginner.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/wpexplorer.svg b/custom_components/fontawesome/data/brands/wpexplorer.svg
new file mode 100644
index 0000000..706e12a
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/wpexplorer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/wpforms.svg b/custom_components/fontawesome/data/brands/wpforms.svg
new file mode 100644
index 0000000..03a3662
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/wpforms.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/wpressr.svg b/custom_components/fontawesome/data/brands/wpressr.svg
new file mode 100644
index 0000000..daa6135
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/wpressr.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/xbox.svg b/custom_components/fontawesome/data/brands/xbox.svg
new file mode 100644
index 0000000..5420576
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/xbox.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/xing-square.svg b/custom_components/fontawesome/data/brands/xing-square.svg
new file mode 100644
index 0000000..8c9fb82
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/xing-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/xing.svg b/custom_components/fontawesome/data/brands/xing.svg
new file mode 100644
index 0000000..c400771
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/xing.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/y-combinator.svg b/custom_components/fontawesome/data/brands/y-combinator.svg
new file mode 100644
index 0000000..d4a0f7e
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/y-combinator.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/yahoo.svg b/custom_components/fontawesome/data/brands/yahoo.svg
new file mode 100644
index 0000000..22dea83
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/yahoo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/yammer.svg b/custom_components/fontawesome/data/brands/yammer.svg
new file mode 100644
index 0000000..e905678
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/yammer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/yandex-international.svg b/custom_components/fontawesome/data/brands/yandex-international.svg
new file mode 100644
index 0000000..2b1c10c
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/yandex-international.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/yandex.svg b/custom_components/fontawesome/data/brands/yandex.svg
new file mode 100644
index 0000000..d054fe0
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/yandex.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/yarn.svg b/custom_components/fontawesome/data/brands/yarn.svg
new file mode 100644
index 0000000..ed00ea9
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/yarn.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/yelp.svg b/custom_components/fontawesome/data/brands/yelp.svg
new file mode 100644
index 0000000..d057f51
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/yelp.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/yoast.svg b/custom_components/fontawesome/data/brands/yoast.svg
new file mode 100644
index 0000000..bf2ec0f
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/yoast.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/youtube-square.svg b/custom_components/fontawesome/data/brands/youtube-square.svg
new file mode 100644
index 0000000..07b9ab5
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/youtube-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/youtube.svg b/custom_components/fontawesome/data/brands/youtube.svg
new file mode 100644
index 0000000..e831b88
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/youtube.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/brands/zhihu.svg b/custom_components/fontawesome/data/brands/zhihu.svg
new file mode 100644
index 0000000..c206c26
--- /dev/null
+++ b/custom_components/fontawesome/data/brands/zhihu.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/fab.js b/custom_components/fontawesome/data/fab.js
deleted file mode 100644
index d71a560..0000000
--- a/custom_components/fontawesome/data/fab.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(c){var l={};function h(m){if(l[m])return l[m].exports;var z=l[m]={i:m,l:!1,exports:{}};return c[m].call(z.exports,z,z.exports,h),z.l=!0,z.exports}h.m=c,h.c=l,h.d=function(c,l,m){h.o(c,l)||Object.defineProperty(c,l,{enumerable:!0,get:m})},h.r=function(c){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})},h.t=function(c,l){if(1&l&&(c=h(c)),8&l)return c;if(4&l&&"object"==typeof c&&c&&c.__esModule)return c;var m=Object.create(null);if(h.r(m),Object.defineProperty(m,"default",{enumerable:!0,value:c}),2&l&&"string"!=typeof c)for(var z in c)h.d(m,z,function(l){return c[l]}.bind(null,z));return m},h.n=function(c){var l=c&&c.__esModule?function(){return c.default}:function(){return c};return h.d(l,"a",l),l},h.o=function(c,l){return Object.prototype.hasOwnProperty.call(c,l)},h.p="",h(h.s=0)}([function(c,l,h){"use strict";h.r(l);const m=document.createElement("ha-iconset-svg");if(m.name="fab",m.size="1024",m.innerHTML='\n\x3c!--\nFont Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com\nLicense - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n--\x3e\n\n'.replace(/\/g,""),!customElements.get("ha-iconset-svg")){const c=document.createElement("iron-meta");c.type="iconset",c.key=m.name,c.value=m,m.appendChild(c),m.applyIcon=function(c,l){this.removeIcon(c);const h=document.createElementNS("http://www.w3.org/2000/svg","svg"),m=this.querySelector(`[id='${l}']`).cloneNode(!0);return h.appendChild(m),h.setAttribute("viewBox",m.getAttribute("viewBox")||"0 0 24 24"),h.style.cssText="pointer-events: none; display: block; width: 100%; height: 100%;",c.shadowRoot.insertBefore(h,c.shadowRoot.childNodes[0]),c._svgIcon=h}.bind(m),m.removeIcon=function(c){c._svgIcon&&(c.shadowRoot.removeChild(c._svgIcon),c._svgIcon=null)}.bind(m)}document.body.appendChild(m)}]);
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/far.js b/custom_components/fontawesome/data/far.js
deleted file mode 100644
index 042c155..0000000
--- a/custom_components/fontawesome/data/far.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(c){var h={};function l(m){if(h[m])return h[m].exports;var s=h[m]={i:m,l:!1,exports:{}};return c[m].call(s.exports,s,s.exports,l),s.l=!0,s.exports}l.m=c,l.c=h,l.d=function(c,h,m){l.o(c,h)||Object.defineProperty(c,h,{enumerable:!0,get:m})},l.r=function(c){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})},l.t=function(c,h){if(1&h&&(c=l(c)),8&h)return c;if(4&h&&"object"==typeof c&&c&&c.__esModule)return c;var m=Object.create(null);if(l.r(m),Object.defineProperty(m,"default",{enumerable:!0,value:c}),2&h&&"string"!=typeof c)for(var s in c)l.d(m,s,function(h){return c[h]}.bind(null,s));return m},l.n=function(c){var h=c&&c.__esModule?function(){return c.default}:function(){return c};return l.d(h,"a",h),h},l.o=function(c,h){return Object.prototype.hasOwnProperty.call(c,h)},l.p="",l(l.s=0)}([function(c,h,l){"use strict";l.r(h);const m=document.createElement("ha-iconset-svg");if(m.name="far",m.size="1024",m.innerHTML='\n\x3c!--\nFont Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com\nLicense - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n--\x3e\n\n'.replace(/\/g,""),!customElements.get("ha-iconset-svg")){const c=document.createElement("iron-meta");c.type="iconset",c.key=m.name,c.value=m,m.appendChild(c),m.applyIcon=function(c,h){this.removeIcon(c);const l=document.createElementNS("http://www.w3.org/2000/svg","svg"),m=this.querySelector(`[id='${h}']`).cloneNode(!0);return l.appendChild(m),l.setAttribute("viewBox",m.getAttribute("viewBox")||"0 0 24 24"),l.style.cssText="pointer-events: none; display: block; width: 100%; height: 100%;",c.shadowRoot.insertBefore(l,c.shadowRoot.childNodes[0]),c._svgIcon=l}.bind(m),m.removeIcon=function(c){c._svgIcon&&(c.shadowRoot.removeChild(c._svgIcon),c._svgIcon=null)}.bind(m)}document.body.appendChild(m)}]);
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/fas.js b/custom_components/fontawesome/data/fas.js
deleted file mode 100644
index a918d40..0000000
--- a/custom_components/fontawesome/data/fas.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(c){var h={};function l(a){if(h[a])return h[a].exports;var v=h[a]={i:a,l:!1,exports:{}};return c[a].call(v.exports,v,v.exports,l),v.l=!0,v.exports}l.m=c,l.c=h,l.d=function(c,h,a){l.o(c,h)||Object.defineProperty(c,h,{enumerable:!0,get:a})},l.r=function(c){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})},l.t=function(c,h){if(1&h&&(c=l(c)),8&h)return c;if(4&h&&"object"==typeof c&&c&&c.__esModule)return c;var a=Object.create(null);if(l.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:c}),2&h&&"string"!=typeof c)for(var v in c)l.d(a,v,function(h){return c[h]}.bind(null,v));return a},l.n=function(c){var h=c&&c.__esModule?function(){return c.default}:function(){return c};return l.d(h,"a",h),h},l.o=function(c,h){return Object.prototype.hasOwnProperty.call(c,h)},l.p="",l(l.s=0)}([function(c,h,l){"use strict";l.r(h);const a=document.createElement("ha-iconset-svg");if(a.name="fas",a.size="1024",a.innerHTML='\n\x3c!--\nFont Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com\nLicense - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n--\x3e\n\n'.replace(/\/g,""),!customElements.get("ha-iconset-svg")){const c=document.createElement("iron-meta");c.type="iconset",c.key=a.name,c.value=a,a.appendChild(c),a.applyIcon=function(c,h){this.removeIcon(c);const l=document.createElementNS("http://www.w3.org/2000/svg","svg"),a=this.querySelector(`[id='${h}']`).cloneNode(!0);return l.appendChild(a),l.setAttribute("viewBox",a.getAttribute("viewBox")||"0 0 24 24"),l.style.cssText="pointer-events: none; display: block; width: 100%; height: 100%;",c.shadowRoot.insertBefore(l,c.shadowRoot.childNodes[0]),c._svgIcon=l}.bind(a),a.removeIcon=function(c){c._svgIcon&&(c.shadowRoot.removeChild(c._svgIcon),c._svgIcon=null)}.bind(a)}document.body.appendChild(a)}]);
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/address-book.svg b/custom_components/fontawesome/data/regular/address-book.svg
new file mode 100644
index 0000000..1c941ca
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/address-book.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/address-card.svg b/custom_components/fontawesome/data/regular/address-card.svg
new file mode 100644
index 0000000..4e0179f
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/address-card.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/angry.svg b/custom_components/fontawesome/data/regular/angry.svg
new file mode 100644
index 0000000..f8636ab
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/angry.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/arrow-alt-circle-down.svg b/custom_components/fontawesome/data/regular/arrow-alt-circle-down.svg
new file mode 100644
index 0000000..5f75848
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/arrow-alt-circle-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/arrow-alt-circle-left.svg b/custom_components/fontawesome/data/regular/arrow-alt-circle-left.svg
new file mode 100644
index 0000000..eb3fbdb
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/arrow-alt-circle-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/arrow-alt-circle-right.svg b/custom_components/fontawesome/data/regular/arrow-alt-circle-right.svg
new file mode 100644
index 0000000..061d972
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/arrow-alt-circle-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/arrow-alt-circle-up.svg b/custom_components/fontawesome/data/regular/arrow-alt-circle-up.svg
new file mode 100644
index 0000000..519288e
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/arrow-alt-circle-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/bell-slash.svg b/custom_components/fontawesome/data/regular/bell-slash.svg
new file mode 100644
index 0000000..410eb75
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/bell-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/bell.svg b/custom_components/fontawesome/data/regular/bell.svg
new file mode 100644
index 0000000..2b98a37
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/bell.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/bookmark.svg b/custom_components/fontawesome/data/regular/bookmark.svg
new file mode 100644
index 0000000..bd315e4
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/bookmark.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/building.svg b/custom_components/fontawesome/data/regular/building.svg
new file mode 100644
index 0000000..4178db4
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/building.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/calendar-alt.svg b/custom_components/fontawesome/data/regular/calendar-alt.svg
new file mode 100644
index 0000000..130e2ab
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/calendar-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/calendar-check.svg b/custom_components/fontawesome/data/regular/calendar-check.svg
new file mode 100644
index 0000000..3d98c56
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/calendar-check.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/calendar-minus.svg b/custom_components/fontawesome/data/regular/calendar-minus.svg
new file mode 100644
index 0000000..0b83b34
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/calendar-minus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/calendar-plus.svg b/custom_components/fontawesome/data/regular/calendar-plus.svg
new file mode 100644
index 0000000..7715ffc
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/calendar-plus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/calendar-times.svg b/custom_components/fontawesome/data/regular/calendar-times.svg
new file mode 100644
index 0000000..8a9a10c
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/calendar-times.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/calendar.svg b/custom_components/fontawesome/data/regular/calendar.svg
new file mode 100644
index 0000000..725e887
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/calendar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/caret-square-down.svg b/custom_components/fontawesome/data/regular/caret-square-down.svg
new file mode 100644
index 0000000..29a40ab
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/caret-square-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/caret-square-left.svg b/custom_components/fontawesome/data/regular/caret-square-left.svg
new file mode 100644
index 0000000..5fa7f8b
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/caret-square-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/caret-square-right.svg b/custom_components/fontawesome/data/regular/caret-square-right.svg
new file mode 100644
index 0000000..03b4389
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/caret-square-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/caret-square-up.svg b/custom_components/fontawesome/data/regular/caret-square-up.svg
new file mode 100644
index 0000000..b59f23b
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/caret-square-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/chart-bar.svg b/custom_components/fontawesome/data/regular/chart-bar.svg
new file mode 100644
index 0000000..36820b7
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/chart-bar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/check-circle.svg b/custom_components/fontawesome/data/regular/check-circle.svg
new file mode 100644
index 0000000..000b850
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/check-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/check-square.svg b/custom_components/fontawesome/data/regular/check-square.svg
new file mode 100644
index 0000000..602b375
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/check-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/circle.svg b/custom_components/fontawesome/data/regular/circle.svg
new file mode 100644
index 0000000..835815e
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/clipboard.svg b/custom_components/fontawesome/data/regular/clipboard.svg
new file mode 100644
index 0000000..a9260d1
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/clipboard.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/clock.svg b/custom_components/fontawesome/data/regular/clock.svg
new file mode 100644
index 0000000..136a550
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/clock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/clone.svg b/custom_components/fontawesome/data/regular/clone.svg
new file mode 100644
index 0000000..c9804bf
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/clone.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/closed-captioning.svg b/custom_components/fontawesome/data/regular/closed-captioning.svg
new file mode 100644
index 0000000..277952b
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/closed-captioning.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/comment-alt.svg b/custom_components/fontawesome/data/regular/comment-alt.svg
new file mode 100644
index 0000000..cf31f08
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/comment-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/comment-dots.svg b/custom_components/fontawesome/data/regular/comment-dots.svg
new file mode 100644
index 0000000..de4dc07
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/comment-dots.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/comment.svg b/custom_components/fontawesome/data/regular/comment.svg
new file mode 100644
index 0000000..6fb2541
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/comment.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/comments.svg b/custom_components/fontawesome/data/regular/comments.svg
new file mode 100644
index 0000000..9ab2d38
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/comments.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/compass.svg b/custom_components/fontawesome/data/regular/compass.svg
new file mode 100644
index 0000000..40e3c56
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/compass.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/copy.svg b/custom_components/fontawesome/data/regular/copy.svg
new file mode 100644
index 0000000..a488ff2
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/copy.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/copyright.svg b/custom_components/fontawesome/data/regular/copyright.svg
new file mode 100644
index 0000000..2a81ca2
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/copyright.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/credit-card.svg b/custom_components/fontawesome/data/regular/credit-card.svg
new file mode 100644
index 0000000..f5a047f
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/credit-card.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/dizzy.svg b/custom_components/fontawesome/data/regular/dizzy.svg
new file mode 100644
index 0000000..b84e005
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/dizzy.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/dot-circle.svg b/custom_components/fontawesome/data/regular/dot-circle.svg
new file mode 100644
index 0000000..eacf9b7
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/dot-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/edit.svg b/custom_components/fontawesome/data/regular/edit.svg
new file mode 100644
index 0000000..d7b1914
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/edit.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/envelope-open.svg b/custom_components/fontawesome/data/regular/envelope-open.svg
new file mode 100644
index 0000000..0b71db8
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/envelope-open.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/envelope.svg b/custom_components/fontawesome/data/regular/envelope.svg
new file mode 100644
index 0000000..a2557ef
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/envelope.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/eye-slash.svg b/custom_components/fontawesome/data/regular/eye-slash.svg
new file mode 100644
index 0000000..9e6b01d
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/eye-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/eye.svg b/custom_components/fontawesome/data/regular/eye.svg
new file mode 100644
index 0000000..09c9345
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/eye.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/file-alt.svg b/custom_components/fontawesome/data/regular/file-alt.svg
new file mode 100644
index 0000000..e32217d
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/file-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/file-archive.svg b/custom_components/fontawesome/data/regular/file-archive.svg
new file mode 100644
index 0000000..af14d23
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/file-archive.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/file-audio.svg b/custom_components/fontawesome/data/regular/file-audio.svg
new file mode 100644
index 0000000..87c1600
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/file-audio.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/file-code.svg b/custom_components/fontawesome/data/regular/file-code.svg
new file mode 100644
index 0000000..6483b79
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/file-code.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/file-excel.svg b/custom_components/fontawesome/data/regular/file-excel.svg
new file mode 100644
index 0000000..4812302
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/file-excel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/file-image.svg b/custom_components/fontawesome/data/regular/file-image.svg
new file mode 100644
index 0000000..2ca87e5
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/file-image.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/file-pdf.svg b/custom_components/fontawesome/data/regular/file-pdf.svg
new file mode 100644
index 0000000..3f2fa45
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/file-pdf.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/file-powerpoint.svg b/custom_components/fontawesome/data/regular/file-powerpoint.svg
new file mode 100644
index 0000000..41e3505
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/file-powerpoint.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/file-video.svg b/custom_components/fontawesome/data/regular/file-video.svg
new file mode 100644
index 0000000..ed02cdc
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/file-video.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/file-word.svg b/custom_components/fontawesome/data/regular/file-word.svg
new file mode 100644
index 0000000..2ba4990
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/file-word.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/file.svg b/custom_components/fontawesome/data/regular/file.svg
new file mode 100644
index 0000000..9bc1513
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/file.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/flag.svg b/custom_components/fontawesome/data/regular/flag.svg
new file mode 100644
index 0000000..4df2e03
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/flag.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/flushed.svg b/custom_components/fontawesome/data/regular/flushed.svg
new file mode 100644
index 0000000..cb201a2
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/flushed.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/folder-open.svg b/custom_components/fontawesome/data/regular/folder-open.svg
new file mode 100644
index 0000000..d367d41
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/folder-open.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/folder.svg b/custom_components/fontawesome/data/regular/folder.svg
new file mode 100644
index 0000000..7c9d6c4
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/folder.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/font-awesome-logo-full.svg b/custom_components/fontawesome/data/regular/font-awesome-logo-full.svg
new file mode 100644
index 0000000..06b75a4
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/font-awesome-logo-full.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/frown-open.svg b/custom_components/fontawesome/data/regular/frown-open.svg
new file mode 100644
index 0000000..728cc1c
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/frown-open.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/frown.svg b/custom_components/fontawesome/data/regular/frown.svg
new file mode 100644
index 0000000..a8cb603
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/frown.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/futbol.svg b/custom_components/fontawesome/data/regular/futbol.svg
new file mode 100644
index 0000000..0601465
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/futbol.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/gem.svg b/custom_components/fontawesome/data/regular/gem.svg
new file mode 100644
index 0000000..9640cbf
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/gem.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/grimace.svg b/custom_components/fontawesome/data/regular/grimace.svg
new file mode 100644
index 0000000..3ef8c88
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/grimace.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/grin-alt.svg b/custom_components/fontawesome/data/regular/grin-alt.svg
new file mode 100644
index 0000000..6e8ac81
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/grin-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/grin-beam-sweat.svg b/custom_components/fontawesome/data/regular/grin-beam-sweat.svg
new file mode 100644
index 0000000..6f22133
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/grin-beam-sweat.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/grin-beam.svg b/custom_components/fontawesome/data/regular/grin-beam.svg
new file mode 100644
index 0000000..0f8b366
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/grin-beam.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/grin-hearts.svg b/custom_components/fontawesome/data/regular/grin-hearts.svg
new file mode 100644
index 0000000..3ecf5f4
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/grin-hearts.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/grin-squint-tears.svg b/custom_components/fontawesome/data/regular/grin-squint-tears.svg
new file mode 100644
index 0000000..0611674
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/grin-squint-tears.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/grin-squint.svg b/custom_components/fontawesome/data/regular/grin-squint.svg
new file mode 100644
index 0000000..b6d15a4
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/grin-squint.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/grin-stars.svg b/custom_components/fontawesome/data/regular/grin-stars.svg
new file mode 100644
index 0000000..8f8f2d0
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/grin-stars.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/grin-tears.svg b/custom_components/fontawesome/data/regular/grin-tears.svg
new file mode 100644
index 0000000..fefc423
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/grin-tears.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/grin-tongue-squint.svg b/custom_components/fontawesome/data/regular/grin-tongue-squint.svg
new file mode 100644
index 0000000..6434a61
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/grin-tongue-squint.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/grin-tongue-wink.svg b/custom_components/fontawesome/data/regular/grin-tongue-wink.svg
new file mode 100644
index 0000000..e75cdcc
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/grin-tongue-wink.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/grin-tongue.svg b/custom_components/fontawesome/data/regular/grin-tongue.svg
new file mode 100644
index 0000000..1afbcef
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/grin-tongue.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/grin-wink.svg b/custom_components/fontawesome/data/regular/grin-wink.svg
new file mode 100644
index 0000000..ed3b703
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/grin-wink.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/grin.svg b/custom_components/fontawesome/data/regular/grin.svg
new file mode 100644
index 0000000..1630a89
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/grin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/hand-lizard.svg b/custom_components/fontawesome/data/regular/hand-lizard.svg
new file mode 100644
index 0000000..6dba7ec
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/hand-lizard.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/hand-paper.svg b/custom_components/fontawesome/data/regular/hand-paper.svg
new file mode 100644
index 0000000..afe7adb
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/hand-paper.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/hand-peace.svg b/custom_components/fontawesome/data/regular/hand-peace.svg
new file mode 100644
index 0000000..506209b
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/hand-peace.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/hand-point-down.svg b/custom_components/fontawesome/data/regular/hand-point-down.svg
new file mode 100644
index 0000000..08bc8d8
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/hand-point-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/hand-point-left.svg b/custom_components/fontawesome/data/regular/hand-point-left.svg
new file mode 100644
index 0000000..82d6640
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/hand-point-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/hand-point-right.svg b/custom_components/fontawesome/data/regular/hand-point-right.svg
new file mode 100644
index 0000000..312c209
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/hand-point-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/hand-point-up.svg b/custom_components/fontawesome/data/regular/hand-point-up.svg
new file mode 100644
index 0000000..6f823c3
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/hand-point-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/hand-pointer.svg b/custom_components/fontawesome/data/regular/hand-pointer.svg
new file mode 100644
index 0000000..1ff0b8e
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/hand-pointer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/hand-rock.svg b/custom_components/fontawesome/data/regular/hand-rock.svg
new file mode 100644
index 0000000..a13011a
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/hand-rock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/hand-scissors.svg b/custom_components/fontawesome/data/regular/hand-scissors.svg
new file mode 100644
index 0000000..3e0b478
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/hand-scissors.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/hand-spock.svg b/custom_components/fontawesome/data/regular/hand-spock.svg
new file mode 100644
index 0000000..a7a470d
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/hand-spock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/handshake.svg b/custom_components/fontawesome/data/regular/handshake.svg
new file mode 100644
index 0000000..1cb42ae
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/handshake.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/hdd.svg b/custom_components/fontawesome/data/regular/hdd.svg
new file mode 100644
index 0000000..dbf616f
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/hdd.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/heart.svg b/custom_components/fontawesome/data/regular/heart.svg
new file mode 100644
index 0000000..9a38083
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/heart.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/hospital.svg b/custom_components/fontawesome/data/regular/hospital.svg
new file mode 100644
index 0000000..9877286
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/hospital.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/hourglass.svg b/custom_components/fontawesome/data/regular/hourglass.svg
new file mode 100644
index 0000000..c89faa1
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/hourglass.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/id-badge.svg b/custom_components/fontawesome/data/regular/id-badge.svg
new file mode 100644
index 0000000..3900802
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/id-badge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/id-card.svg b/custom_components/fontawesome/data/regular/id-card.svg
new file mode 100644
index 0000000..58ce378
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/id-card.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/image.svg b/custom_components/fontawesome/data/regular/image.svg
new file mode 100644
index 0000000..4f7dd8d
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/image.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/images.svg b/custom_components/fontawesome/data/regular/images.svg
new file mode 100644
index 0000000..2371a08
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/images.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/keyboard.svg b/custom_components/fontawesome/data/regular/keyboard.svg
new file mode 100644
index 0000000..3b3705d
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/keyboard.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/kiss-beam.svg b/custom_components/fontawesome/data/regular/kiss-beam.svg
new file mode 100644
index 0000000..8571808
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/kiss-beam.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/kiss-wink-heart.svg b/custom_components/fontawesome/data/regular/kiss-wink-heart.svg
new file mode 100644
index 0000000..a513302
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/kiss-wink-heart.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/kiss.svg b/custom_components/fontawesome/data/regular/kiss.svg
new file mode 100644
index 0000000..5af5fc7
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/kiss.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/laugh-beam.svg b/custom_components/fontawesome/data/regular/laugh-beam.svg
new file mode 100644
index 0000000..d9e473f
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/laugh-beam.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/laugh-squint.svg b/custom_components/fontawesome/data/regular/laugh-squint.svg
new file mode 100644
index 0000000..4edf0d0
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/laugh-squint.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/laugh-wink.svg b/custom_components/fontawesome/data/regular/laugh-wink.svg
new file mode 100644
index 0000000..39c3695
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/laugh-wink.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/laugh.svg b/custom_components/fontawesome/data/regular/laugh.svg
new file mode 100644
index 0000000..b852425
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/laugh.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/lemon.svg b/custom_components/fontawesome/data/regular/lemon.svg
new file mode 100644
index 0000000..ab9ed90
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/lemon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/life-ring.svg b/custom_components/fontawesome/data/regular/life-ring.svg
new file mode 100644
index 0000000..2cf3326
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/life-ring.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/lightbulb.svg b/custom_components/fontawesome/data/regular/lightbulb.svg
new file mode 100644
index 0000000..abd6ebf
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/lightbulb.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/list-alt.svg b/custom_components/fontawesome/data/regular/list-alt.svg
new file mode 100644
index 0000000..1113bbc
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/list-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/map.svg b/custom_components/fontawesome/data/regular/map.svg
new file mode 100644
index 0000000..a5d2e7d
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/map.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/meh-blank.svg b/custom_components/fontawesome/data/regular/meh-blank.svg
new file mode 100644
index 0000000..ebeece4
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/meh-blank.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/meh-rolling-eyes.svg b/custom_components/fontawesome/data/regular/meh-rolling-eyes.svg
new file mode 100644
index 0000000..3fb3476
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/meh-rolling-eyes.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/meh.svg b/custom_components/fontawesome/data/regular/meh.svg
new file mode 100644
index 0000000..3bff8ac
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/meh.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/minus-square.svg b/custom_components/fontawesome/data/regular/minus-square.svg
new file mode 100644
index 0000000..6b72714
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/minus-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/money-bill-alt.svg b/custom_components/fontawesome/data/regular/money-bill-alt.svg
new file mode 100644
index 0000000..4ce581e
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/money-bill-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/moon.svg b/custom_components/fontawesome/data/regular/moon.svg
new file mode 100644
index 0000000..30fb115
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/moon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/newspaper.svg b/custom_components/fontawesome/data/regular/newspaper.svg
new file mode 100644
index 0000000..a54e3ca
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/newspaper.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/object-group.svg b/custom_components/fontawesome/data/regular/object-group.svg
new file mode 100644
index 0000000..e483f37
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/object-group.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/object-ungroup.svg b/custom_components/fontawesome/data/regular/object-ungroup.svg
new file mode 100644
index 0000000..6255363
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/object-ungroup.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/paper-plane.svg b/custom_components/fontawesome/data/regular/paper-plane.svg
new file mode 100644
index 0000000..215e293
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/paper-plane.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/pause-circle.svg b/custom_components/fontawesome/data/regular/pause-circle.svg
new file mode 100644
index 0000000..caebd9e
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/pause-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/play-circle.svg b/custom_components/fontawesome/data/regular/play-circle.svg
new file mode 100644
index 0000000..9de60df
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/play-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/plus-square.svg b/custom_components/fontawesome/data/regular/plus-square.svg
new file mode 100644
index 0000000..dfc22ac
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/plus-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/question-circle.svg b/custom_components/fontawesome/data/regular/question-circle.svg
new file mode 100644
index 0000000..9a30b85
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/question-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/registered.svg b/custom_components/fontawesome/data/regular/registered.svg
new file mode 100644
index 0000000..e5dc8a2
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/registered.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/sad-cry.svg b/custom_components/fontawesome/data/regular/sad-cry.svg
new file mode 100644
index 0000000..8ab84c9
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/sad-cry.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/sad-tear.svg b/custom_components/fontawesome/data/regular/sad-tear.svg
new file mode 100644
index 0000000..e19421c
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/sad-tear.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/save.svg b/custom_components/fontawesome/data/regular/save.svg
new file mode 100644
index 0000000..16f6b82
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/save.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/share-square.svg b/custom_components/fontawesome/data/regular/share-square.svg
new file mode 100644
index 0000000..aa98748
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/share-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/smile-beam.svg b/custom_components/fontawesome/data/regular/smile-beam.svg
new file mode 100644
index 0000000..1077160
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/smile-beam.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/smile-wink.svg b/custom_components/fontawesome/data/regular/smile-wink.svg
new file mode 100644
index 0000000..e842eed
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/smile-wink.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/smile.svg b/custom_components/fontawesome/data/regular/smile.svg
new file mode 100644
index 0000000..025898d
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/smile.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/snowflake.svg b/custom_components/fontawesome/data/regular/snowflake.svg
new file mode 100644
index 0000000..2258d80
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/snowflake.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/square.svg b/custom_components/fontawesome/data/regular/square.svg
new file mode 100644
index 0000000..b9a4b96
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/star-half.svg b/custom_components/fontawesome/data/regular/star-half.svg
new file mode 100644
index 0000000..12b063f
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/star-half.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/star.svg b/custom_components/fontawesome/data/regular/star.svg
new file mode 100644
index 0000000..a1370d2
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/star.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/sticky-note.svg b/custom_components/fontawesome/data/regular/sticky-note.svg
new file mode 100644
index 0000000..0882390
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/sticky-note.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/stop-circle.svg b/custom_components/fontawesome/data/regular/stop-circle.svg
new file mode 100644
index 0000000..37bf314
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/stop-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/sun.svg b/custom_components/fontawesome/data/regular/sun.svg
new file mode 100644
index 0000000..78d33ba
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/sun.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/surprise.svg b/custom_components/fontawesome/data/regular/surprise.svg
new file mode 100644
index 0000000..4210c37
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/surprise.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/thumbs-down.svg b/custom_components/fontawesome/data/regular/thumbs-down.svg
new file mode 100644
index 0000000..d7b49d5
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/thumbs-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/thumbs-up.svg b/custom_components/fontawesome/data/regular/thumbs-up.svg
new file mode 100644
index 0000000..f60e4d1
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/thumbs-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/times-circle.svg b/custom_components/fontawesome/data/regular/times-circle.svg
new file mode 100644
index 0000000..15181d3
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/times-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/tired.svg b/custom_components/fontawesome/data/regular/tired.svg
new file mode 100644
index 0000000..6f700be
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/tired.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/trash-alt.svg b/custom_components/fontawesome/data/regular/trash-alt.svg
new file mode 100644
index 0000000..e3eb2b0
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/trash-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/user-circle.svg b/custom_components/fontawesome/data/regular/user-circle.svg
new file mode 100644
index 0000000..1d678d2
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/user-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/user.svg b/custom_components/fontawesome/data/regular/user.svg
new file mode 100644
index 0000000..bdc327c
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/user.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/window-close.svg b/custom_components/fontawesome/data/regular/window-close.svg
new file mode 100644
index 0000000..1375985
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/window-close.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/window-maximize.svg b/custom_components/fontawesome/data/regular/window-maximize.svg
new file mode 100644
index 0000000..39c0ac0
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/window-maximize.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/window-minimize.svg b/custom_components/fontawesome/data/regular/window-minimize.svg
new file mode 100644
index 0000000..0986bba
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/window-minimize.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/regular/window-restore.svg b/custom_components/fontawesome/data/regular/window-restore.svg
new file mode 100644
index 0000000..9d1bfa7
--- /dev/null
+++ b/custom_components/fontawesome/data/regular/window-restore.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ad.svg b/custom_components/fontawesome/data/solid/ad.svg
new file mode 100644
index 0000000..42e4a52
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ad.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/address-book.svg b/custom_components/fontawesome/data/solid/address-book.svg
new file mode 100644
index 0000000..f652f5a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/address-book.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/address-card.svg b/custom_components/fontawesome/data/solid/address-card.svg
new file mode 100644
index 0000000..628ced2
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/address-card.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/adjust.svg b/custom_components/fontawesome/data/solid/adjust.svg
new file mode 100644
index 0000000..2616d99
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/adjust.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/air-freshener.svg b/custom_components/fontawesome/data/solid/air-freshener.svg
new file mode 100644
index 0000000..25713c7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/air-freshener.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/align-center.svg b/custom_components/fontawesome/data/solid/align-center.svg
new file mode 100644
index 0000000..b4cdc13
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/align-center.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/align-justify.svg b/custom_components/fontawesome/data/solid/align-justify.svg
new file mode 100644
index 0000000..d88b959
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/align-justify.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/align-left.svg b/custom_components/fontawesome/data/solid/align-left.svg
new file mode 100644
index 0000000..0e57dde
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/align-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/align-right.svg b/custom_components/fontawesome/data/solid/align-right.svg
new file mode 100644
index 0000000..34b22e0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/align-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/allergies.svg b/custom_components/fontawesome/data/solid/allergies.svg
new file mode 100644
index 0000000..335f5bc
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/allergies.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ambulance.svg b/custom_components/fontawesome/data/solid/ambulance.svg
new file mode 100644
index 0000000..b35a7bc
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ambulance.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/american-sign-language-interpreting.svg b/custom_components/fontawesome/data/solid/american-sign-language-interpreting.svg
new file mode 100644
index 0000000..8bca614
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/american-sign-language-interpreting.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/anchor.svg b/custom_components/fontawesome/data/solid/anchor.svg
new file mode 100644
index 0000000..792266b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/anchor.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/angle-double-down.svg b/custom_components/fontawesome/data/solid/angle-double-down.svg
new file mode 100644
index 0000000..3228f4a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/angle-double-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/angle-double-left.svg b/custom_components/fontawesome/data/solid/angle-double-left.svg
new file mode 100644
index 0000000..4474d83
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/angle-double-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/angle-double-right.svg b/custom_components/fontawesome/data/solid/angle-double-right.svg
new file mode 100644
index 0000000..cdf9336
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/angle-double-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/angle-double-up.svg b/custom_components/fontawesome/data/solid/angle-double-up.svg
new file mode 100644
index 0000000..74b542f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/angle-double-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/angle-down.svg b/custom_components/fontawesome/data/solid/angle-down.svg
new file mode 100644
index 0000000..1462342
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/angle-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/angle-left.svg b/custom_components/fontawesome/data/solid/angle-left.svg
new file mode 100644
index 0000000..1e28c70
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/angle-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/angle-right.svg b/custom_components/fontawesome/data/solid/angle-right.svg
new file mode 100644
index 0000000..ec7fbe9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/angle-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/angle-up.svg b/custom_components/fontawesome/data/solid/angle-up.svg
new file mode 100644
index 0000000..1d0bbea
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/angle-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/angry.svg b/custom_components/fontawesome/data/solid/angry.svg
new file mode 100644
index 0000000..eca0b5d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/angry.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ankh.svg b/custom_components/fontawesome/data/solid/ankh.svg
new file mode 100644
index 0000000..2cab7bf
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ankh.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/apple-alt.svg b/custom_components/fontawesome/data/solid/apple-alt.svg
new file mode 100644
index 0000000..995d76e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/apple-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/archive.svg b/custom_components/fontawesome/data/solid/archive.svg
new file mode 100644
index 0000000..394dad2
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/archive.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/archway.svg b/custom_components/fontawesome/data/solid/archway.svg
new file mode 100644
index 0000000..e5ad2f3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/archway.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/arrow-alt-circle-down.svg b/custom_components/fontawesome/data/solid/arrow-alt-circle-down.svg
new file mode 100644
index 0000000..a2f644f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/arrow-alt-circle-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/arrow-alt-circle-left.svg b/custom_components/fontawesome/data/solid/arrow-alt-circle-left.svg
new file mode 100644
index 0000000..8a53b22
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/arrow-alt-circle-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/arrow-alt-circle-right.svg b/custom_components/fontawesome/data/solid/arrow-alt-circle-right.svg
new file mode 100644
index 0000000..9da44be
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/arrow-alt-circle-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/arrow-alt-circle-up.svg b/custom_components/fontawesome/data/solid/arrow-alt-circle-up.svg
new file mode 100644
index 0000000..c650c82
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/arrow-alt-circle-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/arrow-circle-down.svg b/custom_components/fontawesome/data/solid/arrow-circle-down.svg
new file mode 100644
index 0000000..08b9f13
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/arrow-circle-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/arrow-circle-left.svg b/custom_components/fontawesome/data/solid/arrow-circle-left.svg
new file mode 100644
index 0000000..59be8d9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/arrow-circle-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/arrow-circle-right.svg b/custom_components/fontawesome/data/solid/arrow-circle-right.svg
new file mode 100644
index 0000000..f059bab
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/arrow-circle-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/arrow-circle-up.svg b/custom_components/fontawesome/data/solid/arrow-circle-up.svg
new file mode 100644
index 0000000..d9d8081
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/arrow-circle-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/arrow-down.svg b/custom_components/fontawesome/data/solid/arrow-down.svg
new file mode 100644
index 0000000..61b4db7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/arrow-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/arrow-left.svg b/custom_components/fontawesome/data/solid/arrow-left.svg
new file mode 100644
index 0000000..b229b8d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/arrow-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/arrow-right.svg b/custom_components/fontawesome/data/solid/arrow-right.svg
new file mode 100644
index 0000000..1b9b05b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/arrow-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/arrow-up.svg b/custom_components/fontawesome/data/solid/arrow-up.svg
new file mode 100644
index 0000000..bc571b5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/arrow-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/arrows-alt-h.svg b/custom_components/fontawesome/data/solid/arrows-alt-h.svg
new file mode 100644
index 0000000..0caa926
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/arrows-alt-h.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/arrows-alt-v.svg b/custom_components/fontawesome/data/solid/arrows-alt-v.svg
new file mode 100644
index 0000000..ebb23ac
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/arrows-alt-v.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/arrows-alt.svg b/custom_components/fontawesome/data/solid/arrows-alt.svg
new file mode 100644
index 0000000..d885a5a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/arrows-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/assistive-listening-systems.svg b/custom_components/fontawesome/data/solid/assistive-listening-systems.svg
new file mode 100644
index 0000000..5071f59
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/assistive-listening-systems.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/asterisk.svg b/custom_components/fontawesome/data/solid/asterisk.svg
new file mode 100644
index 0000000..d77cbb6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/asterisk.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/at.svg b/custom_components/fontawesome/data/solid/at.svg
new file mode 100644
index 0000000..6f35c42
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/at.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/atlas.svg b/custom_components/fontawesome/data/solid/atlas.svg
new file mode 100644
index 0000000..ea31821
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/atlas.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/atom.svg b/custom_components/fontawesome/data/solid/atom.svg
new file mode 100644
index 0000000..2df2144
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/atom.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/audio-description.svg b/custom_components/fontawesome/data/solid/audio-description.svg
new file mode 100644
index 0000000..0e338ff
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/audio-description.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/award.svg b/custom_components/fontawesome/data/solid/award.svg
new file mode 100644
index 0000000..a8c9de1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/award.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/baby-carriage.svg b/custom_components/fontawesome/data/solid/baby-carriage.svg
new file mode 100644
index 0000000..e8dd92b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/baby-carriage.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/baby.svg b/custom_components/fontawesome/data/solid/baby.svg
new file mode 100644
index 0000000..0313288
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/baby.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/backspace.svg b/custom_components/fontawesome/data/solid/backspace.svg
new file mode 100644
index 0000000..078a9fb
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/backspace.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/backward.svg b/custom_components/fontawesome/data/solid/backward.svg
new file mode 100644
index 0000000..b37fcc2
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/backward.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bacon.svg b/custom_components/fontawesome/data/solid/bacon.svg
new file mode 100644
index 0000000..97bfedb
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bacon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bahai.svg b/custom_components/fontawesome/data/solid/bahai.svg
new file mode 100644
index 0000000..8ea2a69
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bahai.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/balance-scale-left.svg b/custom_components/fontawesome/data/solid/balance-scale-left.svg
new file mode 100644
index 0000000..e7b692e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/balance-scale-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/balance-scale-right.svg b/custom_components/fontawesome/data/solid/balance-scale-right.svg
new file mode 100644
index 0000000..77476a1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/balance-scale-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/balance-scale.svg b/custom_components/fontawesome/data/solid/balance-scale.svg
new file mode 100644
index 0000000..e526521
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/balance-scale.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ban.svg b/custom_components/fontawesome/data/solid/ban.svg
new file mode 100644
index 0000000..85f7f06
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ban.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/band-aid.svg b/custom_components/fontawesome/data/solid/band-aid.svg
new file mode 100644
index 0000000..4d0f559
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/band-aid.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/barcode.svg b/custom_components/fontawesome/data/solid/barcode.svg
new file mode 100644
index 0000000..58cbee7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/barcode.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bars.svg b/custom_components/fontawesome/data/solid/bars.svg
new file mode 100644
index 0000000..87d79f9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bars.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/baseball-ball.svg b/custom_components/fontawesome/data/solid/baseball-ball.svg
new file mode 100644
index 0000000..bcdb0a0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/baseball-ball.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/basketball-ball.svg b/custom_components/fontawesome/data/solid/basketball-ball.svg
new file mode 100644
index 0000000..bb2ba23
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/basketball-ball.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bath.svg b/custom_components/fontawesome/data/solid/bath.svg
new file mode 100644
index 0000000..3bf7b36
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bath.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/battery-empty.svg b/custom_components/fontawesome/data/solid/battery-empty.svg
new file mode 100644
index 0000000..b4a57fa
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/battery-empty.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/battery-full.svg b/custom_components/fontawesome/data/solid/battery-full.svg
new file mode 100644
index 0000000..056b818
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/battery-full.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/battery-half.svg b/custom_components/fontawesome/data/solid/battery-half.svg
new file mode 100644
index 0000000..16a8fc3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/battery-half.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/battery-quarter.svg b/custom_components/fontawesome/data/solid/battery-quarter.svg
new file mode 100644
index 0000000..d48ca28
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/battery-quarter.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/battery-three-quarters.svg b/custom_components/fontawesome/data/solid/battery-three-quarters.svg
new file mode 100644
index 0000000..43fc35a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/battery-three-quarters.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bed.svg b/custom_components/fontawesome/data/solid/bed.svg
new file mode 100644
index 0000000..d70b022
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bed.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/beer.svg b/custom_components/fontawesome/data/solid/beer.svg
new file mode 100644
index 0000000..692431b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/beer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bell-slash.svg b/custom_components/fontawesome/data/solid/bell-slash.svg
new file mode 100644
index 0000000..e36f500
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bell-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bell.svg b/custom_components/fontawesome/data/solid/bell.svg
new file mode 100644
index 0000000..e45be58
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bell.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bezier-curve.svg b/custom_components/fontawesome/data/solid/bezier-curve.svg
new file mode 100644
index 0000000..ca10d7a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bezier-curve.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bible.svg b/custom_components/fontawesome/data/solid/bible.svg
new file mode 100644
index 0000000..8c6c953
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bible.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bicycle.svg b/custom_components/fontawesome/data/solid/bicycle.svg
new file mode 100644
index 0000000..4ef7ded
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bicycle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/biking.svg b/custom_components/fontawesome/data/solid/biking.svg
new file mode 100644
index 0000000..8fb1d71
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/biking.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/binoculars.svg b/custom_components/fontawesome/data/solid/binoculars.svg
new file mode 100644
index 0000000..d09ca73
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/binoculars.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/biohazard.svg b/custom_components/fontawesome/data/solid/biohazard.svg
new file mode 100644
index 0000000..fddaee6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/biohazard.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/birthday-cake.svg b/custom_components/fontawesome/data/solid/birthday-cake.svg
new file mode 100644
index 0000000..50e92ae
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/birthday-cake.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/blender-phone.svg b/custom_components/fontawesome/data/solid/blender-phone.svg
new file mode 100644
index 0000000..29733d6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/blender-phone.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/blender.svg b/custom_components/fontawesome/data/solid/blender.svg
new file mode 100644
index 0000000..8357ad2
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/blender.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/blind.svg b/custom_components/fontawesome/data/solid/blind.svg
new file mode 100644
index 0000000..b1eddad
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/blind.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/blog.svg b/custom_components/fontawesome/data/solid/blog.svg
new file mode 100644
index 0000000..c9f8bb5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/blog.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bold.svg b/custom_components/fontawesome/data/solid/bold.svg
new file mode 100644
index 0000000..d21f0d0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bold.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bolt.svg b/custom_components/fontawesome/data/solid/bolt.svg
new file mode 100644
index 0000000..4654a1e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bolt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bomb.svg b/custom_components/fontawesome/data/solid/bomb.svg
new file mode 100644
index 0000000..d7a56f2
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bomb.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bone.svg b/custom_components/fontawesome/data/solid/bone.svg
new file mode 100644
index 0000000..1d43763
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bone.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bong.svg b/custom_components/fontawesome/data/solid/bong.svg
new file mode 100644
index 0000000..e84800c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bong.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/book-dead.svg b/custom_components/fontawesome/data/solid/book-dead.svg
new file mode 100644
index 0000000..76a2ce3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/book-dead.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/book-medical.svg b/custom_components/fontawesome/data/solid/book-medical.svg
new file mode 100644
index 0000000..e3c6c71
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/book-medical.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/book-open.svg b/custom_components/fontawesome/data/solid/book-open.svg
new file mode 100644
index 0000000..342917d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/book-open.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/book-reader.svg b/custom_components/fontawesome/data/solid/book-reader.svg
new file mode 100644
index 0000000..4d39dcb
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/book-reader.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/book.svg b/custom_components/fontawesome/data/solid/book.svg
new file mode 100644
index 0000000..d27fdae
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/book.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bookmark.svg b/custom_components/fontawesome/data/solid/bookmark.svg
new file mode 100644
index 0000000..d1c8e4a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bookmark.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/border-all.svg b/custom_components/fontawesome/data/solid/border-all.svg
new file mode 100644
index 0000000..6e91245
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/border-all.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/border-none.svg b/custom_components/fontawesome/data/solid/border-none.svg
new file mode 100644
index 0000000..b21c8a9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/border-none.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/border-style.svg b/custom_components/fontawesome/data/solid/border-style.svg
new file mode 100644
index 0000000..fdc9a05
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/border-style.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bowling-ball.svg b/custom_components/fontawesome/data/solid/bowling-ball.svg
new file mode 100644
index 0000000..59602f6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bowling-ball.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/box-open.svg b/custom_components/fontawesome/data/solid/box-open.svg
new file mode 100644
index 0000000..0e6242c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/box-open.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/box-tissue.svg b/custom_components/fontawesome/data/solid/box-tissue.svg
new file mode 100644
index 0000000..9ea5c28
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/box-tissue.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/box.svg b/custom_components/fontawesome/data/solid/box.svg
new file mode 100644
index 0000000..6cd0dc1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/box.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/boxes.svg b/custom_components/fontawesome/data/solid/boxes.svg
new file mode 100644
index 0000000..b2da05b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/boxes.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/braille.svg b/custom_components/fontawesome/data/solid/braille.svg
new file mode 100644
index 0000000..08f034f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/braille.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/brain.svg b/custom_components/fontawesome/data/solid/brain.svg
new file mode 100644
index 0000000..dee0d37
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/brain.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bread-slice.svg b/custom_components/fontawesome/data/solid/bread-slice.svg
new file mode 100644
index 0000000..9b62b94
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bread-slice.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/briefcase-medical.svg b/custom_components/fontawesome/data/solid/briefcase-medical.svg
new file mode 100644
index 0000000..f140474
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/briefcase-medical.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/briefcase.svg b/custom_components/fontawesome/data/solid/briefcase.svg
new file mode 100644
index 0000000..8c2882a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/briefcase.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/broadcast-tower.svg b/custom_components/fontawesome/data/solid/broadcast-tower.svg
new file mode 100644
index 0000000..614bc53
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/broadcast-tower.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/broom.svg b/custom_components/fontawesome/data/solid/broom.svg
new file mode 100644
index 0000000..93b43c9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/broom.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/brush.svg b/custom_components/fontawesome/data/solid/brush.svg
new file mode 100644
index 0000000..e42b048
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/brush.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bug.svg b/custom_components/fontawesome/data/solid/bug.svg
new file mode 100644
index 0000000..b918553
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bug.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/building.svg b/custom_components/fontawesome/data/solid/building.svg
new file mode 100644
index 0000000..a109377
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/building.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bullhorn.svg b/custom_components/fontawesome/data/solid/bullhorn.svg
new file mode 100644
index 0000000..9c86370
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bullhorn.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bullseye.svg b/custom_components/fontawesome/data/solid/bullseye.svg
new file mode 100644
index 0000000..ec402e6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bullseye.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/burn.svg b/custom_components/fontawesome/data/solid/burn.svg
new file mode 100644
index 0000000..44183cf
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/burn.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bus-alt.svg b/custom_components/fontawesome/data/solid/bus-alt.svg
new file mode 100644
index 0000000..bfaad72
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bus-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/bus.svg b/custom_components/fontawesome/data/solid/bus.svg
new file mode 100644
index 0000000..040c4a6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/bus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/business-time.svg b/custom_components/fontawesome/data/solid/business-time.svg
new file mode 100644
index 0000000..74b5a1d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/business-time.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/calculator.svg b/custom_components/fontawesome/data/solid/calculator.svg
new file mode 100644
index 0000000..9b367df
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/calculator.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/calendar-alt.svg b/custom_components/fontawesome/data/solid/calendar-alt.svg
new file mode 100644
index 0000000..b07a091
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/calendar-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/calendar-check.svg b/custom_components/fontawesome/data/solid/calendar-check.svg
new file mode 100644
index 0000000..35b590d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/calendar-check.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/calendar-day.svg b/custom_components/fontawesome/data/solid/calendar-day.svg
new file mode 100644
index 0000000..20f9fa0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/calendar-day.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/calendar-minus.svg b/custom_components/fontawesome/data/solid/calendar-minus.svg
new file mode 100644
index 0000000..78b8a3c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/calendar-minus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/calendar-plus.svg b/custom_components/fontawesome/data/solid/calendar-plus.svg
new file mode 100644
index 0000000..5e1b338
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/calendar-plus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/calendar-times.svg b/custom_components/fontawesome/data/solid/calendar-times.svg
new file mode 100644
index 0000000..4db39b2
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/calendar-times.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/calendar-week.svg b/custom_components/fontawesome/data/solid/calendar-week.svg
new file mode 100644
index 0000000..1bb6c94
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/calendar-week.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/calendar.svg b/custom_components/fontawesome/data/solid/calendar.svg
new file mode 100644
index 0000000..2d3eefe
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/calendar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/camera-retro.svg b/custom_components/fontawesome/data/solid/camera-retro.svg
new file mode 100644
index 0000000..67b7cfd
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/camera-retro.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/camera.svg b/custom_components/fontawesome/data/solid/camera.svg
new file mode 100644
index 0000000..dc9f608
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/camera.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/campground.svg b/custom_components/fontawesome/data/solid/campground.svg
new file mode 100644
index 0000000..3971958
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/campground.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/candy-cane.svg b/custom_components/fontawesome/data/solid/candy-cane.svg
new file mode 100644
index 0000000..7e6600a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/candy-cane.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cannabis.svg b/custom_components/fontawesome/data/solid/cannabis.svg
new file mode 100644
index 0000000..20ff4cd
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cannabis.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/capsules.svg b/custom_components/fontawesome/data/solid/capsules.svg
new file mode 100644
index 0000000..20d8cee
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/capsules.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/car-alt.svg b/custom_components/fontawesome/data/solid/car-alt.svg
new file mode 100644
index 0000000..88111cf
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/car-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/car-battery.svg b/custom_components/fontawesome/data/solid/car-battery.svg
new file mode 100644
index 0000000..537e7d2
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/car-battery.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/car-crash.svg b/custom_components/fontawesome/data/solid/car-crash.svg
new file mode 100644
index 0000000..bd9c65c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/car-crash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/car-side.svg b/custom_components/fontawesome/data/solid/car-side.svg
new file mode 100644
index 0000000..9d5ac6c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/car-side.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/car.svg b/custom_components/fontawesome/data/solid/car.svg
new file mode 100644
index 0000000..9b23899
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/car.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/caravan.svg b/custom_components/fontawesome/data/solid/caravan.svg
new file mode 100644
index 0000000..1e80ee0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/caravan.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/caret-down.svg b/custom_components/fontawesome/data/solid/caret-down.svg
new file mode 100644
index 0000000..b3ee2ea
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/caret-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/caret-left.svg b/custom_components/fontawesome/data/solid/caret-left.svg
new file mode 100644
index 0000000..36d7191
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/caret-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/caret-right.svg b/custom_components/fontawesome/data/solid/caret-right.svg
new file mode 100644
index 0000000..bcd4cd1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/caret-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/caret-square-down.svg b/custom_components/fontawesome/data/solid/caret-square-down.svg
new file mode 100644
index 0000000..87a4f7a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/caret-square-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/caret-square-left.svg b/custom_components/fontawesome/data/solid/caret-square-left.svg
new file mode 100644
index 0000000..856dcac
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/caret-square-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/caret-square-right.svg b/custom_components/fontawesome/data/solid/caret-square-right.svg
new file mode 100644
index 0000000..d69ec9f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/caret-square-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/caret-square-up.svg b/custom_components/fontawesome/data/solid/caret-square-up.svg
new file mode 100644
index 0000000..005ea2c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/caret-square-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/caret-up.svg b/custom_components/fontawesome/data/solid/caret-up.svg
new file mode 100644
index 0000000..b4c7e54
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/caret-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/carrot.svg b/custom_components/fontawesome/data/solid/carrot.svg
new file mode 100644
index 0000000..cedac22
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/carrot.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cart-arrow-down.svg b/custom_components/fontawesome/data/solid/cart-arrow-down.svg
new file mode 100644
index 0000000..69e3971
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cart-arrow-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cart-plus.svg b/custom_components/fontawesome/data/solid/cart-plus.svg
new file mode 100644
index 0000000..7f5ab7f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cart-plus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cash-register.svg b/custom_components/fontawesome/data/solid/cash-register.svg
new file mode 100644
index 0000000..eaf65d9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cash-register.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cat.svg b/custom_components/fontawesome/data/solid/cat.svg
new file mode 100644
index 0000000..486bbcc
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cat.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/certificate.svg b/custom_components/fontawesome/data/solid/certificate.svg
new file mode 100644
index 0000000..c57ab13
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/certificate.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chair.svg b/custom_components/fontawesome/data/solid/chair.svg
new file mode 100644
index 0000000..101e5d2
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chair.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chalkboard-teacher.svg b/custom_components/fontawesome/data/solid/chalkboard-teacher.svg
new file mode 100644
index 0000000..ce1d9dc
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chalkboard-teacher.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chalkboard.svg b/custom_components/fontawesome/data/solid/chalkboard.svg
new file mode 100644
index 0000000..6ec7e00
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chalkboard.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/charging-station.svg b/custom_components/fontawesome/data/solid/charging-station.svg
new file mode 100644
index 0000000..2b0997f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/charging-station.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chart-area.svg b/custom_components/fontawesome/data/solid/chart-area.svg
new file mode 100644
index 0000000..47c8862
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chart-area.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chart-bar.svg b/custom_components/fontawesome/data/solid/chart-bar.svg
new file mode 100644
index 0000000..e08c6f7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chart-bar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chart-line.svg b/custom_components/fontawesome/data/solid/chart-line.svg
new file mode 100644
index 0000000..5a0e06f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chart-line.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chart-pie.svg b/custom_components/fontawesome/data/solid/chart-pie.svg
new file mode 100644
index 0000000..e1b476b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chart-pie.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/check-circle.svg b/custom_components/fontawesome/data/solid/check-circle.svg
new file mode 100644
index 0000000..bdda551
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/check-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/check-double.svg b/custom_components/fontawesome/data/solid/check-double.svg
new file mode 100644
index 0000000..ecfd082
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/check-double.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/check-square.svg b/custom_components/fontawesome/data/solid/check-square.svg
new file mode 100644
index 0000000..4ea6964
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/check-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/check.svg b/custom_components/fontawesome/data/solid/check.svg
new file mode 100644
index 0000000..2ec27cf
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/check.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cheese.svg b/custom_components/fontawesome/data/solid/cheese.svg
new file mode 100644
index 0000000..8ffcac4
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cheese.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chess-bishop.svg b/custom_components/fontawesome/data/solid/chess-bishop.svg
new file mode 100644
index 0000000..1016f12
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chess-bishop.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chess-board.svg b/custom_components/fontawesome/data/solid/chess-board.svg
new file mode 100644
index 0000000..8f30ead
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chess-board.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chess-king.svg b/custom_components/fontawesome/data/solid/chess-king.svg
new file mode 100644
index 0000000..35b0b34
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chess-king.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chess-knight.svg b/custom_components/fontawesome/data/solid/chess-knight.svg
new file mode 100644
index 0000000..390cddf
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chess-knight.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chess-pawn.svg b/custom_components/fontawesome/data/solid/chess-pawn.svg
new file mode 100644
index 0000000..d56f83e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chess-pawn.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chess-queen.svg b/custom_components/fontawesome/data/solid/chess-queen.svg
new file mode 100644
index 0000000..fcc0934
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chess-queen.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chess-rook.svg b/custom_components/fontawesome/data/solid/chess-rook.svg
new file mode 100644
index 0000000..f279758
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chess-rook.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chess.svg b/custom_components/fontawesome/data/solid/chess.svg
new file mode 100644
index 0000000..e46c64d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chess.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chevron-circle-down.svg b/custom_components/fontawesome/data/solid/chevron-circle-down.svg
new file mode 100644
index 0000000..4be7cea
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chevron-circle-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chevron-circle-left.svg b/custom_components/fontawesome/data/solid/chevron-circle-left.svg
new file mode 100644
index 0000000..60b5ac6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chevron-circle-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chevron-circle-right.svg b/custom_components/fontawesome/data/solid/chevron-circle-right.svg
new file mode 100644
index 0000000..93350ee
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chevron-circle-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chevron-circle-up.svg b/custom_components/fontawesome/data/solid/chevron-circle-up.svg
new file mode 100644
index 0000000..d973a5d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chevron-circle-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chevron-down.svg b/custom_components/fontawesome/data/solid/chevron-down.svg
new file mode 100644
index 0000000..5962e89
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chevron-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chevron-left.svg b/custom_components/fontawesome/data/solid/chevron-left.svg
new file mode 100644
index 0000000..c2dcbcc
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chevron-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chevron-right.svg b/custom_components/fontawesome/data/solid/chevron-right.svg
new file mode 100644
index 0000000..6d3e119
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chevron-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/chevron-up.svg b/custom_components/fontawesome/data/solid/chevron-up.svg
new file mode 100644
index 0000000..a38c372
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/chevron-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/child.svg b/custom_components/fontawesome/data/solid/child.svg
new file mode 100644
index 0000000..8bbc718
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/child.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/church.svg b/custom_components/fontawesome/data/solid/church.svg
new file mode 100644
index 0000000..ffe29d9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/church.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/circle-notch.svg b/custom_components/fontawesome/data/solid/circle-notch.svg
new file mode 100644
index 0000000..3cc8c0b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/circle-notch.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/circle.svg b/custom_components/fontawesome/data/solid/circle.svg
new file mode 100644
index 0000000..c2db0b2
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/city.svg b/custom_components/fontawesome/data/solid/city.svg
new file mode 100644
index 0000000..a27d311
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/city.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/clinic-medical.svg b/custom_components/fontawesome/data/solid/clinic-medical.svg
new file mode 100644
index 0000000..efec191
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/clinic-medical.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/clipboard-check.svg b/custom_components/fontawesome/data/solid/clipboard-check.svg
new file mode 100644
index 0000000..3cdd41e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/clipboard-check.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/clipboard-list.svg b/custom_components/fontawesome/data/solid/clipboard-list.svg
new file mode 100644
index 0000000..f8421f0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/clipboard-list.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/clipboard.svg b/custom_components/fontawesome/data/solid/clipboard.svg
new file mode 100644
index 0000000..1980a2b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/clipboard.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/clock.svg b/custom_components/fontawesome/data/solid/clock.svg
new file mode 100644
index 0000000..91a5bc6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/clock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/clone.svg b/custom_components/fontawesome/data/solid/clone.svg
new file mode 100644
index 0000000..0f40db0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/clone.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/closed-captioning.svg b/custom_components/fontawesome/data/solid/closed-captioning.svg
new file mode 100644
index 0000000..f0c68d0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/closed-captioning.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cloud-download-alt.svg b/custom_components/fontawesome/data/solid/cloud-download-alt.svg
new file mode 100644
index 0000000..3cd62ac
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cloud-download-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cloud-meatball.svg b/custom_components/fontawesome/data/solid/cloud-meatball.svg
new file mode 100644
index 0000000..fe0a3a9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cloud-meatball.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cloud-moon-rain.svg b/custom_components/fontawesome/data/solid/cloud-moon-rain.svg
new file mode 100644
index 0000000..dc164ec
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cloud-moon-rain.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cloud-moon.svg b/custom_components/fontawesome/data/solid/cloud-moon.svg
new file mode 100644
index 0000000..2caccfb
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cloud-moon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cloud-rain.svg b/custom_components/fontawesome/data/solid/cloud-rain.svg
new file mode 100644
index 0000000..766e9ae
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cloud-rain.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cloud-showers-heavy.svg b/custom_components/fontawesome/data/solid/cloud-showers-heavy.svg
new file mode 100644
index 0000000..9b6d5b6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cloud-showers-heavy.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cloud-sun-rain.svg b/custom_components/fontawesome/data/solid/cloud-sun-rain.svg
new file mode 100644
index 0000000..eedd183
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cloud-sun-rain.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cloud-sun.svg b/custom_components/fontawesome/data/solid/cloud-sun.svg
new file mode 100644
index 0000000..e4afd9f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cloud-sun.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cloud-upload-alt.svg b/custom_components/fontawesome/data/solid/cloud-upload-alt.svg
new file mode 100644
index 0000000..8cf98e9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cloud-upload-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cloud.svg b/custom_components/fontawesome/data/solid/cloud.svg
new file mode 100644
index 0000000..38d2dc5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cloud.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cocktail.svg b/custom_components/fontawesome/data/solid/cocktail.svg
new file mode 100644
index 0000000..b630000
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cocktail.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/code-branch.svg b/custom_components/fontawesome/data/solid/code-branch.svg
new file mode 100644
index 0000000..0f33c5c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/code-branch.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/code.svg b/custom_components/fontawesome/data/solid/code.svg
new file mode 100644
index 0000000..ea8da70
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/code.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/coffee.svg b/custom_components/fontawesome/data/solid/coffee.svg
new file mode 100644
index 0000000..af4c024
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/coffee.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cog.svg b/custom_components/fontawesome/data/solid/cog.svg
new file mode 100644
index 0000000..fb5bd35
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cog.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cogs.svg b/custom_components/fontawesome/data/solid/cogs.svg
new file mode 100644
index 0000000..c016886
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cogs.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/coins.svg b/custom_components/fontawesome/data/solid/coins.svg
new file mode 100644
index 0000000..511b033
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/coins.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/columns.svg b/custom_components/fontawesome/data/solid/columns.svg
new file mode 100644
index 0000000..84ec2a0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/columns.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/comment-alt.svg b/custom_components/fontawesome/data/solid/comment-alt.svg
new file mode 100644
index 0000000..5d81f79
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/comment-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/comment-dollar.svg b/custom_components/fontawesome/data/solid/comment-dollar.svg
new file mode 100644
index 0000000..c77a6f0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/comment-dollar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/comment-dots.svg b/custom_components/fontawesome/data/solid/comment-dots.svg
new file mode 100644
index 0000000..5866e41
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/comment-dots.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/comment-medical.svg b/custom_components/fontawesome/data/solid/comment-medical.svg
new file mode 100644
index 0000000..8bb1e33
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/comment-medical.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/comment-slash.svg b/custom_components/fontawesome/data/solid/comment-slash.svg
new file mode 100644
index 0000000..b4b826f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/comment-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/comment.svg b/custom_components/fontawesome/data/solid/comment.svg
new file mode 100644
index 0000000..f633283
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/comment.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/comments-dollar.svg b/custom_components/fontawesome/data/solid/comments-dollar.svg
new file mode 100644
index 0000000..aacfa19
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/comments-dollar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/comments.svg b/custom_components/fontawesome/data/solid/comments.svg
new file mode 100644
index 0000000..2ea7897
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/comments.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/compact-disc.svg b/custom_components/fontawesome/data/solid/compact-disc.svg
new file mode 100644
index 0000000..7a583fc
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/compact-disc.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/compass.svg b/custom_components/fontawesome/data/solid/compass.svg
new file mode 100644
index 0000000..e7f9cb9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/compass.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/compress-alt.svg b/custom_components/fontawesome/data/solid/compress-alt.svg
new file mode 100644
index 0000000..cdb1536
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/compress-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/compress-arrows-alt.svg b/custom_components/fontawesome/data/solid/compress-arrows-alt.svg
new file mode 100644
index 0000000..c06ee8f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/compress-arrows-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/compress.svg b/custom_components/fontawesome/data/solid/compress.svg
new file mode 100644
index 0000000..f2faafb
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/compress.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/concierge-bell.svg b/custom_components/fontawesome/data/solid/concierge-bell.svg
new file mode 100644
index 0000000..91d12a6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/concierge-bell.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cookie-bite.svg b/custom_components/fontawesome/data/solid/cookie-bite.svg
new file mode 100644
index 0000000..42d5661
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cookie-bite.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cookie.svg b/custom_components/fontawesome/data/solid/cookie.svg
new file mode 100644
index 0000000..06ab745
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cookie.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/copy.svg b/custom_components/fontawesome/data/solid/copy.svg
new file mode 100644
index 0000000..02534e7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/copy.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/copyright.svg b/custom_components/fontawesome/data/solid/copyright.svg
new file mode 100644
index 0000000..eb5d4c6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/copyright.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/couch.svg b/custom_components/fontawesome/data/solid/couch.svg
new file mode 100644
index 0000000..ba8c3ff
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/couch.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/credit-card.svg b/custom_components/fontawesome/data/solid/credit-card.svg
new file mode 100644
index 0000000..676d358
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/credit-card.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/crop-alt.svg b/custom_components/fontawesome/data/solid/crop-alt.svg
new file mode 100644
index 0000000..aa7438e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/crop-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/crop.svg b/custom_components/fontawesome/data/solid/crop.svg
new file mode 100644
index 0000000..5bd06a9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/crop.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cross.svg b/custom_components/fontawesome/data/solid/cross.svg
new file mode 100644
index 0000000..86113de
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cross.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/crosshairs.svg b/custom_components/fontawesome/data/solid/crosshairs.svg
new file mode 100644
index 0000000..60acd3e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/crosshairs.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/crow.svg b/custom_components/fontawesome/data/solid/crow.svg
new file mode 100644
index 0000000..de91410
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/crow.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/crown.svg b/custom_components/fontawesome/data/solid/crown.svg
new file mode 100644
index 0000000..03b1f19
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/crown.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/crutch.svg b/custom_components/fontawesome/data/solid/crutch.svg
new file mode 100644
index 0000000..a32ba7e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/crutch.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cube.svg b/custom_components/fontawesome/data/solid/cube.svg
new file mode 100644
index 0000000..a627fd5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cube.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cubes.svg b/custom_components/fontawesome/data/solid/cubes.svg
new file mode 100644
index 0000000..208f688
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cubes.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/cut.svg b/custom_components/fontawesome/data/solid/cut.svg
new file mode 100644
index 0000000..4f626aa
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/cut.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/database.svg b/custom_components/fontawesome/data/solid/database.svg
new file mode 100644
index 0000000..a6e4982
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/database.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/deaf.svg b/custom_components/fontawesome/data/solid/deaf.svg
new file mode 100644
index 0000000..25a7a86
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/deaf.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/democrat.svg b/custom_components/fontawesome/data/solid/democrat.svg
new file mode 100644
index 0000000..5cde060
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/democrat.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/desktop.svg b/custom_components/fontawesome/data/solid/desktop.svg
new file mode 100644
index 0000000..bba157e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/desktop.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dharmachakra.svg b/custom_components/fontawesome/data/solid/dharmachakra.svg
new file mode 100644
index 0000000..6838379
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dharmachakra.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/diagnoses.svg b/custom_components/fontawesome/data/solid/diagnoses.svg
new file mode 100644
index 0000000..8f56e24
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/diagnoses.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dice-d20.svg b/custom_components/fontawesome/data/solid/dice-d20.svg
new file mode 100644
index 0000000..085e3f0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dice-d20.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dice-d6.svg b/custom_components/fontawesome/data/solid/dice-d6.svg
new file mode 100644
index 0000000..b1d270a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dice-d6.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dice-five.svg b/custom_components/fontawesome/data/solid/dice-five.svg
new file mode 100644
index 0000000..7fd8c1d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dice-five.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dice-four.svg b/custom_components/fontawesome/data/solid/dice-four.svg
new file mode 100644
index 0000000..9cd681b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dice-four.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dice-one.svg b/custom_components/fontawesome/data/solid/dice-one.svg
new file mode 100644
index 0000000..e5d3b5e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dice-one.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dice-six.svg b/custom_components/fontawesome/data/solid/dice-six.svg
new file mode 100644
index 0000000..c1ed7cf
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dice-six.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dice-three.svg b/custom_components/fontawesome/data/solid/dice-three.svg
new file mode 100644
index 0000000..c035c80
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dice-three.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dice-two.svg b/custom_components/fontawesome/data/solid/dice-two.svg
new file mode 100644
index 0000000..d6528d7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dice-two.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dice.svg b/custom_components/fontawesome/data/solid/dice.svg
new file mode 100644
index 0000000..da8a812
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dice.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/digital-tachograph.svg b/custom_components/fontawesome/data/solid/digital-tachograph.svg
new file mode 100644
index 0000000..65f4a02
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/digital-tachograph.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/directions.svg b/custom_components/fontawesome/data/solid/directions.svg
new file mode 100644
index 0000000..aa23106
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/directions.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/disease.svg b/custom_components/fontawesome/data/solid/disease.svg
new file mode 100644
index 0000000..043d7c6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/disease.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/divide.svg b/custom_components/fontawesome/data/solid/divide.svg
new file mode 100644
index 0000000..cb6d8b6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/divide.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dizzy.svg b/custom_components/fontawesome/data/solid/dizzy.svg
new file mode 100644
index 0000000..d1b5246
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dizzy.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dna.svg b/custom_components/fontawesome/data/solid/dna.svg
new file mode 100644
index 0000000..81cddb6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dna.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dog.svg b/custom_components/fontawesome/data/solid/dog.svg
new file mode 100644
index 0000000..c3a9f63
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dog.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dollar-sign.svg b/custom_components/fontawesome/data/solid/dollar-sign.svg
new file mode 100644
index 0000000..23cf691
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dollar-sign.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dolly-flatbed.svg b/custom_components/fontawesome/data/solid/dolly-flatbed.svg
new file mode 100644
index 0000000..bb20bde
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dolly-flatbed.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dolly.svg b/custom_components/fontawesome/data/solid/dolly.svg
new file mode 100644
index 0000000..0fe3a51
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dolly.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/donate.svg b/custom_components/fontawesome/data/solid/donate.svg
new file mode 100644
index 0000000..bacf83e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/donate.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/door-closed.svg b/custom_components/fontawesome/data/solid/door-closed.svg
new file mode 100644
index 0000000..00add34
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/door-closed.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/door-open.svg b/custom_components/fontawesome/data/solid/door-open.svg
new file mode 100644
index 0000000..e246f1f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/door-open.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dot-circle.svg b/custom_components/fontawesome/data/solid/dot-circle.svg
new file mode 100644
index 0000000..5cb222d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dot-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dove.svg b/custom_components/fontawesome/data/solid/dove.svg
new file mode 100644
index 0000000..8613902
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dove.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/download.svg b/custom_components/fontawesome/data/solid/download.svg
new file mode 100644
index 0000000..da5eec4
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/download.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/drafting-compass.svg b/custom_components/fontawesome/data/solid/drafting-compass.svg
new file mode 100644
index 0000000..c2834ad
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/drafting-compass.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dragon.svg b/custom_components/fontawesome/data/solid/dragon.svg
new file mode 100644
index 0000000..c8ed5eb
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dragon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/draw-polygon.svg b/custom_components/fontawesome/data/solid/draw-polygon.svg
new file mode 100644
index 0000000..99cd999
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/draw-polygon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/drum-steelpan.svg b/custom_components/fontawesome/data/solid/drum-steelpan.svg
new file mode 100644
index 0000000..c4b12b4
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/drum-steelpan.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/drum.svg b/custom_components/fontawesome/data/solid/drum.svg
new file mode 100644
index 0000000..e2ba640
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/drum.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/drumstick-bite.svg b/custom_components/fontawesome/data/solid/drumstick-bite.svg
new file mode 100644
index 0000000..162f621
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/drumstick-bite.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dumbbell.svg b/custom_components/fontawesome/data/solid/dumbbell.svg
new file mode 100644
index 0000000..2fe1667
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dumbbell.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dumpster-fire.svg b/custom_components/fontawesome/data/solid/dumpster-fire.svg
new file mode 100644
index 0000000..9bd654f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dumpster-fire.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dumpster.svg b/custom_components/fontawesome/data/solid/dumpster.svg
new file mode 100644
index 0000000..74cdd3f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dumpster.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/dungeon.svg b/custom_components/fontawesome/data/solid/dungeon.svg
new file mode 100644
index 0000000..a367bf4
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/dungeon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/edit.svg b/custom_components/fontawesome/data/solid/edit.svg
new file mode 100644
index 0000000..2313feb
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/edit.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/egg.svg b/custom_components/fontawesome/data/solid/egg.svg
new file mode 100644
index 0000000..804ac67
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/egg.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/eject.svg b/custom_components/fontawesome/data/solid/eject.svg
new file mode 100644
index 0000000..d240b0d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/eject.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ellipsis-h.svg b/custom_components/fontawesome/data/solid/ellipsis-h.svg
new file mode 100644
index 0000000..70748ad
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ellipsis-h.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ellipsis-v.svg b/custom_components/fontawesome/data/solid/ellipsis-v.svg
new file mode 100644
index 0000000..e8e713a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ellipsis-v.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/envelope-open-text.svg b/custom_components/fontawesome/data/solid/envelope-open-text.svg
new file mode 100644
index 0000000..821168c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/envelope-open-text.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/envelope-open.svg b/custom_components/fontawesome/data/solid/envelope-open.svg
new file mode 100644
index 0000000..947ae25
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/envelope-open.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/envelope-square.svg b/custom_components/fontawesome/data/solid/envelope-square.svg
new file mode 100644
index 0000000..c35055f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/envelope-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/envelope.svg b/custom_components/fontawesome/data/solid/envelope.svg
new file mode 100644
index 0000000..edbcad3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/envelope.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/equals.svg b/custom_components/fontawesome/data/solid/equals.svg
new file mode 100644
index 0000000..9dcbfdb
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/equals.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/eraser.svg b/custom_components/fontawesome/data/solid/eraser.svg
new file mode 100644
index 0000000..1ba581e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/eraser.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ethernet.svg b/custom_components/fontawesome/data/solid/ethernet.svg
new file mode 100644
index 0000000..2b391a3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ethernet.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/euro-sign.svg b/custom_components/fontawesome/data/solid/euro-sign.svg
new file mode 100644
index 0000000..fd18c90
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/euro-sign.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/exchange-alt.svg b/custom_components/fontawesome/data/solid/exchange-alt.svg
new file mode 100644
index 0000000..b22538a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/exchange-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/exclamation-circle.svg b/custom_components/fontawesome/data/solid/exclamation-circle.svg
new file mode 100644
index 0000000..1659303
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/exclamation-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/exclamation-triangle.svg b/custom_components/fontawesome/data/solid/exclamation-triangle.svg
new file mode 100644
index 0000000..2ab5327
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/exclamation-triangle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/exclamation.svg b/custom_components/fontawesome/data/solid/exclamation.svg
new file mode 100644
index 0000000..89ef11a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/exclamation.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/expand-alt.svg b/custom_components/fontawesome/data/solid/expand-alt.svg
new file mode 100644
index 0000000..05eb259
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/expand-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/expand-arrows-alt.svg b/custom_components/fontawesome/data/solid/expand-arrows-alt.svg
new file mode 100644
index 0000000..c08ecff
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/expand-arrows-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/expand.svg b/custom_components/fontawesome/data/solid/expand.svg
new file mode 100644
index 0000000..e8f812d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/expand.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/external-link-alt.svg b/custom_components/fontawesome/data/solid/external-link-alt.svg
new file mode 100644
index 0000000..859914b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/external-link-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/external-link-square-alt.svg b/custom_components/fontawesome/data/solid/external-link-square-alt.svg
new file mode 100644
index 0000000..099977b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/external-link-square-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/eye-dropper.svg b/custom_components/fontawesome/data/solid/eye-dropper.svg
new file mode 100644
index 0000000..51c3453
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/eye-dropper.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/eye-slash.svg b/custom_components/fontawesome/data/solid/eye-slash.svg
new file mode 100644
index 0000000..7685eca
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/eye-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/eye.svg b/custom_components/fontawesome/data/solid/eye.svg
new file mode 100644
index 0000000..477e9ed
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/eye.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/fan.svg b/custom_components/fontawesome/data/solid/fan.svg
new file mode 100644
index 0000000..7cca187
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/fan.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/fast-backward.svg b/custom_components/fontawesome/data/solid/fast-backward.svg
new file mode 100644
index 0000000..dfe10e5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/fast-backward.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/fast-forward.svg b/custom_components/fontawesome/data/solid/fast-forward.svg
new file mode 100644
index 0000000..57c072a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/fast-forward.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/faucet.svg b/custom_components/fontawesome/data/solid/faucet.svg
new file mode 100644
index 0000000..18e922a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/faucet.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/fax.svg b/custom_components/fontawesome/data/solid/fax.svg
new file mode 100644
index 0000000..9c9cc82
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/fax.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/feather-alt.svg b/custom_components/fontawesome/data/solid/feather-alt.svg
new file mode 100644
index 0000000..a04ebbd
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/feather-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/feather.svg b/custom_components/fontawesome/data/solid/feather.svg
new file mode 100644
index 0000000..bbdb934
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/feather.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/female.svg b/custom_components/fontawesome/data/solid/female.svg
new file mode 100644
index 0000000..9bfc7ad
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/female.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/fighter-jet.svg b/custom_components/fontawesome/data/solid/fighter-jet.svg
new file mode 100644
index 0000000..3fdfe2d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/fighter-jet.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-alt.svg b/custom_components/fontawesome/data/solid/file-alt.svg
new file mode 100644
index 0000000..e1f980c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-archive.svg b/custom_components/fontawesome/data/solid/file-archive.svg
new file mode 100644
index 0000000..7c60e72
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-archive.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-audio.svg b/custom_components/fontawesome/data/solid/file-audio.svg
new file mode 100644
index 0000000..c491a45
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-audio.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-code.svg b/custom_components/fontawesome/data/solid/file-code.svg
new file mode 100644
index 0000000..4036f53
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-code.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-contract.svg b/custom_components/fontawesome/data/solid/file-contract.svg
new file mode 100644
index 0000000..d8b2bd6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-contract.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-csv.svg b/custom_components/fontawesome/data/solid/file-csv.svg
new file mode 100644
index 0000000..7b0d273
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-csv.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-download.svg b/custom_components/fontawesome/data/solid/file-download.svg
new file mode 100644
index 0000000..b0dfa46
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-download.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-excel.svg b/custom_components/fontawesome/data/solid/file-excel.svg
new file mode 100644
index 0000000..62cec9d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-excel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-export.svg b/custom_components/fontawesome/data/solid/file-export.svg
new file mode 100644
index 0000000..1590d5d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-export.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-image.svg b/custom_components/fontawesome/data/solid/file-image.svg
new file mode 100644
index 0000000..6c87c8c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-image.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-import.svg b/custom_components/fontawesome/data/solid/file-import.svg
new file mode 100644
index 0000000..a89e8ea
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-import.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-invoice-dollar.svg b/custom_components/fontawesome/data/solid/file-invoice-dollar.svg
new file mode 100644
index 0000000..39184ce
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-invoice-dollar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-invoice.svg b/custom_components/fontawesome/data/solid/file-invoice.svg
new file mode 100644
index 0000000..5f5b241
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-invoice.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-medical-alt.svg b/custom_components/fontawesome/data/solid/file-medical-alt.svg
new file mode 100644
index 0000000..0c0699c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-medical-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-medical.svg b/custom_components/fontawesome/data/solid/file-medical.svg
new file mode 100644
index 0000000..748bf58
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-medical.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-pdf.svg b/custom_components/fontawesome/data/solid/file-pdf.svg
new file mode 100644
index 0000000..9782667
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-pdf.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-powerpoint.svg b/custom_components/fontawesome/data/solid/file-powerpoint.svg
new file mode 100644
index 0000000..bd26fb9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-powerpoint.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-prescription.svg b/custom_components/fontawesome/data/solid/file-prescription.svg
new file mode 100644
index 0000000..563292b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-prescription.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-signature.svg b/custom_components/fontawesome/data/solid/file-signature.svg
new file mode 100644
index 0000000..6b27b14
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-signature.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-upload.svg b/custom_components/fontawesome/data/solid/file-upload.svg
new file mode 100644
index 0000000..49b0a88
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-upload.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-video.svg b/custom_components/fontawesome/data/solid/file-video.svg
new file mode 100644
index 0000000..8de9f6c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-video.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file-word.svg b/custom_components/fontawesome/data/solid/file-word.svg
new file mode 100644
index 0000000..f484a94
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file-word.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/file.svg b/custom_components/fontawesome/data/solid/file.svg
new file mode 100644
index 0000000..7f495dc
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/file.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/fill-drip.svg b/custom_components/fontawesome/data/solid/fill-drip.svg
new file mode 100644
index 0000000..74346b5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/fill-drip.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/fill.svg b/custom_components/fontawesome/data/solid/fill.svg
new file mode 100644
index 0000000..b7bf405
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/film.svg b/custom_components/fontawesome/data/solid/film.svg
new file mode 100644
index 0000000..f120aee
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/film.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/filter.svg b/custom_components/fontawesome/data/solid/filter.svg
new file mode 100644
index 0000000..95861a3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/filter.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/fingerprint.svg b/custom_components/fontawesome/data/solid/fingerprint.svg
new file mode 100644
index 0000000..f05ea37
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/fingerprint.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/fire-alt.svg b/custom_components/fontawesome/data/solid/fire-alt.svg
new file mode 100644
index 0000000..d876630
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/fire-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/fire-extinguisher.svg b/custom_components/fontawesome/data/solid/fire-extinguisher.svg
new file mode 100644
index 0000000..2bd8738
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/fire-extinguisher.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/fire.svg b/custom_components/fontawesome/data/solid/fire.svg
new file mode 100644
index 0000000..5ab3fa8
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/fire.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/first-aid.svg b/custom_components/fontawesome/data/solid/first-aid.svg
new file mode 100644
index 0000000..43fd522
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/first-aid.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/fish.svg b/custom_components/fontawesome/data/solid/fish.svg
new file mode 100644
index 0000000..8312ff5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/fish.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/fist-raised.svg b/custom_components/fontawesome/data/solid/fist-raised.svg
new file mode 100644
index 0000000..27c7770
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/fist-raised.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/flag-checkered.svg b/custom_components/fontawesome/data/solid/flag-checkered.svg
new file mode 100644
index 0000000..acb3406
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/flag-checkered.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/flag-usa.svg b/custom_components/fontawesome/data/solid/flag-usa.svg
new file mode 100644
index 0000000..7cb1a62
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/flag-usa.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/flag.svg b/custom_components/fontawesome/data/solid/flag.svg
new file mode 100644
index 0000000..eb95c9c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/flag.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/flask.svg b/custom_components/fontawesome/data/solid/flask.svg
new file mode 100644
index 0000000..c30929a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/flask.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/flushed.svg b/custom_components/fontawesome/data/solid/flushed.svg
new file mode 100644
index 0000000..1e6e1c9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/flushed.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/folder-minus.svg b/custom_components/fontawesome/data/solid/folder-minus.svg
new file mode 100644
index 0000000..4e554e0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/folder-minus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/folder-open.svg b/custom_components/fontawesome/data/solid/folder-open.svg
new file mode 100644
index 0000000..57dcfa6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/folder-open.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/folder-plus.svg b/custom_components/fontawesome/data/solid/folder-plus.svg
new file mode 100644
index 0000000..5aaba5d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/folder-plus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/folder.svg b/custom_components/fontawesome/data/solid/folder.svg
new file mode 100644
index 0000000..c960768
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/folder.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/font-awesome-logo-full.svg b/custom_components/fontawesome/data/solid/font-awesome-logo-full.svg
new file mode 100644
index 0000000..06b75a4
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/font-awesome-logo-full.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/font.svg b/custom_components/fontawesome/data/solid/font.svg
new file mode 100644
index 0000000..a9f2a7a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/font.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/football-ball.svg b/custom_components/fontawesome/data/solid/football-ball.svg
new file mode 100644
index 0000000..260c291
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/football-ball.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/forward.svg b/custom_components/fontawesome/data/solid/forward.svg
new file mode 100644
index 0000000..5349d49
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/forward.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/frog.svg b/custom_components/fontawesome/data/solid/frog.svg
new file mode 100644
index 0000000..96a9ea9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/frog.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/frown-open.svg b/custom_components/fontawesome/data/solid/frown-open.svg
new file mode 100644
index 0000000..dac5ca2
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/frown-open.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/frown.svg b/custom_components/fontawesome/data/solid/frown.svg
new file mode 100644
index 0000000..8207b8d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/frown.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/funnel-dollar.svg b/custom_components/fontawesome/data/solid/funnel-dollar.svg
new file mode 100644
index 0000000..d5970e1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/funnel-dollar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/futbol.svg b/custom_components/fontawesome/data/solid/futbol.svg
new file mode 100644
index 0000000..936fcad
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/futbol.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/gamepad.svg b/custom_components/fontawesome/data/solid/gamepad.svg
new file mode 100644
index 0000000..a1d2c13
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/gamepad.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/gas-pump.svg b/custom_components/fontawesome/data/solid/gas-pump.svg
new file mode 100644
index 0000000..0a38995
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/gas-pump.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/gavel.svg b/custom_components/fontawesome/data/solid/gavel.svg
new file mode 100644
index 0000000..c68ac7c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/gavel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/gem.svg b/custom_components/fontawesome/data/solid/gem.svg
new file mode 100644
index 0000000..6172b87
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/gem.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/genderless.svg b/custom_components/fontawesome/data/solid/genderless.svg
new file mode 100644
index 0000000..9c92867
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/genderless.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ghost.svg b/custom_components/fontawesome/data/solid/ghost.svg
new file mode 100644
index 0000000..91b2405
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ghost.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/gift.svg b/custom_components/fontawesome/data/solid/gift.svg
new file mode 100644
index 0000000..d3c1349
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/gift.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/gifts.svg b/custom_components/fontawesome/data/solid/gifts.svg
new file mode 100644
index 0000000..e132b64
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/gifts.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/glass-cheers.svg b/custom_components/fontawesome/data/solid/glass-cheers.svg
new file mode 100644
index 0000000..0f8de5a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/glass-cheers.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/glass-martini-alt.svg b/custom_components/fontawesome/data/solid/glass-martini-alt.svg
new file mode 100644
index 0000000..dc4aa9c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/glass-martini-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/glass-martini.svg b/custom_components/fontawesome/data/solid/glass-martini.svg
new file mode 100644
index 0000000..283c3c6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/glass-martini.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/glass-whiskey.svg b/custom_components/fontawesome/data/solid/glass-whiskey.svg
new file mode 100644
index 0000000..27b2953
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/glass-whiskey.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/glasses.svg b/custom_components/fontawesome/data/solid/glasses.svg
new file mode 100644
index 0000000..8b207a9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/glasses.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/globe-africa.svg b/custom_components/fontawesome/data/solid/globe-africa.svg
new file mode 100644
index 0000000..50009fe
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/globe-africa.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/globe-americas.svg b/custom_components/fontawesome/data/solid/globe-americas.svg
new file mode 100644
index 0000000..3e4462e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/globe-americas.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/globe-asia.svg b/custom_components/fontawesome/data/solid/globe-asia.svg
new file mode 100644
index 0000000..5a16017
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/globe-asia.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/globe-europe.svg b/custom_components/fontawesome/data/solid/globe-europe.svg
new file mode 100644
index 0000000..5982330
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/globe-europe.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/globe.svg b/custom_components/fontawesome/data/solid/globe.svg
new file mode 100644
index 0000000..93b6178
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/globe.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/golf-ball.svg b/custom_components/fontawesome/data/solid/golf-ball.svg
new file mode 100644
index 0000000..9e87e82
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/golf-ball.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/gopuram.svg b/custom_components/fontawesome/data/solid/gopuram.svg
new file mode 100644
index 0000000..efe3a7c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/gopuram.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/graduation-cap.svg b/custom_components/fontawesome/data/solid/graduation-cap.svg
new file mode 100644
index 0000000..101c331
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/graduation-cap.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/greater-than-equal.svg b/custom_components/fontawesome/data/solid/greater-than-equal.svg
new file mode 100644
index 0000000..1c071f5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/greater-than-equal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/greater-than.svg b/custom_components/fontawesome/data/solid/greater-than.svg
new file mode 100644
index 0000000..e4e3390
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/greater-than.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grimace.svg b/custom_components/fontawesome/data/solid/grimace.svg
new file mode 100644
index 0000000..dda0b7b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grimace.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grin-alt.svg b/custom_components/fontawesome/data/solid/grin-alt.svg
new file mode 100644
index 0000000..c400d4d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grin-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grin-beam-sweat.svg b/custom_components/fontawesome/data/solid/grin-beam-sweat.svg
new file mode 100644
index 0000000..1e10965
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grin-beam-sweat.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grin-beam.svg b/custom_components/fontawesome/data/solid/grin-beam.svg
new file mode 100644
index 0000000..cfde54a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grin-beam.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grin-hearts.svg b/custom_components/fontawesome/data/solid/grin-hearts.svg
new file mode 100644
index 0000000..eae2d18
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grin-hearts.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grin-squint-tears.svg b/custom_components/fontawesome/data/solid/grin-squint-tears.svg
new file mode 100644
index 0000000..39073b7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grin-squint-tears.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grin-squint.svg b/custom_components/fontawesome/data/solid/grin-squint.svg
new file mode 100644
index 0000000..de54800
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grin-squint.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grin-stars.svg b/custom_components/fontawesome/data/solid/grin-stars.svg
new file mode 100644
index 0000000..a6432aa
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grin-stars.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grin-tears.svg b/custom_components/fontawesome/data/solid/grin-tears.svg
new file mode 100644
index 0000000..1413617
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grin-tears.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grin-tongue-squint.svg b/custom_components/fontawesome/data/solid/grin-tongue-squint.svg
new file mode 100644
index 0000000..c903494
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grin-tongue-squint.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grin-tongue-wink.svg b/custom_components/fontawesome/data/solid/grin-tongue-wink.svg
new file mode 100644
index 0000000..49beb84
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grin-tongue-wink.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grin-tongue.svg b/custom_components/fontawesome/data/solid/grin-tongue.svg
new file mode 100644
index 0000000..6aff145
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grin-tongue.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grin-wink.svg b/custom_components/fontawesome/data/solid/grin-wink.svg
new file mode 100644
index 0000000..4c8ed97
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grin-wink.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grin.svg b/custom_components/fontawesome/data/solid/grin.svg
new file mode 100644
index 0000000..4ba985a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grip-horizontal.svg b/custom_components/fontawesome/data/solid/grip-horizontal.svg
new file mode 100644
index 0000000..bb19ff3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grip-horizontal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grip-lines-vertical.svg b/custom_components/fontawesome/data/solid/grip-lines-vertical.svg
new file mode 100644
index 0000000..92feba8
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grip-lines-vertical.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grip-lines.svg b/custom_components/fontawesome/data/solid/grip-lines.svg
new file mode 100644
index 0000000..6fb9ce7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grip-lines.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/grip-vertical.svg b/custom_components/fontawesome/data/solid/grip-vertical.svg
new file mode 100644
index 0000000..a383a43
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/grip-vertical.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/guitar.svg b/custom_components/fontawesome/data/solid/guitar.svg
new file mode 100644
index 0000000..db1f699
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/guitar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/h-square.svg b/custom_components/fontawesome/data/solid/h-square.svg
new file mode 100644
index 0000000..0b85e28
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/h-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hamburger.svg b/custom_components/fontawesome/data/solid/hamburger.svg
new file mode 100644
index 0000000..897f38d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hamburger.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hammer.svg b/custom_components/fontawesome/data/solid/hammer.svg
new file mode 100644
index 0000000..78df6b4
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hammer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hamsa.svg b/custom_components/fontawesome/data/solid/hamsa.svg
new file mode 100644
index 0000000..4ccb23a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hamsa.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hand-holding-heart.svg b/custom_components/fontawesome/data/solid/hand-holding-heart.svg
new file mode 100644
index 0000000..65ee45e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-holding-heart.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hand-holding-medical.svg b/custom_components/fontawesome/data/solid/hand-holding-medical.svg
new file mode 100644
index 0000000..907e6cb
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-holding-medical.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hand-holding-usd.svg b/custom_components/fontawesome/data/solid/hand-holding-usd.svg
new file mode 100644
index 0000000..5534433
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-holding-usd.svg
@@ -0,0 +1 @@
+
diff --git a/custom_components/fontawesome/data/solid/hand-holding-water.svg b/custom_components/fontawesome/data/solid/hand-holding-water.svg
new file mode 100644
index 0000000..36c5c92
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-holding-water.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hand-holding.svg b/custom_components/fontawesome/data/solid/hand-holding.svg
new file mode 100644
index 0000000..1328cfd
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-holding.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hand-lizard.svg b/custom_components/fontawesome/data/solid/hand-lizard.svg
new file mode 100644
index 0000000..6d27f0a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-lizard.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hand-middle-finger.svg b/custom_components/fontawesome/data/solid/hand-middle-finger.svg
new file mode 100644
index 0000000..7b89648
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-middle-finger.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hand-paper.svg b/custom_components/fontawesome/data/solid/hand-paper.svg
new file mode 100644
index 0000000..f4aadf1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-paper.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hand-peace.svg b/custom_components/fontawesome/data/solid/hand-peace.svg
new file mode 100644
index 0000000..8ed4eed
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-peace.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hand-point-down.svg b/custom_components/fontawesome/data/solid/hand-point-down.svg
new file mode 100644
index 0000000..af8513f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-point-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hand-point-left.svg b/custom_components/fontawesome/data/solid/hand-point-left.svg
new file mode 100644
index 0000000..5fa16c8
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-point-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hand-point-right.svg b/custom_components/fontawesome/data/solid/hand-point-right.svg
new file mode 100644
index 0000000..e3f50e1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-point-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hand-point-up.svg b/custom_components/fontawesome/data/solid/hand-point-up.svg
new file mode 100644
index 0000000..8bf94b7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-point-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hand-pointer.svg b/custom_components/fontawesome/data/solid/hand-pointer.svg
new file mode 100644
index 0000000..e1367b6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-pointer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hand-rock.svg b/custom_components/fontawesome/data/solid/hand-rock.svg
new file mode 100644
index 0000000..ce1f6ea
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-rock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hand-scissors.svg b/custom_components/fontawesome/data/solid/hand-scissors.svg
new file mode 100644
index 0000000..a599661
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-scissors.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hand-sparkles.svg b/custom_components/fontawesome/data/solid/hand-sparkles.svg
new file mode 100644
index 0000000..7dd43a1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-sparkles.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hand-spock.svg b/custom_components/fontawesome/data/solid/hand-spock.svg
new file mode 100644
index 0000000..a8640b5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hand-spock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hands-helping.svg b/custom_components/fontawesome/data/solid/hands-helping.svg
new file mode 100644
index 0000000..162f45e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hands-helping.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hands-wash.svg b/custom_components/fontawesome/data/solid/hands-wash.svg
new file mode 100644
index 0000000..c44c4d8
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hands-wash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hands.svg b/custom_components/fontawesome/data/solid/hands.svg
new file mode 100644
index 0000000..5f0b02d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hands.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/handshake-alt-slash.svg b/custom_components/fontawesome/data/solid/handshake-alt-slash.svg
new file mode 100644
index 0000000..285ed85
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/handshake-alt-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/handshake-slash.svg b/custom_components/fontawesome/data/solid/handshake-slash.svg
new file mode 100644
index 0000000..833cd02
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/handshake-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/handshake.svg b/custom_components/fontawesome/data/solid/handshake.svg
new file mode 100644
index 0000000..bd5cf53
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/handshake.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hanukiah.svg b/custom_components/fontawesome/data/solid/hanukiah.svg
new file mode 100644
index 0000000..b431d6a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hanukiah.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hard-hat.svg b/custom_components/fontawesome/data/solid/hard-hat.svg
new file mode 100644
index 0000000..cbfa6ac
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hard-hat.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hashtag.svg b/custom_components/fontawesome/data/solid/hashtag.svg
new file mode 100644
index 0000000..2a6094f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hashtag.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hat-cowboy-side.svg b/custom_components/fontawesome/data/solid/hat-cowboy-side.svg
new file mode 100644
index 0000000..0ba999f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hat-cowboy-side.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hat-cowboy.svg b/custom_components/fontawesome/data/solid/hat-cowboy.svg
new file mode 100644
index 0000000..c02b9ea
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hat-cowboy.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hat-wizard.svg b/custom_components/fontawesome/data/solid/hat-wizard.svg
new file mode 100644
index 0000000..21d4510
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hat-wizard.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hdd.svg b/custom_components/fontawesome/data/solid/hdd.svg
new file mode 100644
index 0000000..cead9cf
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hdd.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/head-side-cough-slash.svg b/custom_components/fontawesome/data/solid/head-side-cough-slash.svg
new file mode 100644
index 0000000..9496f7e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/head-side-cough-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/head-side-cough.svg b/custom_components/fontawesome/data/solid/head-side-cough.svg
new file mode 100644
index 0000000..774710a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/head-side-cough.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/head-side-mask.svg b/custom_components/fontawesome/data/solid/head-side-mask.svg
new file mode 100644
index 0000000..b2b2b2f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/head-side-mask.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/head-side-virus.svg b/custom_components/fontawesome/data/solid/head-side-virus.svg
new file mode 100644
index 0000000..d616122
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/head-side-virus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/heading.svg b/custom_components/fontawesome/data/solid/heading.svg
new file mode 100644
index 0000000..54d7e7d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/heading.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/headphones-alt.svg b/custom_components/fontawesome/data/solid/headphones-alt.svg
new file mode 100644
index 0000000..735dc8a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/headphones-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/headphones.svg b/custom_components/fontawesome/data/solid/headphones.svg
new file mode 100644
index 0000000..c97cde6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/headphones.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/headset.svg b/custom_components/fontawesome/data/solid/headset.svg
new file mode 100644
index 0000000..e63e7fd
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/headset.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/heart-broken.svg b/custom_components/fontawesome/data/solid/heart-broken.svg
new file mode 100644
index 0000000..bcc6ccf
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/heart-broken.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/heart.svg b/custom_components/fontawesome/data/solid/heart.svg
new file mode 100644
index 0000000..d9fa587
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/heart.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/heartbeat.svg b/custom_components/fontawesome/data/solid/heartbeat.svg
new file mode 100644
index 0000000..fa2bb9b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/heartbeat.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/helicopter.svg b/custom_components/fontawesome/data/solid/helicopter.svg
new file mode 100644
index 0000000..36c462e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/helicopter.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/highlighter.svg b/custom_components/fontawesome/data/solid/highlighter.svg
new file mode 100644
index 0000000..b32a63a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/highlighter.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hiking.svg b/custom_components/fontawesome/data/solid/hiking.svg
new file mode 100644
index 0000000..480a804
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hiking.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hippo.svg b/custom_components/fontawesome/data/solid/hippo.svg
new file mode 100644
index 0000000..e8c2a22
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hippo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/history.svg b/custom_components/fontawesome/data/solid/history.svg
new file mode 100644
index 0000000..8157c31
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/history.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hockey-puck.svg b/custom_components/fontawesome/data/solid/hockey-puck.svg
new file mode 100644
index 0000000..24a0a90
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hockey-puck.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/holly-berry.svg b/custom_components/fontawesome/data/solid/holly-berry.svg
new file mode 100644
index 0000000..71e156e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/holly-berry.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/home.svg b/custom_components/fontawesome/data/solid/home.svg
new file mode 100644
index 0000000..27ee7ab
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/home.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/horse-head.svg b/custom_components/fontawesome/data/solid/horse-head.svg
new file mode 100644
index 0000000..98a804a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/horse-head.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/horse.svg b/custom_components/fontawesome/data/solid/horse.svg
new file mode 100644
index 0000000..079d848
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/horse.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hospital-alt.svg b/custom_components/fontawesome/data/solid/hospital-alt.svg
new file mode 100644
index 0000000..5229e16
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hospital-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hospital-symbol.svg b/custom_components/fontawesome/data/solid/hospital-symbol.svg
new file mode 100644
index 0000000..9463a88
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hospital-symbol.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hospital-user.svg b/custom_components/fontawesome/data/solid/hospital-user.svg
new file mode 100644
index 0000000..35bd902
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hospital-user.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hospital.svg b/custom_components/fontawesome/data/solid/hospital.svg
new file mode 100644
index 0000000..5b6c7b4
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hospital.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hot-tub.svg b/custom_components/fontawesome/data/solid/hot-tub.svg
new file mode 100644
index 0000000..a49145e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hot-tub.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hotdog.svg b/custom_components/fontawesome/data/solid/hotdog.svg
new file mode 100644
index 0000000..75962d4
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hotdog.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hotel.svg b/custom_components/fontawesome/data/solid/hotel.svg
new file mode 100644
index 0000000..39a8e56
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hotel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hourglass-end.svg b/custom_components/fontawesome/data/solid/hourglass-end.svg
new file mode 100644
index 0000000..4773ce6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hourglass-end.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hourglass-half.svg b/custom_components/fontawesome/data/solid/hourglass-half.svg
new file mode 100644
index 0000000..adf6f26
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hourglass-half.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hourglass-start.svg b/custom_components/fontawesome/data/solid/hourglass-start.svg
new file mode 100644
index 0000000..214b6c7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hourglass-start.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hourglass.svg b/custom_components/fontawesome/data/solid/hourglass.svg
new file mode 100644
index 0000000..cd6052c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hourglass.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/house-damage.svg b/custom_components/fontawesome/data/solid/house-damage.svg
new file mode 100644
index 0000000..6a9decc
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/house-damage.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/house-user.svg b/custom_components/fontawesome/data/solid/house-user.svg
new file mode 100644
index 0000000..eea549c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/house-user.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/hryvnia.svg b/custom_components/fontawesome/data/solid/hryvnia.svg
new file mode 100644
index 0000000..d937326
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/hryvnia.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/i-cursor.svg b/custom_components/fontawesome/data/solid/i-cursor.svg
new file mode 100644
index 0000000..2367160
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/i-cursor.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ice-cream.svg b/custom_components/fontawesome/data/solid/ice-cream.svg
new file mode 100644
index 0000000..1f1bb33
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ice-cream.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/icicles.svg b/custom_components/fontawesome/data/solid/icicles.svg
new file mode 100644
index 0000000..962982d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/icicles.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/icons.svg b/custom_components/fontawesome/data/solid/icons.svg
new file mode 100644
index 0000000..0f16137
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/icons.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/id-badge.svg b/custom_components/fontawesome/data/solid/id-badge.svg
new file mode 100644
index 0000000..a5ce6e1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/id-badge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/id-card-alt.svg b/custom_components/fontawesome/data/solid/id-card-alt.svg
new file mode 100644
index 0000000..0b21ac3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/id-card-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/id-card.svg b/custom_components/fontawesome/data/solid/id-card.svg
new file mode 100644
index 0000000..b6be99c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/id-card.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/igloo.svg b/custom_components/fontawesome/data/solid/igloo.svg
new file mode 100644
index 0000000..e2d77d4
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/igloo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/image.svg b/custom_components/fontawesome/data/solid/image.svg
new file mode 100644
index 0000000..dbf552d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/image.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/images.svg b/custom_components/fontawesome/data/solid/images.svg
new file mode 100644
index 0000000..efd28e2
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/images.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/inbox.svg b/custom_components/fontawesome/data/solid/inbox.svg
new file mode 100644
index 0000000..761d6c7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/inbox.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/indent.svg b/custom_components/fontawesome/data/solid/indent.svg
new file mode 100644
index 0000000..3408434
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/indent.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/industry.svg b/custom_components/fontawesome/data/solid/industry.svg
new file mode 100644
index 0000000..c04e11a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/industry.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/infinity.svg b/custom_components/fontawesome/data/solid/infinity.svg
new file mode 100644
index 0000000..d8dd398
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/infinity.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/info-circle.svg b/custom_components/fontawesome/data/solid/info-circle.svg
new file mode 100644
index 0000000..a25c163
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/info-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/info.svg b/custom_components/fontawesome/data/solid/info.svg
new file mode 100644
index 0000000..e6b9c3f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/info.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/italic.svg b/custom_components/fontawesome/data/solid/italic.svg
new file mode 100644
index 0000000..f48619e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/italic.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/jedi.svg b/custom_components/fontawesome/data/solid/jedi.svg
new file mode 100644
index 0000000..cdc724b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/jedi.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/joint.svg b/custom_components/fontawesome/data/solid/joint.svg
new file mode 100644
index 0000000..cd0c052
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/joint.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/journal-whills.svg b/custom_components/fontawesome/data/solid/journal-whills.svg
new file mode 100644
index 0000000..e3593b3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/journal-whills.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/kaaba.svg b/custom_components/fontawesome/data/solid/kaaba.svg
new file mode 100644
index 0000000..7974f22
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/kaaba.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/key.svg b/custom_components/fontawesome/data/solid/key.svg
new file mode 100644
index 0000000..e0bd494
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/key.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/keyboard.svg b/custom_components/fontawesome/data/solid/keyboard.svg
new file mode 100644
index 0000000..1268663
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/keyboard.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/khanda.svg b/custom_components/fontawesome/data/solid/khanda.svg
new file mode 100644
index 0000000..625641b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/khanda.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/kiss-beam.svg b/custom_components/fontawesome/data/solid/kiss-beam.svg
new file mode 100644
index 0000000..a2c3e50
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/kiss-beam.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/kiss-wink-heart.svg b/custom_components/fontawesome/data/solid/kiss-wink-heart.svg
new file mode 100644
index 0000000..de6ecee
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/kiss-wink-heart.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/kiss.svg b/custom_components/fontawesome/data/solid/kiss.svg
new file mode 100644
index 0000000..0f68524
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/kiss.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/kiwi-bird.svg b/custom_components/fontawesome/data/solid/kiwi-bird.svg
new file mode 100644
index 0000000..bbc7c9a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/kiwi-bird.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/landmark.svg b/custom_components/fontawesome/data/solid/landmark.svg
new file mode 100644
index 0000000..49f6092
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/landmark.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/language.svg b/custom_components/fontawesome/data/solid/language.svg
new file mode 100644
index 0000000..e45129e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/language.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/laptop-code.svg b/custom_components/fontawesome/data/solid/laptop-code.svg
new file mode 100644
index 0000000..a607c0f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/laptop-code.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/laptop-house.svg b/custom_components/fontawesome/data/solid/laptop-house.svg
new file mode 100644
index 0000000..3132489
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/laptop-house.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/laptop-medical.svg b/custom_components/fontawesome/data/solid/laptop-medical.svg
new file mode 100644
index 0000000..a5f6b7d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/laptop-medical.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/laptop.svg b/custom_components/fontawesome/data/solid/laptop.svg
new file mode 100644
index 0000000..b68aab3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/laptop.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/laugh-beam.svg b/custom_components/fontawesome/data/solid/laugh-beam.svg
new file mode 100644
index 0000000..9baa549
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/laugh-beam.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/laugh-squint.svg b/custom_components/fontawesome/data/solid/laugh-squint.svg
new file mode 100644
index 0000000..20046e6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/laugh-squint.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/laugh-wink.svg b/custom_components/fontawesome/data/solid/laugh-wink.svg
new file mode 100644
index 0000000..1dffaa6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/laugh-wink.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/laugh.svg b/custom_components/fontawesome/data/solid/laugh.svg
new file mode 100644
index 0000000..07d3111
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/laugh.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/layer-group.svg b/custom_components/fontawesome/data/solid/layer-group.svg
new file mode 100644
index 0000000..08ca453
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/layer-group.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/leaf.svg b/custom_components/fontawesome/data/solid/leaf.svg
new file mode 100644
index 0000000..f31abe1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/leaf.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/lemon.svg b/custom_components/fontawesome/data/solid/lemon.svg
new file mode 100644
index 0000000..e8f98bd
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/lemon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/less-than-equal.svg b/custom_components/fontawesome/data/solid/less-than-equal.svg
new file mode 100644
index 0000000..7bbf5c0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/less-than-equal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/less-than.svg b/custom_components/fontawesome/data/solid/less-than.svg
new file mode 100644
index 0000000..db80274
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/less-than.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/level-down-alt.svg b/custom_components/fontawesome/data/solid/level-down-alt.svg
new file mode 100644
index 0000000..5235087
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/level-down-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/level-up-alt.svg b/custom_components/fontawesome/data/solid/level-up-alt.svg
new file mode 100644
index 0000000..a9672eb
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/level-up-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/life-ring.svg b/custom_components/fontawesome/data/solid/life-ring.svg
new file mode 100644
index 0000000..da06ef4
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/life-ring.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/lightbulb.svg b/custom_components/fontawesome/data/solid/lightbulb.svg
new file mode 100644
index 0000000..b5d654b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/lightbulb.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/link.svg b/custom_components/fontawesome/data/solid/link.svg
new file mode 100644
index 0000000..57caa9f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/link.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/lira-sign.svg b/custom_components/fontawesome/data/solid/lira-sign.svg
new file mode 100644
index 0000000..802a0f5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/lira-sign.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/list-alt.svg b/custom_components/fontawesome/data/solid/list-alt.svg
new file mode 100644
index 0000000..5e32557
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/list-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/list-ol.svg b/custom_components/fontawesome/data/solid/list-ol.svg
new file mode 100644
index 0000000..7398570
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/list-ol.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/list-ul.svg b/custom_components/fontawesome/data/solid/list-ul.svg
new file mode 100644
index 0000000..ae3ea22
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/list-ul.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/list.svg b/custom_components/fontawesome/data/solid/list.svg
new file mode 100644
index 0000000..6841863
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/list.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/location-arrow.svg b/custom_components/fontawesome/data/solid/location-arrow.svg
new file mode 100644
index 0000000..853ee9c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/location-arrow.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/lock-open.svg b/custom_components/fontawesome/data/solid/lock-open.svg
new file mode 100644
index 0000000..7f94996
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/lock-open.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/lock.svg b/custom_components/fontawesome/data/solid/lock.svg
new file mode 100644
index 0000000..7d0e70b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/lock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/long-arrow-alt-down.svg b/custom_components/fontawesome/data/solid/long-arrow-alt-down.svg
new file mode 100644
index 0000000..75e69e7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/long-arrow-alt-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/long-arrow-alt-left.svg b/custom_components/fontawesome/data/solid/long-arrow-alt-left.svg
new file mode 100644
index 0000000..b9e103b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/long-arrow-alt-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/long-arrow-alt-right.svg b/custom_components/fontawesome/data/solid/long-arrow-alt-right.svg
new file mode 100644
index 0000000..2f388d5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/long-arrow-alt-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/long-arrow-alt-up.svg b/custom_components/fontawesome/data/solid/long-arrow-alt-up.svg
new file mode 100644
index 0000000..cdd5dcf
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/long-arrow-alt-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/low-vision.svg b/custom_components/fontawesome/data/solid/low-vision.svg
new file mode 100644
index 0000000..5b82a1b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/low-vision.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/luggage-cart.svg b/custom_components/fontawesome/data/solid/luggage-cart.svg
new file mode 100644
index 0000000..c851421
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/luggage-cart.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/lungs-virus.svg b/custom_components/fontawesome/data/solid/lungs-virus.svg
new file mode 100644
index 0000000..5c4e19b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/lungs-virus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/lungs.svg b/custom_components/fontawesome/data/solid/lungs.svg
new file mode 100644
index 0000000..9f28391
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/lungs.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/magic.svg b/custom_components/fontawesome/data/solid/magic.svg
new file mode 100644
index 0000000..9ee277f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/magic.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/magnet.svg b/custom_components/fontawesome/data/solid/magnet.svg
new file mode 100644
index 0000000..4b68066
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/magnet.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/mail-bulk.svg b/custom_components/fontawesome/data/solid/mail-bulk.svg
new file mode 100644
index 0000000..38e5f5a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/mail-bulk.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/male.svg b/custom_components/fontawesome/data/solid/male.svg
new file mode 100644
index 0000000..b41d026
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/male.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/map-marked-alt.svg b/custom_components/fontawesome/data/solid/map-marked-alt.svg
new file mode 100644
index 0000000..a45ef9f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/map-marked-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/map-marked.svg b/custom_components/fontawesome/data/solid/map-marked.svg
new file mode 100644
index 0000000..54b5953
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/map-marked.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/map-marker-alt.svg b/custom_components/fontawesome/data/solid/map-marker-alt.svg
new file mode 100644
index 0000000..d3d94f0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/map-marker-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/map-marker.svg b/custom_components/fontawesome/data/solid/map-marker.svg
new file mode 100644
index 0000000..c2047c7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/map-marker.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/map-pin.svg b/custom_components/fontawesome/data/solid/map-pin.svg
new file mode 100644
index 0000000..3d71073
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/map-pin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/map-signs.svg b/custom_components/fontawesome/data/solid/map-signs.svg
new file mode 100644
index 0000000..5f5b9b3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/map-signs.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/map.svg b/custom_components/fontawesome/data/solid/map.svg
new file mode 100644
index 0000000..bb62314
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/map.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/marker.svg b/custom_components/fontawesome/data/solid/marker.svg
new file mode 100644
index 0000000..6ee7cec
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/marker.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/mars-double.svg b/custom_components/fontawesome/data/solid/mars-double.svg
new file mode 100644
index 0000000..49a76e0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/mars-double.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/mars-stroke-h.svg b/custom_components/fontawesome/data/solid/mars-stroke-h.svg
new file mode 100644
index 0000000..32ea3f5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/mars-stroke-h.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/mars-stroke-v.svg b/custom_components/fontawesome/data/solid/mars-stroke-v.svg
new file mode 100644
index 0000000..e3c03aa
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/mars-stroke-v.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/mars-stroke.svg b/custom_components/fontawesome/data/solid/mars-stroke.svg
new file mode 100644
index 0000000..076d1e6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/mars-stroke.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/mars.svg b/custom_components/fontawesome/data/solid/mars.svg
new file mode 100644
index 0000000..022f88d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/mars.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/mask.svg b/custom_components/fontawesome/data/solid/mask.svg
new file mode 100644
index 0000000..d406793
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/mask.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/medal.svg b/custom_components/fontawesome/data/solid/medal.svg
new file mode 100644
index 0000000..6fe8e7e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/medal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/medkit.svg b/custom_components/fontawesome/data/solid/medkit.svg
new file mode 100644
index 0000000..637d38e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/medkit.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/meh-blank.svg b/custom_components/fontawesome/data/solid/meh-blank.svg
new file mode 100644
index 0000000..e98e39b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/meh-blank.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/meh-rolling-eyes.svg b/custom_components/fontawesome/data/solid/meh-rolling-eyes.svg
new file mode 100644
index 0000000..0689940
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/meh-rolling-eyes.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/meh.svg b/custom_components/fontawesome/data/solid/meh.svg
new file mode 100644
index 0000000..198bebd
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/meh.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/memory.svg b/custom_components/fontawesome/data/solid/memory.svg
new file mode 100644
index 0000000..1ae9bcd
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/memory.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/menorah.svg b/custom_components/fontawesome/data/solid/menorah.svg
new file mode 100644
index 0000000..a6f11b9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/menorah.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/mercury.svg b/custom_components/fontawesome/data/solid/mercury.svg
new file mode 100644
index 0000000..a930415
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/mercury.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/meteor.svg b/custom_components/fontawesome/data/solid/meteor.svg
new file mode 100644
index 0000000..95b3f74
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/meteor.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/microchip.svg b/custom_components/fontawesome/data/solid/microchip.svg
new file mode 100644
index 0000000..4eb7e2d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/microchip.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/microphone-alt-slash.svg b/custom_components/fontawesome/data/solid/microphone-alt-slash.svg
new file mode 100644
index 0000000..59ad8b2
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/microphone-alt-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/microphone-alt.svg b/custom_components/fontawesome/data/solid/microphone-alt.svg
new file mode 100644
index 0000000..dd8f50f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/microphone-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/microphone-slash.svg b/custom_components/fontawesome/data/solid/microphone-slash.svg
new file mode 100644
index 0000000..8d3badb
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/microphone-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/microphone.svg b/custom_components/fontawesome/data/solid/microphone.svg
new file mode 100644
index 0000000..194b4d3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/microphone.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/microscope.svg b/custom_components/fontawesome/data/solid/microscope.svg
new file mode 100644
index 0000000..ef71403
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/microscope.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/minus-circle.svg b/custom_components/fontawesome/data/solid/minus-circle.svg
new file mode 100644
index 0000000..efe6e46
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/minus-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/minus-square.svg b/custom_components/fontawesome/data/solid/minus-square.svg
new file mode 100644
index 0000000..27ebb01
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/minus-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/minus.svg b/custom_components/fontawesome/data/solid/minus.svg
new file mode 100644
index 0000000..ac83426
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/minus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/mitten.svg b/custom_components/fontawesome/data/solid/mitten.svg
new file mode 100644
index 0000000..a4dca75
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/mitten.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/mobile-alt.svg b/custom_components/fontawesome/data/solid/mobile-alt.svg
new file mode 100644
index 0000000..e808459
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/mobile-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/mobile.svg b/custom_components/fontawesome/data/solid/mobile.svg
new file mode 100644
index 0000000..2783241
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/mobile.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/money-bill-alt.svg b/custom_components/fontawesome/data/solid/money-bill-alt.svg
new file mode 100644
index 0000000..5025155
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/money-bill-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/money-bill-wave-alt.svg b/custom_components/fontawesome/data/solid/money-bill-wave-alt.svg
new file mode 100644
index 0000000..f32fcfe
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/money-bill-wave-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/money-bill-wave.svg b/custom_components/fontawesome/data/solid/money-bill-wave.svg
new file mode 100644
index 0000000..fc78239
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/money-bill-wave.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/money-bill.svg b/custom_components/fontawesome/data/solid/money-bill.svg
new file mode 100644
index 0000000..e1ae0f2
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/money-bill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/money-check-alt.svg b/custom_components/fontawesome/data/solid/money-check-alt.svg
new file mode 100644
index 0000000..0881638
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/money-check-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/money-check.svg b/custom_components/fontawesome/data/solid/money-check.svg
new file mode 100644
index 0000000..84bbeac
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/money-check.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/monument.svg b/custom_components/fontawesome/data/solid/monument.svg
new file mode 100644
index 0000000..efb4af3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/monument.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/moon.svg b/custom_components/fontawesome/data/solid/moon.svg
new file mode 100644
index 0000000..b153f34
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/moon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/mortar-pestle.svg b/custom_components/fontawesome/data/solid/mortar-pestle.svg
new file mode 100644
index 0000000..b6fb12c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/mortar-pestle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/mosque.svg b/custom_components/fontawesome/data/solid/mosque.svg
new file mode 100644
index 0000000..396eb4e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/mosque.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/motorcycle.svg b/custom_components/fontawesome/data/solid/motorcycle.svg
new file mode 100644
index 0000000..1488979
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/motorcycle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/mountain.svg b/custom_components/fontawesome/data/solid/mountain.svg
new file mode 100644
index 0000000..af4fc81
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/mountain.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/mouse-pointer.svg b/custom_components/fontawesome/data/solid/mouse-pointer.svg
new file mode 100644
index 0000000..c5f252d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/mouse-pointer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/mouse.svg b/custom_components/fontawesome/data/solid/mouse.svg
new file mode 100644
index 0000000..092d515
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/mouse.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/mug-hot.svg b/custom_components/fontawesome/data/solid/mug-hot.svg
new file mode 100644
index 0000000..750e086
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/mug-hot.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/music.svg b/custom_components/fontawesome/data/solid/music.svg
new file mode 100644
index 0000000..7ad2b9b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/music.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/network-wired.svg b/custom_components/fontawesome/data/solid/network-wired.svg
new file mode 100644
index 0000000..1be547c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/network-wired.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/neuter.svg b/custom_components/fontawesome/data/solid/neuter.svg
new file mode 100644
index 0000000..cb7635d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/neuter.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/newspaper.svg b/custom_components/fontawesome/data/solid/newspaper.svg
new file mode 100644
index 0000000..4772942
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/newspaper.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/not-equal.svg b/custom_components/fontawesome/data/solid/not-equal.svg
new file mode 100644
index 0000000..d11d139
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/not-equal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/notes-medical.svg b/custom_components/fontawesome/data/solid/notes-medical.svg
new file mode 100644
index 0000000..fc5d596
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/notes-medical.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/object-group.svg b/custom_components/fontawesome/data/solid/object-group.svg
new file mode 100644
index 0000000..b07fcec
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/object-group.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/object-ungroup.svg b/custom_components/fontawesome/data/solid/object-ungroup.svg
new file mode 100644
index 0000000..4c29c1e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/object-ungroup.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/oil-can.svg b/custom_components/fontawesome/data/solid/oil-can.svg
new file mode 100644
index 0000000..a4b303c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/oil-can.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/om.svg b/custom_components/fontawesome/data/solid/om.svg
new file mode 100644
index 0000000..acabc1d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/om.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/otter.svg b/custom_components/fontawesome/data/solid/otter.svg
new file mode 100644
index 0000000..e546e1c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/otter.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/outdent.svg b/custom_components/fontawesome/data/solid/outdent.svg
new file mode 100644
index 0000000..586b77d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/outdent.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pager.svg b/custom_components/fontawesome/data/solid/pager.svg
new file mode 100644
index 0000000..db9409b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pager.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/paint-brush.svg b/custom_components/fontawesome/data/solid/paint-brush.svg
new file mode 100644
index 0000000..01d1c92
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/paint-brush.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/paint-roller.svg b/custom_components/fontawesome/data/solid/paint-roller.svg
new file mode 100644
index 0000000..14d3b6a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/paint-roller.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/palette.svg b/custom_components/fontawesome/data/solid/palette.svg
new file mode 100644
index 0000000..a75b257
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/palette.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pallet.svg b/custom_components/fontawesome/data/solid/pallet.svg
new file mode 100644
index 0000000..564f45b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pallet.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/paper-plane.svg b/custom_components/fontawesome/data/solid/paper-plane.svg
new file mode 100644
index 0000000..cecb40f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/paper-plane.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/paperclip.svg b/custom_components/fontawesome/data/solid/paperclip.svg
new file mode 100644
index 0000000..162db7e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/paperclip.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/parachute-box.svg b/custom_components/fontawesome/data/solid/parachute-box.svg
new file mode 100644
index 0000000..80abd2e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/parachute-box.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/paragraph.svg b/custom_components/fontawesome/data/solid/paragraph.svg
new file mode 100644
index 0000000..1087303
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/paragraph.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/parking.svg b/custom_components/fontawesome/data/solid/parking.svg
new file mode 100644
index 0000000..04a1373
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/parking.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/passport.svg b/custom_components/fontawesome/data/solid/passport.svg
new file mode 100644
index 0000000..1a7aa6f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/passport.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pastafarianism.svg b/custom_components/fontawesome/data/solid/pastafarianism.svg
new file mode 100644
index 0000000..402622a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pastafarianism.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/paste.svg b/custom_components/fontawesome/data/solid/paste.svg
new file mode 100644
index 0000000..1d49e25
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/paste.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pause-circle.svg b/custom_components/fontawesome/data/solid/pause-circle.svg
new file mode 100644
index 0000000..72a8e48
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pause-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pause.svg b/custom_components/fontawesome/data/solid/pause.svg
new file mode 100644
index 0000000..63a15b6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pause.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/paw.svg b/custom_components/fontawesome/data/solid/paw.svg
new file mode 100644
index 0000000..5cb50f8
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/paw.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/peace.svg b/custom_components/fontawesome/data/solid/peace.svg
new file mode 100644
index 0000000..7c5ce22
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/peace.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pen-alt.svg b/custom_components/fontawesome/data/solid/pen-alt.svg
new file mode 100644
index 0000000..2b600ca
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pen-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pen-fancy.svg b/custom_components/fontawesome/data/solid/pen-fancy.svg
new file mode 100644
index 0000000..8f4261c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pen-fancy.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pen-nib.svg b/custom_components/fontawesome/data/solid/pen-nib.svg
new file mode 100644
index 0000000..2a4cbee
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pen-nib.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pen-square.svg b/custom_components/fontawesome/data/solid/pen-square.svg
new file mode 100644
index 0000000..0f30e05
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pen-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pen.svg b/custom_components/fontawesome/data/solid/pen.svg
new file mode 100644
index 0000000..2d043aa
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pen.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pencil-alt.svg b/custom_components/fontawesome/data/solid/pencil-alt.svg
new file mode 100644
index 0000000..26d7dae
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pencil-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pencil-ruler.svg b/custom_components/fontawesome/data/solid/pencil-ruler.svg
new file mode 100644
index 0000000..c62f131
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pencil-ruler.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/people-arrows.svg b/custom_components/fontawesome/data/solid/people-arrows.svg
new file mode 100644
index 0000000..a743c83
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/people-arrows.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/people-carry.svg b/custom_components/fontawesome/data/solid/people-carry.svg
new file mode 100644
index 0000000..98a947f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/people-carry.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pepper-hot.svg b/custom_components/fontawesome/data/solid/pepper-hot.svg
new file mode 100644
index 0000000..76c1a92
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pepper-hot.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/percent.svg b/custom_components/fontawesome/data/solid/percent.svg
new file mode 100644
index 0000000..4b1a8ff
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/percent.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/percentage.svg b/custom_components/fontawesome/data/solid/percentage.svg
new file mode 100644
index 0000000..574fb05
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/percentage.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/person-booth.svg b/custom_components/fontawesome/data/solid/person-booth.svg
new file mode 100644
index 0000000..dd7624f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/person-booth.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/phone-alt.svg b/custom_components/fontawesome/data/solid/phone-alt.svg
new file mode 100644
index 0000000..aa821dd
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/phone-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/phone-slash.svg b/custom_components/fontawesome/data/solid/phone-slash.svg
new file mode 100644
index 0000000..0e20562
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/phone-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/phone-square-alt.svg b/custom_components/fontawesome/data/solid/phone-square-alt.svg
new file mode 100644
index 0000000..989645a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/phone-square-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/phone-square.svg b/custom_components/fontawesome/data/solid/phone-square.svg
new file mode 100644
index 0000000..39ed969
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/phone-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/phone-volume.svg b/custom_components/fontawesome/data/solid/phone-volume.svg
new file mode 100644
index 0000000..872d95d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/phone-volume.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/phone.svg b/custom_components/fontawesome/data/solid/phone.svg
new file mode 100644
index 0000000..2cf74a9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/phone.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/photo-video.svg b/custom_components/fontawesome/data/solid/photo-video.svg
new file mode 100644
index 0000000..e67e558
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/photo-video.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/piggy-bank.svg b/custom_components/fontawesome/data/solid/piggy-bank.svg
new file mode 100644
index 0000000..65fb510
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/piggy-bank.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pills.svg b/custom_components/fontawesome/data/solid/pills.svg
new file mode 100644
index 0000000..eadd5aa
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pills.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pizza-slice.svg b/custom_components/fontawesome/data/solid/pizza-slice.svg
new file mode 100644
index 0000000..fcd660f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pizza-slice.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/place-of-worship.svg b/custom_components/fontawesome/data/solid/place-of-worship.svg
new file mode 100644
index 0000000..7457df4
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/place-of-worship.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/plane-arrival.svg b/custom_components/fontawesome/data/solid/plane-arrival.svg
new file mode 100644
index 0000000..32bcc18
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/plane-arrival.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/plane-departure.svg b/custom_components/fontawesome/data/solid/plane-departure.svg
new file mode 100644
index 0000000..ce73a43
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/plane-departure.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/plane-slash.svg b/custom_components/fontawesome/data/solid/plane-slash.svg
new file mode 100644
index 0000000..9352a4e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/plane-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/plane.svg b/custom_components/fontawesome/data/solid/plane.svg
new file mode 100644
index 0000000..6a75a9f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/plane.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/play-circle.svg b/custom_components/fontawesome/data/solid/play-circle.svg
new file mode 100644
index 0000000..ea10397
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/play-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/play.svg b/custom_components/fontawesome/data/solid/play.svg
new file mode 100644
index 0000000..d7fa87f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/play.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/plug.svg b/custom_components/fontawesome/data/solid/plug.svg
new file mode 100644
index 0000000..d99cc57
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/plug.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/plus-circle.svg b/custom_components/fontawesome/data/solid/plus-circle.svg
new file mode 100644
index 0000000..f7a138c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/plus-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/plus-square.svg b/custom_components/fontawesome/data/solid/plus-square.svg
new file mode 100644
index 0000000..ff058b5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/plus-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/plus.svg b/custom_components/fontawesome/data/solid/plus.svg
new file mode 100644
index 0000000..95992e1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/plus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/podcast.svg b/custom_components/fontawesome/data/solid/podcast.svg
new file mode 100644
index 0000000..9ee3b6f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/podcast.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/poll-h.svg b/custom_components/fontawesome/data/solid/poll-h.svg
new file mode 100644
index 0000000..c3993a9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/poll-h.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/poll.svg b/custom_components/fontawesome/data/solid/poll.svg
new file mode 100644
index 0000000..96d2fb6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/poll.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/poo-storm.svg b/custom_components/fontawesome/data/solid/poo-storm.svg
new file mode 100644
index 0000000..cf79910
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/poo-storm.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/poo.svg b/custom_components/fontawesome/data/solid/poo.svg
new file mode 100644
index 0000000..997725b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/poo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/poop.svg b/custom_components/fontawesome/data/solid/poop.svg
new file mode 100644
index 0000000..8adbdb8
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/poop.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/portrait.svg b/custom_components/fontawesome/data/solid/portrait.svg
new file mode 100644
index 0000000..a62ed18
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/portrait.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pound-sign.svg b/custom_components/fontawesome/data/solid/pound-sign.svg
new file mode 100644
index 0000000..8705075
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pound-sign.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/power-off.svg b/custom_components/fontawesome/data/solid/power-off.svg
new file mode 100644
index 0000000..3711318
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/power-off.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pray.svg b/custom_components/fontawesome/data/solid/pray.svg
new file mode 100644
index 0000000..dc87ee5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pray.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/praying-hands.svg b/custom_components/fontawesome/data/solid/praying-hands.svg
new file mode 100644
index 0000000..86a68f0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/praying-hands.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/prescription-bottle-alt.svg b/custom_components/fontawesome/data/solid/prescription-bottle-alt.svg
new file mode 100644
index 0000000..5757bf8
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/prescription-bottle-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/prescription-bottle.svg b/custom_components/fontawesome/data/solid/prescription-bottle.svg
new file mode 100644
index 0000000..6f2d6c3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/prescription-bottle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/prescription.svg b/custom_components/fontawesome/data/solid/prescription.svg
new file mode 100644
index 0000000..f0cfc72
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/prescription.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/print.svg b/custom_components/fontawesome/data/solid/print.svg
new file mode 100644
index 0000000..2c11c29
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/print.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/procedures.svg b/custom_components/fontawesome/data/solid/procedures.svg
new file mode 100644
index 0000000..5ccfafb
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/procedures.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/project-diagram.svg b/custom_components/fontawesome/data/solid/project-diagram.svg
new file mode 100644
index 0000000..cb21c6f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/project-diagram.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pump-medical.svg b/custom_components/fontawesome/data/solid/pump-medical.svg
new file mode 100644
index 0000000..dedc67f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pump-medical.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/pump-soap.svg b/custom_components/fontawesome/data/solid/pump-soap.svg
new file mode 100644
index 0000000..b2a0600
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/pump-soap.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/puzzle-piece.svg b/custom_components/fontawesome/data/solid/puzzle-piece.svg
new file mode 100644
index 0000000..a632d8a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/puzzle-piece.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/qrcode.svg b/custom_components/fontawesome/data/solid/qrcode.svg
new file mode 100644
index 0000000..c92fa7c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/qrcode.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/question-circle.svg b/custom_components/fontawesome/data/solid/question-circle.svg
new file mode 100644
index 0000000..a8f4243
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/question-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/question.svg b/custom_components/fontawesome/data/solid/question.svg
new file mode 100644
index 0000000..065e9fe
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/question.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/quidditch.svg b/custom_components/fontawesome/data/solid/quidditch.svg
new file mode 100644
index 0000000..6d0be5e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/quidditch.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/quote-left.svg b/custom_components/fontawesome/data/solid/quote-left.svg
new file mode 100644
index 0000000..d73aa5e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/quote-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/quote-right.svg b/custom_components/fontawesome/data/solid/quote-right.svg
new file mode 100644
index 0000000..18537bf
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/quote-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/quran.svg b/custom_components/fontawesome/data/solid/quran.svg
new file mode 100644
index 0000000..8cf9e47
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/quran.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/radiation-alt.svg b/custom_components/fontawesome/data/solid/radiation-alt.svg
new file mode 100644
index 0000000..a44836c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/radiation-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/radiation.svg b/custom_components/fontawesome/data/solid/radiation.svg
new file mode 100644
index 0000000..c6c5b9c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/radiation.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/rainbow.svg b/custom_components/fontawesome/data/solid/rainbow.svg
new file mode 100644
index 0000000..ef50bef
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/rainbow.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/random.svg b/custom_components/fontawesome/data/solid/random.svg
new file mode 100644
index 0000000..3c23b13
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/random.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/receipt.svg b/custom_components/fontawesome/data/solid/receipt.svg
new file mode 100644
index 0000000..ea298f9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/receipt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/record-vinyl.svg b/custom_components/fontawesome/data/solid/record-vinyl.svg
new file mode 100644
index 0000000..b63b60c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/record-vinyl.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/recycle.svg b/custom_components/fontawesome/data/solid/recycle.svg
new file mode 100644
index 0000000..1c7fa71
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/recycle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/redo-alt.svg b/custom_components/fontawesome/data/solid/redo-alt.svg
new file mode 100644
index 0000000..f014834
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/redo-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/redo.svg b/custom_components/fontawesome/data/solid/redo.svg
new file mode 100644
index 0000000..da6c6c1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/redo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/registered.svg b/custom_components/fontawesome/data/solid/registered.svg
new file mode 100644
index 0000000..115cc70
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/registered.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/remove-format.svg b/custom_components/fontawesome/data/solid/remove-format.svg
new file mode 100644
index 0000000..9aa7327
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/remove-format.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/reply-all.svg b/custom_components/fontawesome/data/solid/reply-all.svg
new file mode 100644
index 0000000..32886ac
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/reply-all.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/reply.svg b/custom_components/fontawesome/data/solid/reply.svg
new file mode 100644
index 0000000..50f99ff
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/reply.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/republican.svg b/custom_components/fontawesome/data/solid/republican.svg
new file mode 100644
index 0000000..76f70e9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/republican.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/restroom.svg b/custom_components/fontawesome/data/solid/restroom.svg
new file mode 100644
index 0000000..87486b8
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/restroom.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/retweet.svg b/custom_components/fontawesome/data/solid/retweet.svg
new file mode 100644
index 0000000..6c8111b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/retweet.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ribbon.svg b/custom_components/fontawesome/data/solid/ribbon.svg
new file mode 100644
index 0000000..c87df5f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ribbon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ring.svg b/custom_components/fontawesome/data/solid/ring.svg
new file mode 100644
index 0000000..cba4ca6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ring.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/road.svg b/custom_components/fontawesome/data/solid/road.svg
new file mode 100644
index 0000000..7823426
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/road.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/robot.svg b/custom_components/fontawesome/data/solid/robot.svg
new file mode 100644
index 0000000..4d80ffa
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/robot.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/rocket.svg b/custom_components/fontawesome/data/solid/rocket.svg
new file mode 100644
index 0000000..1d8c1cc
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/rocket.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/route.svg b/custom_components/fontawesome/data/solid/route.svg
new file mode 100644
index 0000000..2d050c4
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/route.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/rss-square.svg b/custom_components/fontawesome/data/solid/rss-square.svg
new file mode 100644
index 0000000..ff9a15a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/rss-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/rss.svg b/custom_components/fontawesome/data/solid/rss.svg
new file mode 100644
index 0000000..e6fa54c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/rss.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ruble-sign.svg b/custom_components/fontawesome/data/solid/ruble-sign.svg
new file mode 100644
index 0000000..50ec2f5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ruble-sign.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ruler-combined.svg b/custom_components/fontawesome/data/solid/ruler-combined.svg
new file mode 100644
index 0000000..c4ceb4a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ruler-combined.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ruler-horizontal.svg b/custom_components/fontawesome/data/solid/ruler-horizontal.svg
new file mode 100644
index 0000000..12c5426
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ruler-horizontal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ruler-vertical.svg b/custom_components/fontawesome/data/solid/ruler-vertical.svg
new file mode 100644
index 0000000..364cb31
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ruler-vertical.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ruler.svg b/custom_components/fontawesome/data/solid/ruler.svg
new file mode 100644
index 0000000..3f7a16b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ruler.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/running.svg b/custom_components/fontawesome/data/solid/running.svg
new file mode 100644
index 0000000..0e4a5a1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/running.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/rupee-sign.svg b/custom_components/fontawesome/data/solid/rupee-sign.svg
new file mode 100644
index 0000000..52e319c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/rupee-sign.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sad-cry.svg b/custom_components/fontawesome/data/solid/sad-cry.svg
new file mode 100644
index 0000000..448b6df
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sad-cry.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sad-tear.svg b/custom_components/fontawesome/data/solid/sad-tear.svg
new file mode 100644
index 0000000..4071d10
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sad-tear.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/satellite-dish.svg b/custom_components/fontawesome/data/solid/satellite-dish.svg
new file mode 100644
index 0000000..cb27d73
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/satellite-dish.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/satellite.svg b/custom_components/fontawesome/data/solid/satellite.svg
new file mode 100644
index 0000000..231d520
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/satellite.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/save.svg b/custom_components/fontawesome/data/solid/save.svg
new file mode 100644
index 0000000..44298e3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/save.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/school.svg b/custom_components/fontawesome/data/solid/school.svg
new file mode 100644
index 0000000..21dffef
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/school.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/screwdriver.svg b/custom_components/fontawesome/data/solid/screwdriver.svg
new file mode 100644
index 0000000..04ce778
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/screwdriver.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/scroll.svg b/custom_components/fontawesome/data/solid/scroll.svg
new file mode 100644
index 0000000..0ba8012
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/scroll.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sd-card.svg b/custom_components/fontawesome/data/solid/sd-card.svg
new file mode 100644
index 0000000..be6da43
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sd-card.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/search-dollar.svg b/custom_components/fontawesome/data/solid/search-dollar.svg
new file mode 100644
index 0000000..009f332
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/search-dollar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/search-location.svg b/custom_components/fontawesome/data/solid/search-location.svg
new file mode 100644
index 0000000..b4cbdd8
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/search-location.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/search-minus.svg b/custom_components/fontawesome/data/solid/search-minus.svg
new file mode 100644
index 0000000..7befe08
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/search-minus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/search-plus.svg b/custom_components/fontawesome/data/solid/search-plus.svg
new file mode 100644
index 0000000..e4f5984
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/search-plus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/search.svg b/custom_components/fontawesome/data/solid/search.svg
new file mode 100644
index 0000000..865b962
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/search.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/seedling.svg b/custom_components/fontawesome/data/solid/seedling.svg
new file mode 100644
index 0000000..b5e2a26
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/seedling.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/server.svg b/custom_components/fontawesome/data/solid/server.svg
new file mode 100644
index 0000000..4e6c50f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/server.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/shapes.svg b/custom_components/fontawesome/data/solid/shapes.svg
new file mode 100644
index 0000000..ccedf71
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/shapes.svg
@@ -0,0 +1 @@
+
diff --git a/custom_components/fontawesome/data/solid/share-alt-square.svg b/custom_components/fontawesome/data/solid/share-alt-square.svg
new file mode 100644
index 0000000..7d48e45
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/share-alt-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/share-alt.svg b/custom_components/fontawesome/data/solid/share-alt.svg
new file mode 100644
index 0000000..2f3151d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/share-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/share-square.svg b/custom_components/fontawesome/data/solid/share-square.svg
new file mode 100644
index 0000000..f66404d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/share-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/share.svg b/custom_components/fontawesome/data/solid/share.svg
new file mode 100644
index 0000000..e7e262b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/share.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/shekel-sign.svg b/custom_components/fontawesome/data/solid/shekel-sign.svg
new file mode 100644
index 0000000..079555e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/shekel-sign.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/shield-alt.svg b/custom_components/fontawesome/data/solid/shield-alt.svg
new file mode 100644
index 0000000..380df30
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/shield-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/shield-virus.svg b/custom_components/fontawesome/data/solid/shield-virus.svg
new file mode 100644
index 0000000..65beed6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/shield-virus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ship.svg b/custom_components/fontawesome/data/solid/ship.svg
new file mode 100644
index 0000000..61e0315
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ship.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/shipping-fast.svg b/custom_components/fontawesome/data/solid/shipping-fast.svg
new file mode 100644
index 0000000..342f4d4
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/shipping-fast.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/shoe-prints.svg b/custom_components/fontawesome/data/solid/shoe-prints.svg
new file mode 100644
index 0000000..9f056d4
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/shoe-prints.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/shopping-bag.svg b/custom_components/fontawesome/data/solid/shopping-bag.svg
new file mode 100644
index 0000000..78f8a42
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/shopping-bag.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/shopping-basket.svg b/custom_components/fontawesome/data/solid/shopping-basket.svg
new file mode 100644
index 0000000..6eef20e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/shopping-basket.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/shopping-cart.svg b/custom_components/fontawesome/data/solid/shopping-cart.svg
new file mode 100644
index 0000000..d409917
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/shopping-cart.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/shower.svg b/custom_components/fontawesome/data/solid/shower.svg
new file mode 100644
index 0000000..4a74f9b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/shower.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/shuttle-van.svg b/custom_components/fontawesome/data/solid/shuttle-van.svg
new file mode 100644
index 0000000..7d75c80
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/shuttle-van.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sign-in-alt.svg b/custom_components/fontawesome/data/solid/sign-in-alt.svg
new file mode 100644
index 0000000..5b235c0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sign-in-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sign-language.svg b/custom_components/fontawesome/data/solid/sign-language.svg
new file mode 100644
index 0000000..552cb4a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sign-language.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sign-out-alt.svg b/custom_components/fontawesome/data/solid/sign-out-alt.svg
new file mode 100644
index 0000000..ca98533
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sign-out-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sign.svg b/custom_components/fontawesome/data/solid/sign.svg
new file mode 100644
index 0000000..0b2a45b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sign.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/signal.svg b/custom_components/fontawesome/data/solid/signal.svg
new file mode 100644
index 0000000..d929175
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/signal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/signature.svg b/custom_components/fontawesome/data/solid/signature.svg
new file mode 100644
index 0000000..de2832b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/signature.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sim-card.svg b/custom_components/fontawesome/data/solid/sim-card.svg
new file mode 100644
index 0000000..1278619
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sim-card.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sitemap.svg b/custom_components/fontawesome/data/solid/sitemap.svg
new file mode 100644
index 0000000..a7009ea
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sitemap.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/skating.svg b/custom_components/fontawesome/data/solid/skating.svg
new file mode 100644
index 0000000..74d5006
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/skating.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/skiing-nordic.svg b/custom_components/fontawesome/data/solid/skiing-nordic.svg
new file mode 100644
index 0000000..1c29fc3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/skiing-nordic.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/skiing.svg b/custom_components/fontawesome/data/solid/skiing.svg
new file mode 100644
index 0000000..3362f8f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/skiing.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/skull-crossbones.svg b/custom_components/fontawesome/data/solid/skull-crossbones.svg
new file mode 100644
index 0000000..aae294f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/skull-crossbones.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/skull.svg b/custom_components/fontawesome/data/solid/skull.svg
new file mode 100644
index 0000000..7242969
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/skull.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/slash.svg b/custom_components/fontawesome/data/solid/slash.svg
new file mode 100644
index 0000000..aa5bcdb
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sleigh.svg b/custom_components/fontawesome/data/solid/sleigh.svg
new file mode 100644
index 0000000..1ea545c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sleigh.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sliders-h.svg b/custom_components/fontawesome/data/solid/sliders-h.svg
new file mode 100644
index 0000000..e5d7fd7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sliders-h.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/smile-beam.svg b/custom_components/fontawesome/data/solid/smile-beam.svg
new file mode 100644
index 0000000..3869575
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/smile-beam.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/smile-wink.svg b/custom_components/fontawesome/data/solid/smile-wink.svg
new file mode 100644
index 0000000..b85ec11
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/smile-wink.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/smile.svg b/custom_components/fontawesome/data/solid/smile.svg
new file mode 100644
index 0000000..dc8784a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/smile.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/smog.svg b/custom_components/fontawesome/data/solid/smog.svg
new file mode 100644
index 0000000..d7f6897
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/smog.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/smoking-ban.svg b/custom_components/fontawesome/data/solid/smoking-ban.svg
new file mode 100644
index 0000000..4382b1f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/smoking-ban.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/smoking.svg b/custom_components/fontawesome/data/solid/smoking.svg
new file mode 100644
index 0000000..6dd4157
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/smoking.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sms.svg b/custom_components/fontawesome/data/solid/sms.svg
new file mode 100644
index 0000000..6a6e950
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sms.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/snowboarding.svg b/custom_components/fontawesome/data/solid/snowboarding.svg
new file mode 100644
index 0000000..d241f40
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/snowboarding.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/snowflake.svg b/custom_components/fontawesome/data/solid/snowflake.svg
new file mode 100644
index 0000000..270da5d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/snowflake.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/snowman.svg b/custom_components/fontawesome/data/solid/snowman.svg
new file mode 100644
index 0000000..795a204
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/snowman.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/snowplow.svg b/custom_components/fontawesome/data/solid/snowplow.svg
new file mode 100644
index 0000000..19d31e9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/snowplow.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/soap.svg b/custom_components/fontawesome/data/solid/soap.svg
new file mode 100644
index 0000000..8996e19
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/soap.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/socks.svg b/custom_components/fontawesome/data/solid/socks.svg
new file mode 100644
index 0000000..1d17fa7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/socks.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/solar-panel.svg b/custom_components/fontawesome/data/solid/solar-panel.svg
new file mode 100644
index 0000000..2760e79
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/solar-panel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sort-alpha-down-alt.svg b/custom_components/fontawesome/data/solid/sort-alpha-down-alt.svg
new file mode 100644
index 0000000..c34b5d1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sort-alpha-down-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sort-alpha-down.svg b/custom_components/fontawesome/data/solid/sort-alpha-down.svg
new file mode 100644
index 0000000..7800320
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sort-alpha-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sort-alpha-up-alt.svg b/custom_components/fontawesome/data/solid/sort-alpha-up-alt.svg
new file mode 100644
index 0000000..0d61523
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sort-alpha-up-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sort-alpha-up.svg b/custom_components/fontawesome/data/solid/sort-alpha-up.svg
new file mode 100644
index 0000000..36c8932
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sort-alpha-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sort-amount-down-alt.svg b/custom_components/fontawesome/data/solid/sort-amount-down-alt.svg
new file mode 100644
index 0000000..1a817dd
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sort-amount-down-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sort-amount-down.svg b/custom_components/fontawesome/data/solid/sort-amount-down.svg
new file mode 100644
index 0000000..92e08a2
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sort-amount-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sort-amount-up-alt.svg b/custom_components/fontawesome/data/solid/sort-amount-up-alt.svg
new file mode 100644
index 0000000..0fa39e1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sort-amount-up-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sort-amount-up.svg b/custom_components/fontawesome/data/solid/sort-amount-up.svg
new file mode 100644
index 0000000..aecbc0c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sort-amount-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sort-down.svg b/custom_components/fontawesome/data/solid/sort-down.svg
new file mode 100644
index 0000000..2644ba2
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sort-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sort-numeric-down-alt.svg b/custom_components/fontawesome/data/solid/sort-numeric-down-alt.svg
new file mode 100644
index 0000000..ba1de58
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sort-numeric-down-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sort-numeric-down.svg b/custom_components/fontawesome/data/solid/sort-numeric-down.svg
new file mode 100644
index 0000000..c7c3282
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sort-numeric-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sort-numeric-up-alt.svg b/custom_components/fontawesome/data/solid/sort-numeric-up-alt.svg
new file mode 100644
index 0000000..415c748
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sort-numeric-up-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sort-numeric-up.svg b/custom_components/fontawesome/data/solid/sort-numeric-up.svg
new file mode 100644
index 0000000..046f49c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sort-numeric-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sort-up.svg b/custom_components/fontawesome/data/solid/sort-up.svg
new file mode 100644
index 0000000..c6e1001
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sort-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sort.svg b/custom_components/fontawesome/data/solid/sort.svg
new file mode 100644
index 0000000..89c0835
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sort.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/spa.svg b/custom_components/fontawesome/data/solid/spa.svg
new file mode 100644
index 0000000..d6909e8
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/spa.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/space-shuttle.svg b/custom_components/fontawesome/data/solid/space-shuttle.svg
new file mode 100644
index 0000000..1cf024d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/space-shuttle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/spell-check.svg b/custom_components/fontawesome/data/solid/spell-check.svg
new file mode 100644
index 0000000..d374427
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/spell-check.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/spider.svg b/custom_components/fontawesome/data/solid/spider.svg
new file mode 100644
index 0000000..a805e79
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/spider.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/spinner.svg b/custom_components/fontawesome/data/solid/spinner.svg
new file mode 100644
index 0000000..4397764
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/spinner.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/splotch.svg b/custom_components/fontawesome/data/solid/splotch.svg
new file mode 100644
index 0000000..070a1c1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/splotch.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/spray-can.svg b/custom_components/fontawesome/data/solid/spray-can.svg
new file mode 100644
index 0000000..05947c0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/spray-can.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/square-full.svg b/custom_components/fontawesome/data/solid/square-full.svg
new file mode 100644
index 0000000..7bb7394
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/square-full.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/square-root-alt.svg b/custom_components/fontawesome/data/solid/square-root-alt.svg
new file mode 100644
index 0000000..d6f33ad
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/square-root-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/square.svg b/custom_components/fontawesome/data/solid/square.svg
new file mode 100644
index 0000000..40338d4
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/stamp.svg b/custom_components/fontawesome/data/solid/stamp.svg
new file mode 100644
index 0000000..591a5bb
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/stamp.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/star-and-crescent.svg b/custom_components/fontawesome/data/solid/star-and-crescent.svg
new file mode 100644
index 0000000..6d37860
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/star-and-crescent.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/star-half-alt.svg b/custom_components/fontawesome/data/solid/star-half-alt.svg
new file mode 100644
index 0000000..5a9b4c3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/star-half-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/star-half.svg b/custom_components/fontawesome/data/solid/star-half.svg
new file mode 100644
index 0000000..6599dcb
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/star-half.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/star-of-david.svg b/custom_components/fontawesome/data/solid/star-of-david.svg
new file mode 100644
index 0000000..d9a5e5c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/star-of-david.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/star-of-life.svg b/custom_components/fontawesome/data/solid/star-of-life.svg
new file mode 100644
index 0000000..0737995
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/star-of-life.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/star.svg b/custom_components/fontawesome/data/solid/star.svg
new file mode 100644
index 0000000..7cfd13b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/star.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/step-backward.svg b/custom_components/fontawesome/data/solid/step-backward.svg
new file mode 100644
index 0000000..e6f0d10
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/step-backward.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/step-forward.svg b/custom_components/fontawesome/data/solid/step-forward.svg
new file mode 100644
index 0000000..33eb8fb
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/step-forward.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/stethoscope.svg b/custom_components/fontawesome/data/solid/stethoscope.svg
new file mode 100644
index 0000000..10d3056
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/stethoscope.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sticky-note.svg b/custom_components/fontawesome/data/solid/sticky-note.svg
new file mode 100644
index 0000000..4b577b8
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sticky-note.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/stop-circle.svg b/custom_components/fontawesome/data/solid/stop-circle.svg
new file mode 100644
index 0000000..15f56cd
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/stop-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/stop.svg b/custom_components/fontawesome/data/solid/stop.svg
new file mode 100644
index 0000000..40338d4
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/stop.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/stopwatch-20.svg b/custom_components/fontawesome/data/solid/stopwatch-20.svg
new file mode 100644
index 0000000..dc6ee4b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/stopwatch-20.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/stopwatch.svg b/custom_components/fontawesome/data/solid/stopwatch.svg
new file mode 100644
index 0000000..72c1345
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/stopwatch.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/store-alt-slash.svg b/custom_components/fontawesome/data/solid/store-alt-slash.svg
new file mode 100644
index 0000000..d838b7d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/store-alt-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/store-alt.svg b/custom_components/fontawesome/data/solid/store-alt.svg
new file mode 100644
index 0000000..488759f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/store-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/store-slash.svg b/custom_components/fontawesome/data/solid/store-slash.svg
new file mode 100644
index 0000000..747ac32
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/store-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/store.svg b/custom_components/fontawesome/data/solid/store.svg
new file mode 100644
index 0000000..aa0281f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/store.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/stream.svg b/custom_components/fontawesome/data/solid/stream.svg
new file mode 100644
index 0000000..938cc18
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/stream.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/street-view.svg b/custom_components/fontawesome/data/solid/street-view.svg
new file mode 100644
index 0000000..2ae0457
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/street-view.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/strikethrough.svg b/custom_components/fontawesome/data/solid/strikethrough.svg
new file mode 100644
index 0000000..b7c31c7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/strikethrough.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/stroopwafel.svg b/custom_components/fontawesome/data/solid/stroopwafel.svg
new file mode 100644
index 0000000..fdea44c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/stroopwafel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/subscript.svg b/custom_components/fontawesome/data/solid/subscript.svg
new file mode 100644
index 0000000..3b326b9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/subscript.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/subway.svg b/custom_components/fontawesome/data/solid/subway.svg
new file mode 100644
index 0000000..19e5a37
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/subway.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/suitcase-rolling.svg b/custom_components/fontawesome/data/solid/suitcase-rolling.svg
new file mode 100644
index 0000000..d54be1e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/suitcase-rolling.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/suitcase.svg b/custom_components/fontawesome/data/solid/suitcase.svg
new file mode 100644
index 0000000..effa01c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/suitcase.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sun.svg b/custom_components/fontawesome/data/solid/sun.svg
new file mode 100644
index 0000000..19bc76b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sun.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/superscript.svg b/custom_components/fontawesome/data/solid/superscript.svg
new file mode 100644
index 0000000..2d7cf89
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/superscript.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/surprise.svg b/custom_components/fontawesome/data/solid/surprise.svg
new file mode 100644
index 0000000..478b6b0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/surprise.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/swatchbook.svg b/custom_components/fontawesome/data/solid/swatchbook.svg
new file mode 100644
index 0000000..58b8a87
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/swatchbook.svg
@@ -0,0 +1 @@
+
diff --git a/custom_components/fontawesome/data/solid/swimmer.svg b/custom_components/fontawesome/data/solid/swimmer.svg
new file mode 100644
index 0000000..261e60b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/swimmer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/swimming-pool.svg b/custom_components/fontawesome/data/solid/swimming-pool.svg
new file mode 100644
index 0000000..533688d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/swimming-pool.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/synagogue.svg b/custom_components/fontawesome/data/solid/synagogue.svg
new file mode 100644
index 0000000..6f3d7c7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/synagogue.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sync-alt.svg b/custom_components/fontawesome/data/solid/sync-alt.svg
new file mode 100644
index 0000000..3c3106d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sync-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/sync.svg b/custom_components/fontawesome/data/solid/sync.svg
new file mode 100644
index 0000000..9b6d208
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/sync.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/syringe.svg b/custom_components/fontawesome/data/solid/syringe.svg
new file mode 100644
index 0000000..95626f7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/syringe.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/table-tennis.svg b/custom_components/fontawesome/data/solid/table-tennis.svg
new file mode 100644
index 0000000..a7f5e9a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/table-tennis.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/table.svg b/custom_components/fontawesome/data/solid/table.svg
new file mode 100644
index 0000000..5690c5c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/table.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tablet-alt.svg b/custom_components/fontawesome/data/solid/tablet-alt.svg
new file mode 100644
index 0000000..9e962f7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tablet-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tablet.svg b/custom_components/fontawesome/data/solid/tablet.svg
new file mode 100644
index 0000000..da45e7d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tablet.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tablets.svg b/custom_components/fontawesome/data/solid/tablets.svg
new file mode 100644
index 0000000..74c8265
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tablets.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tachometer-alt.svg b/custom_components/fontawesome/data/solid/tachometer-alt.svg
new file mode 100644
index 0000000..977e1e9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tachometer-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tag.svg b/custom_components/fontawesome/data/solid/tag.svg
new file mode 100644
index 0000000..6793a2e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tag.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tags.svg b/custom_components/fontawesome/data/solid/tags.svg
new file mode 100644
index 0000000..192075b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tags.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tape.svg b/custom_components/fontawesome/data/solid/tape.svg
new file mode 100644
index 0000000..1fbaa1d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tape.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tasks.svg b/custom_components/fontawesome/data/solid/tasks.svg
new file mode 100644
index 0000000..645dddd
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tasks.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/taxi.svg b/custom_components/fontawesome/data/solid/taxi.svg
new file mode 100644
index 0000000..13f05d0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/taxi.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/teeth-open.svg b/custom_components/fontawesome/data/solid/teeth-open.svg
new file mode 100644
index 0000000..f02650a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/teeth-open.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/teeth.svg b/custom_components/fontawesome/data/solid/teeth.svg
new file mode 100644
index 0000000..17e4027
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/teeth.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/temperature-high.svg b/custom_components/fontawesome/data/solid/temperature-high.svg
new file mode 100644
index 0000000..e61b22b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/temperature-high.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/temperature-low.svg b/custom_components/fontawesome/data/solid/temperature-low.svg
new file mode 100644
index 0000000..07d2427
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/temperature-low.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tenge.svg b/custom_components/fontawesome/data/solid/tenge.svg
new file mode 100644
index 0000000..cc8be5c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tenge.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/terminal.svg b/custom_components/fontawesome/data/solid/terminal.svg
new file mode 100644
index 0000000..85b2b5e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/terminal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/text-height.svg b/custom_components/fontawesome/data/solid/text-height.svg
new file mode 100644
index 0000000..1dc0136
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/text-height.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/text-width.svg b/custom_components/fontawesome/data/solid/text-width.svg
new file mode 100644
index 0000000..6373985
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/text-width.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/th-large.svg b/custom_components/fontawesome/data/solid/th-large.svg
new file mode 100644
index 0000000..7894f58
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/th-large.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/th-list.svg b/custom_components/fontawesome/data/solid/th-list.svg
new file mode 100644
index 0000000..361af54
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/th-list.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/th.svg b/custom_components/fontawesome/data/solid/th.svg
new file mode 100644
index 0000000..73b6c92
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/th.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/theater-masks.svg b/custom_components/fontawesome/data/solid/theater-masks.svg
new file mode 100644
index 0000000..d16e663
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/theater-masks.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/thermometer-empty.svg b/custom_components/fontawesome/data/solid/thermometer-empty.svg
new file mode 100644
index 0000000..5a6a6b8
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/thermometer-empty.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/thermometer-full.svg b/custom_components/fontawesome/data/solid/thermometer-full.svg
new file mode 100644
index 0000000..caeb8b6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/thermometer-full.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/thermometer-half.svg b/custom_components/fontawesome/data/solid/thermometer-half.svg
new file mode 100644
index 0000000..8c35512
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/thermometer-half.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/thermometer-quarter.svg b/custom_components/fontawesome/data/solid/thermometer-quarter.svg
new file mode 100644
index 0000000..0478872
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/thermometer-quarter.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/thermometer-three-quarters.svg b/custom_components/fontawesome/data/solid/thermometer-three-quarters.svg
new file mode 100644
index 0000000..b5188d5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/thermometer-three-quarters.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/thermometer.svg b/custom_components/fontawesome/data/solid/thermometer.svg
new file mode 100644
index 0000000..af0b9ef
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/thermometer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/thumbs-down.svg b/custom_components/fontawesome/data/solid/thumbs-down.svg
new file mode 100644
index 0000000..1cb6e67
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/thumbs-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/thumbs-up.svg b/custom_components/fontawesome/data/solid/thumbs-up.svg
new file mode 100644
index 0000000..539949d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/thumbs-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/thumbtack.svg b/custom_components/fontawesome/data/solid/thumbtack.svg
new file mode 100644
index 0000000..7b98d28
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/thumbtack.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/ticket-alt.svg b/custom_components/fontawesome/data/solid/ticket-alt.svg
new file mode 100644
index 0000000..7015846
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/ticket-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/times-circle.svg b/custom_components/fontawesome/data/solid/times-circle.svg
new file mode 100644
index 0000000..cdee941
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/times-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/times.svg b/custom_components/fontawesome/data/solid/times.svg
new file mode 100644
index 0000000..571a32a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/times.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tint-slash.svg b/custom_components/fontawesome/data/solid/tint-slash.svg
new file mode 100644
index 0000000..df76bdf
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tint-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tint.svg b/custom_components/fontawesome/data/solid/tint.svg
new file mode 100644
index 0000000..8dd8f93
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tint.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tired.svg b/custom_components/fontawesome/data/solid/tired.svg
new file mode 100644
index 0000000..bdc5ce0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tired.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/toggle-off.svg b/custom_components/fontawesome/data/solid/toggle-off.svg
new file mode 100644
index 0000000..dce9c00
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/toggle-off.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/toggle-on.svg b/custom_components/fontawesome/data/solid/toggle-on.svg
new file mode 100644
index 0000000..6c4c2dc
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/toggle-on.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/toilet-paper-slash.svg b/custom_components/fontawesome/data/solid/toilet-paper-slash.svg
new file mode 100644
index 0000000..930dd8e
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/toilet-paper-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/toilet-paper.svg b/custom_components/fontawesome/data/solid/toilet-paper.svg
new file mode 100644
index 0000000..6201721
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/toilet-paper.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/toilet.svg b/custom_components/fontawesome/data/solid/toilet.svg
new file mode 100644
index 0000000..c5abd01
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/toilet.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/toolbox.svg b/custom_components/fontawesome/data/solid/toolbox.svg
new file mode 100644
index 0000000..dc11fef
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/toolbox.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tools.svg b/custom_components/fontawesome/data/solid/tools.svg
new file mode 100644
index 0000000..668d558
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tools.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tooth.svg b/custom_components/fontawesome/data/solid/tooth.svg
new file mode 100644
index 0000000..745734c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tooth.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/torah.svg b/custom_components/fontawesome/data/solid/torah.svg
new file mode 100644
index 0000000..2fb1234
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/torah.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/torii-gate.svg b/custom_components/fontawesome/data/solid/torii-gate.svg
new file mode 100644
index 0000000..e66bce7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/torii-gate.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tractor.svg b/custom_components/fontawesome/data/solid/tractor.svg
new file mode 100644
index 0000000..5390d1c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tractor.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/trademark.svg b/custom_components/fontawesome/data/solid/trademark.svg
new file mode 100644
index 0000000..4898eb5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/trademark.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/traffic-light.svg b/custom_components/fontawesome/data/solid/traffic-light.svg
new file mode 100644
index 0000000..0eb4de1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/traffic-light.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/trailer.svg b/custom_components/fontawesome/data/solid/trailer.svg
new file mode 100644
index 0000000..6ec4e19
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/trailer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/train.svg b/custom_components/fontawesome/data/solid/train.svg
new file mode 100644
index 0000000..79c0266
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/train.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tram.svg b/custom_components/fontawesome/data/solid/tram.svg
new file mode 100644
index 0000000..e315697
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tram.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/transgender-alt.svg b/custom_components/fontawesome/data/solid/transgender-alt.svg
new file mode 100644
index 0000000..6c1d167
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/transgender-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/transgender.svg b/custom_components/fontawesome/data/solid/transgender.svg
new file mode 100644
index 0000000..10d7393
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/transgender.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/trash-alt.svg b/custom_components/fontawesome/data/solid/trash-alt.svg
new file mode 100644
index 0000000..6305280
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/trash-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/trash-restore-alt.svg b/custom_components/fontawesome/data/solid/trash-restore-alt.svg
new file mode 100644
index 0000000..ba91cca
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/trash-restore-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/trash-restore.svg b/custom_components/fontawesome/data/solid/trash-restore.svg
new file mode 100644
index 0000000..e3c351f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/trash-restore.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/trash.svg b/custom_components/fontawesome/data/solid/trash.svg
new file mode 100644
index 0000000..dec54fa
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/trash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tree.svg b/custom_components/fontawesome/data/solid/tree.svg
new file mode 100644
index 0000000..a3c7f93
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tree.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/trophy.svg b/custom_components/fontawesome/data/solid/trophy.svg
new file mode 100644
index 0000000..6157afa
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/trophy.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/truck-loading.svg b/custom_components/fontawesome/data/solid/truck-loading.svg
new file mode 100644
index 0000000..7153afd
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/truck-loading.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/truck-monster.svg b/custom_components/fontawesome/data/solid/truck-monster.svg
new file mode 100644
index 0000000..8f31fd3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/truck-monster.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/truck-moving.svg b/custom_components/fontawesome/data/solid/truck-moving.svg
new file mode 100644
index 0000000..18ea46f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/truck-moving.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/truck-pickup.svg b/custom_components/fontawesome/data/solid/truck-pickup.svg
new file mode 100644
index 0000000..337e8ae
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/truck-pickup.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/truck.svg b/custom_components/fontawesome/data/solid/truck.svg
new file mode 100644
index 0000000..8b405fe
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/truck.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tshirt.svg b/custom_components/fontawesome/data/solid/tshirt.svg
new file mode 100644
index 0000000..4cdf227
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tshirt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tty.svg b/custom_components/fontawesome/data/solid/tty.svg
new file mode 100644
index 0000000..acc1e3d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tty.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/tv.svg b/custom_components/fontawesome/data/solid/tv.svg
new file mode 100644
index 0000000..4e33e61
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/tv.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/umbrella-beach.svg b/custom_components/fontawesome/data/solid/umbrella-beach.svg
new file mode 100644
index 0000000..9a75c52
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/umbrella-beach.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/umbrella.svg b/custom_components/fontawesome/data/solid/umbrella.svg
new file mode 100644
index 0000000..83de3d7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/umbrella.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/underline.svg b/custom_components/fontawesome/data/solid/underline.svg
new file mode 100644
index 0000000..332619a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/underline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/undo-alt.svg b/custom_components/fontawesome/data/solid/undo-alt.svg
new file mode 100644
index 0000000..bdc97ca
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/undo-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/undo.svg b/custom_components/fontawesome/data/solid/undo.svg
new file mode 100644
index 0000000..44b3904
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/undo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/universal-access.svg b/custom_components/fontawesome/data/solid/universal-access.svg
new file mode 100644
index 0000000..1079d87
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/universal-access.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/university.svg b/custom_components/fontawesome/data/solid/university.svg
new file mode 100644
index 0000000..cf4d785
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/university.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/unlink.svg b/custom_components/fontawesome/data/solid/unlink.svg
new file mode 100644
index 0000000..8cba9f8
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/unlink.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/unlock-alt.svg b/custom_components/fontawesome/data/solid/unlock-alt.svg
new file mode 100644
index 0000000..b38ffb6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/unlock-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/unlock.svg b/custom_components/fontawesome/data/solid/unlock.svg
new file mode 100644
index 0000000..0b2258a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/unlock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/upload.svg b/custom_components/fontawesome/data/solid/upload.svg
new file mode 100644
index 0000000..1c880b5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/upload.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-alt-slash.svg b/custom_components/fontawesome/data/solid/user-alt-slash.svg
new file mode 100644
index 0000000..74f8597
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-alt-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-alt.svg b/custom_components/fontawesome/data/solid/user-alt.svg
new file mode 100644
index 0000000..024cb44
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-astronaut.svg b/custom_components/fontawesome/data/solid/user-astronaut.svg
new file mode 100644
index 0000000..631f168
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-astronaut.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-check.svg b/custom_components/fontawesome/data/solid/user-check.svg
new file mode 100644
index 0000000..a630611
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-check.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-circle.svg b/custom_components/fontawesome/data/solid/user-circle.svg
new file mode 100644
index 0000000..6e03b1b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-clock.svg b/custom_components/fontawesome/data/solid/user-clock.svg
new file mode 100644
index 0000000..1c45c70
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-clock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-cog.svg b/custom_components/fontawesome/data/solid/user-cog.svg
new file mode 100644
index 0000000..bae9930
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-cog.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-edit.svg b/custom_components/fontawesome/data/solid/user-edit.svg
new file mode 100644
index 0000000..bde9c90
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-edit.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-friends.svg b/custom_components/fontawesome/data/solid/user-friends.svg
new file mode 100644
index 0000000..2e43c59
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-friends.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-graduate.svg b/custom_components/fontawesome/data/solid/user-graduate.svg
new file mode 100644
index 0000000..8855caa
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-graduate.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-injured.svg b/custom_components/fontawesome/data/solid/user-injured.svg
new file mode 100644
index 0000000..57de4b9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-injured.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-lock.svg b/custom_components/fontawesome/data/solid/user-lock.svg
new file mode 100644
index 0000000..b3be5dc
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-lock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-md.svg b/custom_components/fontawesome/data/solid/user-md.svg
new file mode 100644
index 0000000..583cdc3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-md.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-minus.svg b/custom_components/fontawesome/data/solid/user-minus.svg
new file mode 100644
index 0000000..f019e70
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-minus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-ninja.svg b/custom_components/fontawesome/data/solid/user-ninja.svg
new file mode 100644
index 0000000..7bdec36
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-ninja.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-nurse.svg b/custom_components/fontawesome/data/solid/user-nurse.svg
new file mode 100644
index 0000000..e3a4da8
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-nurse.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-plus.svg b/custom_components/fontawesome/data/solid/user-plus.svg
new file mode 100644
index 0000000..01c84c3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-plus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-secret.svg b/custom_components/fontawesome/data/solid/user-secret.svg
new file mode 100644
index 0000000..daae530
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-secret.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-shield.svg b/custom_components/fontawesome/data/solid/user-shield.svg
new file mode 100644
index 0000000..7cfba68
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-shield.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-slash.svg b/custom_components/fontawesome/data/solid/user-slash.svg
new file mode 100644
index 0000000..491e32a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-tag.svg b/custom_components/fontawesome/data/solid/user-tag.svg
new file mode 100644
index 0000000..ec1a1e7
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-tag.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-tie.svg b/custom_components/fontawesome/data/solid/user-tie.svg
new file mode 100644
index 0000000..9bd9f95
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-tie.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user-times.svg b/custom_components/fontawesome/data/solid/user-times.svg
new file mode 100644
index 0000000..341b1f1
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user-times.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/user.svg b/custom_components/fontawesome/data/solid/user.svg
new file mode 100644
index 0000000..591873a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/user.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/users-cog.svg b/custom_components/fontawesome/data/solid/users-cog.svg
new file mode 100644
index 0000000..a90e8b0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/users-cog.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/users.svg b/custom_components/fontawesome/data/solid/users.svg
new file mode 100644
index 0000000..3f07aab
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/users.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/utensil-spoon.svg b/custom_components/fontawesome/data/solid/utensil-spoon.svg
new file mode 100644
index 0000000..ec19dac
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/utensil-spoon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/utensils.svg b/custom_components/fontawesome/data/solid/utensils.svg
new file mode 100644
index 0000000..29fa05a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/utensils.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/vector-square.svg b/custom_components/fontawesome/data/solid/vector-square.svg
new file mode 100644
index 0000000..848b9fb
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/vector-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/venus-double.svg b/custom_components/fontawesome/data/solid/venus-double.svg
new file mode 100644
index 0000000..8fa1ba9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/venus-double.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/venus-mars.svg b/custom_components/fontawesome/data/solid/venus-mars.svg
new file mode 100644
index 0000000..78089d8
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/venus-mars.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/venus.svg b/custom_components/fontawesome/data/solid/venus.svg
new file mode 100644
index 0000000..637ef0c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/venus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/vial.svg b/custom_components/fontawesome/data/solid/vial.svg
new file mode 100644
index 0000000..e01d94a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/vial.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/vials.svg b/custom_components/fontawesome/data/solid/vials.svg
new file mode 100644
index 0000000..13e7c5a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/vials.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/video-slash.svg b/custom_components/fontawesome/data/solid/video-slash.svg
new file mode 100644
index 0000000..d221789
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/video-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/video.svg b/custom_components/fontawesome/data/solid/video.svg
new file mode 100644
index 0000000..e14b3b9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/video.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/vihara.svg b/custom_components/fontawesome/data/solid/vihara.svg
new file mode 100644
index 0000000..d25739c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/vihara.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/virus-slash.svg b/custom_components/fontawesome/data/solid/virus-slash.svg
new file mode 100644
index 0000000..2084bcc
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/virus-slash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/virus.svg b/custom_components/fontawesome/data/solid/virus.svg
new file mode 100644
index 0000000..6a57088
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/virus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/viruses.svg b/custom_components/fontawesome/data/solid/viruses.svg
new file mode 100644
index 0000000..1894e94
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/viruses.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/voicemail.svg b/custom_components/fontawesome/data/solid/voicemail.svg
new file mode 100644
index 0000000..0eeddca
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/voicemail.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/volleyball-ball.svg b/custom_components/fontawesome/data/solid/volleyball-ball.svg
new file mode 100644
index 0000000..cd179f2
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/volleyball-ball.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/volume-down.svg b/custom_components/fontawesome/data/solid/volume-down.svg
new file mode 100644
index 0000000..b3105c3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/volume-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/volume-mute.svg b/custom_components/fontawesome/data/solid/volume-mute.svg
new file mode 100644
index 0000000..b78aad6
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/volume-mute.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/volume-off.svg b/custom_components/fontawesome/data/solid/volume-off.svg
new file mode 100644
index 0000000..f8962ed
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/volume-off.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/volume-up.svg b/custom_components/fontawesome/data/solid/volume-up.svg
new file mode 100644
index 0000000..c85f3e8
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/volume-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/vote-yea.svg b/custom_components/fontawesome/data/solid/vote-yea.svg
new file mode 100644
index 0000000..496a576
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/vote-yea.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/vr-cardboard.svg b/custom_components/fontawesome/data/solid/vr-cardboard.svg
new file mode 100644
index 0000000..dd9eff5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/vr-cardboard.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/walking.svg b/custom_components/fontawesome/data/solid/walking.svg
new file mode 100644
index 0000000..4e85cd5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/walking.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/wallet.svg b/custom_components/fontawesome/data/solid/wallet.svg
new file mode 100644
index 0000000..f584229
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/wallet.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/warehouse.svg b/custom_components/fontawesome/data/solid/warehouse.svg
new file mode 100644
index 0000000..2e827c0
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/warehouse.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/water.svg b/custom_components/fontawesome/data/solid/water.svg
new file mode 100644
index 0000000..cc7a7d3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/water.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/wave-square.svg b/custom_components/fontawesome/data/solid/wave-square.svg
new file mode 100644
index 0000000..dba15b9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/wave-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/weight-hanging.svg b/custom_components/fontawesome/data/solid/weight-hanging.svg
new file mode 100644
index 0000000..db2801a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/weight-hanging.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/weight.svg b/custom_components/fontawesome/data/solid/weight.svg
new file mode 100644
index 0000000..12e7df5
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/weight.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/wheelchair.svg b/custom_components/fontawesome/data/solid/wheelchair.svg
new file mode 100644
index 0000000..e474ae3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/wheelchair.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/wifi.svg b/custom_components/fontawesome/data/solid/wifi.svg
new file mode 100644
index 0000000..5ac43b3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/wifi.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/wind.svg b/custom_components/fontawesome/data/solid/wind.svg
new file mode 100644
index 0000000..705d74b
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/wind.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/window-close.svg b/custom_components/fontawesome/data/solid/window-close.svg
new file mode 100644
index 0000000..da63df9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/window-close.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/window-maximize.svg b/custom_components/fontawesome/data/solid/window-maximize.svg
new file mode 100644
index 0000000..d305d0a
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/window-maximize.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/window-minimize.svg b/custom_components/fontawesome/data/solid/window-minimize.svg
new file mode 100644
index 0000000..c0e48b3
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/window-minimize.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/window-restore.svg b/custom_components/fontawesome/data/solid/window-restore.svg
new file mode 100644
index 0000000..355ce8f
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/window-restore.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/wine-bottle.svg b/custom_components/fontawesome/data/solid/wine-bottle.svg
new file mode 100644
index 0000000..6b66813
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/wine-bottle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/wine-glass-alt.svg b/custom_components/fontawesome/data/solid/wine-glass-alt.svg
new file mode 100644
index 0000000..2822897
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/wine-glass-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/wine-glass.svg b/custom_components/fontawesome/data/solid/wine-glass.svg
new file mode 100644
index 0000000..a27377d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/wine-glass.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/won-sign.svg b/custom_components/fontawesome/data/solid/won-sign.svg
new file mode 100644
index 0000000..4cfd37d
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/won-sign.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/wrench.svg b/custom_components/fontawesome/data/solid/wrench.svg
new file mode 100644
index 0000000..378cf6c
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/wrench.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/x-ray.svg b/custom_components/fontawesome/data/solid/x-ray.svg
new file mode 100644
index 0000000..fe20d41
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/x-ray.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/yen-sign.svg b/custom_components/fontawesome/data/solid/yen-sign.svg
new file mode 100644
index 0000000..3cdb4ec
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/yen-sign.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/data/solid/yin-yang.svg b/custom_components/fontawesome/data/solid/yin-yang.svg
new file mode 100644
index 0000000..7aa88f9
--- /dev/null
+++ b/custom_components/fontawesome/data/solid/yin-yang.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/custom_components/fontawesome/main.js b/custom_components/fontawesome/main.js
new file mode 100644
index 0000000..42efc7f
--- /dev/null
+++ b/custom_components/fontawesome/main.js
@@ -0,0 +1 @@
+(()=>{const t={},o={"fa-primary":"primary","fa-secondary":"secondary",primary:"primary",secondary:"secondary"},e=(e,n)=>new Promise((async(s,a)=>{const r=`${e}:${n}`;t[r]&&s(t[r]),t[r]=(async(t,e)=>{const[n,s]=e.split("#"),a=await fetch(`/fontawesome/icons/${t}/${n}.svg`),r=await a.text(),c=(new DOMParser).parseFromString(r,"text/html");if(!c||!c.querySelector("svg"))return{};const i=c.querySelector("svg").getAttribute("viewBox"),l=c.querySelectorAll("path"),d={};let h="";for(const t of l){h+=t.getAttribute("d");const e=t.classList[0];o[e]&&(d[o[e]]=t.getAttribute("d"))}let p=null;const m=c.querySelector("svg");return Array.from(m.attributes).some((t=>t.name.startsWith("on")))||m.getElementsByTagName("script").length||(p=m),{viewBox:i,path:h,paths:d,format:s,fullCode:p}})(e,n),s(t[r])}));window.getIcon=e,"customIconsets"in window||(window.customIconsets={}),window.customIconsets.fab=t=>e("brands",t),window.customIconsets.far=t=>e("regular",t),window.customIconsets.fas=t=>e("solid",t),window.customIconsets.fapro=t=>e("pro",t),window.customIconsets.facustom=t=>e("pro",t),customElements.whenDefined("ha-icon").then((()=>{customElements.get("ha-icon").prototype._setCustomPath=async function(t){const o=await t;this._path=o.path,this._viewBox=o.viewBox,await this.UpdateComplete;const e=this.shadowRoot.querySelector("ha-svg-icon");if(e&&e.setPaths)if(o.fullCode&&"fullcolor"===o.format){await e.updateComplete;const t=e.shadowRoot.querySelector("svg"),n=document.createElement("style");n.innerHTML="\n svg:first-child>g:first-of-type>path {\n display: none;\n }\n ",t.appendChild(n),t.appendChild(o.fullCode.cloneNode(!0))}else e.setPaths(o.paths),o.format&&e.classList.add(...o.format.split("-"))}})),customElements.whenDefined("ha-svg-icon").then((()=>{customElements.get("ha-svg-icon").prototype.setPaths=async function(t){if(await this.updateComplete,null==t||0===Object.keys(t).length)return;const o=this.shadowRoot.querySelector("style")||document.createElement("style");o.innerHTML="\n .secondary {\n opacity: 0.4;\n }\n :host(.invert) .secondary {\n opacity: 1;\n }\n :host(.invert) .primary {\n opacity: 0.4;\n }\n :host(.color) .primary {\n opacity: 1;\n }\n :host(.color) .secondary {\n opacity: 1;\n }\n :host(.color:not(.invert)) .secondary {\n fill: var(--icon-secondary-color, var(--disabled-text-color));\n }\n :host(.color.invert) .primary {\n fill: var(--icon-secondary-color, var(--disabled-text-color));\n }\n path:not(.primary):not(.secondary) {\n opacity: 0;\n }\n ",this.shadowRoot.appendChild(o);const e=this.shadowRoot.querySelector("g");for(const o in t){const n=document.createElementNS("http://www.w3.org/2000/svg","path");n.setAttribute("d",t[o]),n.classList.add(o),e.appendChild(n)}}}))})();
\ No newline at end of file
diff --git a/custom_components/fontawesome/manifest.json b/custom_components/fontawesome/manifest.json
index f90f54f..cfffe83 100644
--- a/custom_components/fontawesome/manifest.json
+++ b/custom_components/fontawesome/manifest.json
@@ -1,9 +1,11 @@
{
"domain": "fontawesome",
"name": "Fontawesome icons",
- "documentation": "",
+ "documentation": "https://github.com/thomasloven/hass-fontawesome",
"dependencies": ["frontend"],
"codeowners": [],
"requirements": [],
- "config_flow": true
+ "config_flow": true,
+ "version": "2.1.2",
+ "iot_class": "local_polling"
}
\ No newline at end of file
diff --git a/custom_components/fontawesome/translations/en.json b/custom_components/fontawesome/translations/en.json
index 84b9633..73c8976 100644
--- a/custom_components/fontawesome/translations/en.json
+++ b/custom_components/fontawesome/translations/en.json
@@ -1,21 +1,9 @@
{
+ "title": "FontAwesome",
"config": {
- "title": "FontAwesome",
"abort": {
"single_instance_allowed": "Only a single configuration of FontAwesome is allowed."
- }
- },
- "options": {
- "step": {
- "init": {
- "title": "Icon sets",
- "description": "Which icon sets to include",
- "data": {
- "regular": "Include Regular icons (far:)",
- "solid": "Include Solid icons (fas:)",
- "brands": "Include Brand icons (fab:)"
- }
- }
- }
+ },
+ "step": {}
}
}
\ No newline at end of file
diff --git a/custom_components/landroid_cloud/__pycache__/__init__.cpython-37.pyc b/custom_components/landroid_cloud/__pycache__/__init__.cpython-37.pyc
deleted file mode 100644
index c08f1cd..0000000
Binary files a/custom_components/landroid_cloud/__pycache__/__init__.cpython-37.pyc and /dev/null differ
diff --git a/custom_components/landroid_cloud/__pycache__/__init__.cpython-38.pyc b/custom_components/landroid_cloud/__pycache__/__init__.cpython-38.pyc
index 5e0d39c..78aadab 100644
Binary files a/custom_components/landroid_cloud/__pycache__/__init__.cpython-38.pyc and b/custom_components/landroid_cloud/__pycache__/__init__.cpython-38.pyc differ
diff --git a/custom_components/landroid_cloud/__pycache__/__init__.cpython-39.pyc b/custom_components/landroid_cloud/__pycache__/__init__.cpython-39.pyc
new file mode 100644
index 0000000..8604667
Binary files /dev/null and b/custom_components/landroid_cloud/__pycache__/__init__.cpython-39.pyc differ
diff --git a/custom_components/landroid_cloud/__pycache__/sensor.cpython-37.pyc b/custom_components/landroid_cloud/__pycache__/sensor.cpython-37.pyc
deleted file mode 100644
index a58e162..0000000
Binary files a/custom_components/landroid_cloud/__pycache__/sensor.cpython-37.pyc and /dev/null differ
diff --git a/custom_components/landroid_cloud/__pycache__/sensor.cpython-38.pyc b/custom_components/landroid_cloud/__pycache__/sensor.cpython-38.pyc
index a4bdb69..0166661 100644
Binary files a/custom_components/landroid_cloud/__pycache__/sensor.cpython-38.pyc and b/custom_components/landroid_cloud/__pycache__/sensor.cpython-38.pyc differ
diff --git a/custom_components/landroid_cloud/__pycache__/sensor.cpython-39.pyc b/custom_components/landroid_cloud/__pycache__/sensor.cpython-39.pyc
new file mode 100644
index 0000000..df6f6ed
Binary files /dev/null and b/custom_components/landroid_cloud/__pycache__/sensor.cpython-39.pyc differ
diff --git a/custom_components/reolink_dev/__init__.py b/custom_components/reolink_dev/__init__.py
index 0900ebc..49d3484 100644
--- a/custom_components/reolink_dev/__init__.py
+++ b/custom_components/reolink_dev/__init__.py
@@ -16,6 +16,7 @@ from homeassistant.const import (
)
from homeassistant.core import HomeAssistant
from homeassistant.helpers import device_registry
+from homeassistant.helpers.storage import STORAGE_DIR
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
from .base import ReolinkBase, ReolinkPush
@@ -24,17 +25,15 @@ from .const import (
CONF_CHANNEL,
CONF_MOTION_OFF_DELAY,
CONF_PLAYBACK_MONTHS,
- CONF_PLAYBACK_THUMBNAILS,
CONF_PROTOCOL,
CONF_STREAM,
- CONF_THUMBNAIL_OFFSET,
+ CONF_THUMBNAIL_PATH,
COORDINATOR,
- DEFAULT_PLAYBACK_THUMBNAILS,
- DEFAULT_THUMBNAIL_OFFSET,
DOMAIN,
EVENT_DATA_RECEIVED,
PUSH_MANAGER,
SERVICE_PTZ_CONTROL,
+ SERVICE_QUERY_VOD,
SERVICE_SET_DAYNIGHT,
SERVICE_SET_SENSITIVITY,
)
@@ -44,7 +43,7 @@ SCAN_INTERVAL = timedelta(minutes=1)
_LOGGER = logging.getLogger(__name__)
-PLATFORMS = ["camera", "switch", "binary_sensor"]
+PLATFORMS = ["camera", "switch", "binary_sensor", "sensor"]
async def async_setup(
@@ -53,6 +52,11 @@ async def async_setup(
"""Set up the Reolink component."""
hass.data.setdefault(DOMAIN, {})
+ # ensure default storage path is writable by scripts
+ default_thumbnail_path = hass.config.path(f"{STORAGE_DIR}/{DOMAIN}")
+ if default_thumbnail_path not in hass.config.allowlist_external_dirs:
+ hass.config.allowlist_external_dirs.add(default_thumbnail_path)
+
return True
@@ -118,13 +122,8 @@ async def update_listener(hass: HomeAssistant, entry: ConfigEntry):
base.motion_off_delay = entry.options[CONF_MOTION_OFF_DELAY]
base.playback_months = entry.options[CONF_PLAYBACK_MONTHS]
- base.playback_thumbnails = entry.options.get(
- CONF_PLAYBACK_THUMBNAILS, DEFAULT_PLAYBACK_THUMBNAILS
- )
- base.playback_thumbnail_offset = entry.options.get(
- CONF_THUMBNAIL_OFFSET, DEFAULT_THUMBNAIL_OFFSET
- )
+ base.set_thumbnail_path(entry.options.get(CONF_THUMBNAIL_PATH))
await base.set_timeout(entry.options[CONF_TIMEOUT])
await base.set_protocol(entry.options[CONF_PROTOCOL])
await base.set_stream(entry.options[CONF_STREAM])
@@ -156,5 +155,6 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry):
hass.services.async_remove(DOMAIN, SERVICE_PTZ_CONTROL)
hass.services.async_remove(DOMAIN, SERVICE_SET_DAYNIGHT)
hass.services.async_remove(DOMAIN, SERVICE_SET_SENSITIVITY)
+ hass.services.async_remove(DOMAIN, SERVICE_QUERY_VOD)
return unload_ok
diff --git a/custom_components/reolink_dev/base.py b/custom_components/reolink_dev/base.py
index b799e7a..50b0a6b 100644
--- a/custom_components/reolink_dev/base.py
+++ b/custom_components/reolink_dev/base.py
@@ -1,8 +1,14 @@
"""This component updates the camera API and subscription."""
import logging
+import os
import re
-from homeassistant.components.binary_sensor import DOMAIN as BINARY_SENSOR
+import datetime as dt
+from typing import Optional
+
+from urllib.parse import quote_plus
+from dateutil.relativedelta import relativedelta
+
from homeassistant.const import (
CONF_HOST,
CONF_PASSWORD,
@@ -10,24 +16,21 @@ from homeassistant.const import (
CONF_TIMEOUT,
CONF_USERNAME,
)
-from homeassistant.core import HomeAssistant
+from homeassistant.core import Context, HomeAssistant
from homeassistant.helpers.network import get_url
-from homeassistant.helpers.entity_registry import (
- async_entries_for_config_entry,
- async_get_registry as async_get_entity_registry,
-)
+from homeassistant.helpers.storage import STORAGE_DIR
+import homeassistant.util.dt as dt_util
from reolink.camera_api import Api
from reolink.subscription_manager import Manager
+from reolink.typings import SearchTime
+from .typings import VoDEvent, VoDEventThumbnail
from .const import (
BASE,
CONF_PLAYBACK_MONTHS,
- CONF_PLAYBACK_THUMBNAILS,
- CONF_THUMBNAIL_OFFSET,
+ CONF_THUMBNAIL_PATH,
DEFAULT_PLAYBACK_MONTHS,
- DEFAULT_PLAYBACK_THUMBNAILS,
- DEFAULT_THUMBNAIL_OFFSET,
EVENT_DATA_RECEIVED,
CONF_CHANNEL,
CONF_MOTION_OFF_DELAY,
@@ -41,10 +44,15 @@ from .const import (
DOMAIN,
PUSH_MANAGER,
SESSION_RENEW_THRESHOLD,
+ THUMBNAIL_EXTENSION,
+ THUMBNAIL_URL,
+ VOD_URL,
)
_LOGGER = logging.getLogger(__name__)
+STORAGE_VERSION = 1
+
class ReolinkBase:
"""The implementation of the Reolink IP base class."""
@@ -89,28 +97,24 @@ class ReolinkBase:
)
self._hass = hass
+ self.async_functions = list()
self.sync_functions = list()
self.motion_detection_state = True
if CONF_MOTION_OFF_DELAY not in options:
self.motion_off_delay = DEFAULT_MOTION_OFF_DELAY
else:
- self.motion_off_delay = options[CONF_MOTION_OFF_DELAY]
+ self.motion_off_delay: int = options[CONF_MOTION_OFF_DELAY]
if CONF_PLAYBACK_MONTHS not in options:
self.playback_months = DEFAULT_PLAYBACK_MONTHS
else:
- self.playback_months = options[CONF_PLAYBACK_MONTHS]
+ self.playback_months: int = options[CONF_PLAYBACK_MONTHS]
- if CONF_PLAYBACK_THUMBNAILS not in options:
- self.playback_thumbnails = DEFAULT_PLAYBACK_THUMBNAILS
+ if CONF_THUMBNAIL_PATH not in options:
+ self._thumbnail_path = None
else:
- self.playback_thumbnails = options[CONF_PLAYBACK_THUMBNAILS]
-
- if CONF_THUMBNAIL_OFFSET not in options:
- self.playback_thumbnail_offset = DEFAULT_THUMBNAIL_OFFSET
- else:
- self.playback_thumbnail_offset = options[CONF_THUMBNAIL_OFFSET]
+ self._thumbnail_path: str = options[CONF_THUMBNAIL_PATH]
@property
def name(self):
@@ -120,8 +124,8 @@ class ReolinkBase:
@property
def unique_id(self):
"""Create the unique ID, base for all entities."""
- id = self._api.mac_address.replace(":", "")
- return f"{id}-{self.channel}"
+ uid = self._api.mac_address.replace(":", "")
+ return f"{uid}-{self.channel}"
@property
def event_id(self):
@@ -150,13 +154,27 @@ class ReolinkBase:
"""Return the API object."""
return self._api
+ @property
+ def thumbnail_path(self):
+ """ Thumbnail storage location """
+ if not self._thumbnail_path:
+ self._thumbnail_path = self._hass.config.path(
+ f"{STORAGE_DIR}/{DOMAIN}/{self.unique_id}"
+ )
+ return self._thumbnail_path
+
+ def set_thumbnail_path(self, value):
+ """ Set custom thumbnail path"""
+ self._thumbnail_path = value
+
async def connect_api(self):
"""Connect to the Reolink API and fetch initial dataset."""
if not await self._api.get_settings():
return False
if not await self._api.get_states():
return False
-
+
+ await self._api.get_ai_state()
await self._api.is_admin()
return True
@@ -195,9 +213,63 @@ class ReolinkBase:
async def stop(self):
"""Disconnect the API and deregister the event listener."""
await self.disconnect_api()
+ for func in self.async_functions:
+ await func()
for func in self.sync_functions:
await self._hass.async_add_executor_job(func)
+ async def send_search(
+ self, start: dt.datetime, end: dt.datetime, only_status: bool = False
+ ):
+ """ Call the API of the camera device to search for VoDs """
+ return await self._api.send_search(start, end, only_status)
+
+ async def emit_search_results(
+ self,
+ bus_event_id: str,
+ camera_id: str,
+ start: Optional[dt.datetime] = None,
+ end: Optional[dt.datetime] = None,
+ context: Optional[Context] = None,
+ ):
+ """ Run search and emit VoD results to event """
+
+ if end is None:
+ end = dt_util.now()
+ if start is None:
+ start = dt.datetime.combine(end.date().replace(day=1), dt.time.min)
+ if self.playback_months > 1:
+ start -= relativedelta(months=int(self.playback_months))
+
+ _, files = await self._api.send_search(start, end)
+
+ for file in files:
+ end = searchtime_to_datetime(file["EndTime"], end.tzinfo)
+ start = searchtime_to_datetime(file["StartTime"], end.tzinfo)
+ event_id = str(start.timestamp())
+ url = VOD_URL.format(camera_id=camera_id, event_id=quote_plus(file["name"]))
+
+ thumbnail = os.path.join(
+ self.thumbnail_path, f"{event_id}.{THUMBNAIL_EXTENSION}"
+ )
+
+ self._hass.bus.fire(
+ bus_event_id,
+ VoDEvent(
+ event_id,
+ start,
+ end - start,
+ file["name"],
+ url,
+ VoDEventThumbnail(
+ THUMBNAIL_URL.format(camera_id=camera_id, event_id=event_id),
+ os.path.isfile(thumbnail),
+ thumbnail,
+ ),
+ ),
+ context=context,
+ )
+
class ReolinkPush:
"""The implementation of the Reolink IP base class."""
@@ -364,3 +436,16 @@ async def get_event_by_webhook(hass: HomeAssistant, webhook_id):
if wid == webhook_id:
event_id = info["name"]
return event_id
+
+
+def searchtime_to_datetime(self: SearchTime, timezone: dt.tzinfo):
+ """ Convert SearchTime to datetime """
+ return dt.datetime(
+ self["year"],
+ self["mon"],
+ self["day"],
+ self["hour"],
+ self["min"],
+ self["sec"],
+ tzinfo=timezone,
+ )
diff --git a/custom_components/reolink_dev/binary_sensor.py b/custom_components/reolink_dev/binary_sensor.py
index 1cfa156..d68b5d9 100644
--- a/custom_components/reolink_dev/binary_sensor.py
+++ b/custom_components/reolink_dev/binary_sensor.py
@@ -1,19 +1,14 @@
"""This component provides support for Reolink motion events."""
import asyncio
import datetime
-import logging
from homeassistant.components.binary_sensor import BinarySensorEntity
-from .const import EVENT_DATA_RECEIVED
from .entity import ReolinkEntity
-_LOGGER = logging.getLogger(__name__)
-
DEFAULT_DEVICE_CLASS = "motion"
-@asyncio.coroutine
async def async_setup_entry(hass, config_entry, async_add_devices):
"""Set up the Reolink IP Camera switches."""
sensor = MotionSensor(hass, config_entry)
@@ -30,6 +25,7 @@ class MotionSensor(ReolinkEntity, BinarySensorEntity):
self._available = False
self._event_state = False
+ self._last_event_state = False
self._last_motion = datetime.datetime.min
@property
@@ -57,7 +53,7 @@ class MotionSensor(ReolinkEntity, BinarySensorEntity):
datetime.datetime.now() - self._last_motion
).total_seconds() < self._base.motion_off_delay:
self._state = True
- else:
+ else:
self._state = False
return self._state
@@ -79,6 +75,7 @@ class MotionSensor(ReolinkEntity, BinarySensorEntity):
async def handle_event(self, event):
"""Handle incoming event for motion detection and availability."""
+
try:
self._available = event.data["available"]
return
@@ -89,6 +86,7 @@ class MotionSensor(ReolinkEntity, BinarySensorEntity):
return
try:
+ self._last_event_state = bool(self._event_state)
self._event_state = event.data["motion"]
except KeyError:
return
@@ -99,8 +97,35 @@ class MotionSensor(ReolinkEntity, BinarySensorEntity):
if self._event_state:
self._last_motion = datetime.datetime.now()
+
+ if self._base.api.ai_state:
+ # Pull the AI state only at motion detection
+ await self._base.api.get_ai_state()
else:
if self._base.motion_off_delay > 0:
await asyncio.sleep(self._base.motion_off_delay)
self.async_schedule_update_ha_state()
+
+ @property
+ def extra_state_attributes(self):
+ """Return the state attributes."""
+ attrs = super().extra_state_attributes
+
+ if attrs is None:
+ attrs = {}
+
+ attrs["bus_event_id"] = self._base.event_id
+
+ if self._base.api.ai_state:
+ for key, value in self._base.api.ai_state.items():
+ if key == "channel":
+ continue
+
+ if self._state:
+ attrs[key] = value == 1
+ else:
+ # Reset the AI values.
+ attrs[key] = False
+
+ return attrs
diff --git a/custom_components/reolink_dev/camera.py b/custom_components/reolink_dev/camera.py
index 6262530..4e812df 100644
--- a/custom_components/reolink_dev/camera.py
+++ b/custom_components/reolink_dev/camera.py
@@ -3,11 +3,11 @@ import asyncio
from datetime import datetime
import logging
-from haffmpeg.camera import CameraMjpeg
import voluptuous as vol
from homeassistant.components.camera import SUPPORT_STREAM, Camera
-from homeassistant.components.ffmpeg import DATA_FFMPEG
+
+# from homeassistant.components.ffmpeg import DATA_FFMPEG
from homeassistant.helpers import config_validation as cv, entity_platform
from homeassistant.helpers.aiohttp_client import (
async_aiohttp_proxy_web,
@@ -15,17 +15,22 @@ from homeassistant.helpers.aiohttp_client import (
)
from .const import (
+ DOMAIN_DATA,
+ LAST_EVENT,
SERVICE_PTZ_CONTROL,
+ SERVICE_QUERY_VOD,
SERVICE_SET_BACKLIGHT,
SERVICE_SET_DAYNIGHT,
SERVICE_SET_SENSITIVITY,
+ SUPPORT_PLAYBACK,
+ SUPPORT_PTZ,
)
from .entity import ReolinkEntity
+from .typings import VoDEvent
_LOGGER = logging.getLogger(__name__)
-@asyncio.coroutine
async def async_setup_entry(hass, config_entry, async_add_devices):
"""Set up a Reolink IP Camera."""
@@ -65,6 +70,17 @@ async def async_setup_entry(hass, config_entry, async_add_devices):
vol.Optional("speed"): cv.positive_int,
},
SERVICE_PTZ_CONTROL,
+ [SUPPORT_PTZ],
+ )
+ platform.async_register_entity_service(
+ SERVICE_QUERY_VOD,
+ {
+ vol.Required("event_id"): cv.string,
+ vol.Optional("start"): cv.datetime,
+ vol.Optional("end"): cv.datetime,
+ },
+ SERVICE_QUERY_VOD,
+ [SUPPORT_PLAYBACK],
)
async_add_devices([camera])
@@ -77,10 +93,10 @@ class ReolinkCamera(ReolinkEntity, Camera):
"""Initialize a Reolink camera."""
ReolinkEntity.__init__(self, hass, config)
Camera.__init__(self)
+ self._entry_id = config.entry_id
- self._hass = hass
- self._ffmpeg = self._hass.data[DATA_FFMPEG]
- self._last_image = None
+ # self._ffmpeg = self._hass.data[DATA_FFMPEG]
+ # self._last_image = None
self._ptz_commands = {
"AUTO": "Auto",
"DOWN": "Down",
@@ -125,6 +141,12 @@ class ReolinkCamera(ReolinkEntity, Camera):
"""Return whether the camera has PTZ support."""
return self._base.api.ptz_support
+ @property
+ def playback_support(self):
+ """ Return whethere the camera has VoDs. """
+ # TODO : this should probably be like ptz above, and be a property of the api
+ return bool(self._base.api.hdd_info)
+
@property
def device_state_attributes(self):
"""Return the camera state attributes."""
@@ -143,12 +165,26 @@ class ReolinkCamera(ReolinkEntity, Camera):
if self._base.api.sensitivity_presets:
attrs["sensitivity"] = self.get_sensitivity_presets()
+ if self.playback_support:
+ data: dict = self.hass.data.get(DOMAIN_DATA)
+ data = data.get(self._base.unique_id) if data else None
+ last: VoDEvent = data.get(LAST_EVENT) if data else None
+ if last and last.url:
+ attrs["video_url"] = last.url
+ if last.thumbnail and last.thumbnail.exists:
+ attrs["video_thumbnail"] = last.thumbnail.url
+
return attrs
@property
def supported_features(self):
"""Return supported features."""
- return SUPPORT_STREAM
+ features = SUPPORT_STREAM
+ if self.ptz_support:
+ features += SUPPORT_PTZ
+ if self.playback_support:
+ features += SUPPORT_PLAYBACK
+ return features
async def stream_source(self):
"""Return the source of the stream."""
@@ -177,6 +213,16 @@ class ReolinkCamera(ReolinkEntity, Camera):
command=self._ptz_commands[command], **kwargs
)
+ async def query_vods(self, event_id, **kwargs):
+ """ Query camera for VoDs and emit results """
+ if not self.playback_support:
+ _LOGGER.error("Video Playback is not supported on this device")
+ return
+
+ await self._base.emit_search_results(
+ event_id, self._entry_id, context=self._context, **kwargs
+ )
+
def get_sensitivity_presets(self):
"""Get formatted sensitivity presets."""
presets = list()
diff --git a/custom_components/reolink_dev/config_flow.py b/custom_components/reolink_dev/config_flow.py
index d88bc2c..e02c604 100644
--- a/custom_components/reolink_dev/config_flow.py
+++ b/custom_components/reolink_dev/config_flow.py
@@ -20,16 +20,13 @@ from .const import (
CONF_CHANNEL,
CONF_MOTION_OFF_DELAY,
CONF_PLAYBACK_MONTHS,
- CONF_PLAYBACK_THUMBNAILS,
CONF_PROTOCOL,
CONF_STREAM,
- CONF_THUMBNAIL_OFFSET,
+ CONF_THUMBNAIL_PATH,
DEFAULT_MOTION_OFF_DELAY,
DEFAULT_PLAYBACK_MONTHS,
- DEFAULT_PLAYBACK_THUMBNAILS,
DEFAULT_PROTOCOL,
DEFAULT_STREAM,
- DEFAULT_THUMBNAIL_OFFSET,
DEFAULT_TIMEOUT,
DOMAIN,
)
@@ -183,17 +180,11 @@ class ReolinkOptionsFlowHandler(config_entries.OptionsFlow):
),
): cv.positive_int,
vol.Optional(
- CONF_PLAYBACK_THUMBNAILS,
+ CONF_THUMBNAIL_PATH,
default=self.config_entry.options.get(
- CONF_PLAYBACK_THUMBNAILS, DEFAULT_PLAYBACK_THUMBNAILS
+ CONF_THUMBNAIL_PATH, None
),
- ): cv.boolean,
- vol.Optional(
- CONF_THUMBNAIL_OFFSET,
- default=self.config_entry.options.get(
- CONF_THUMBNAIL_OFFSET, DEFAULT_THUMBNAIL_OFFSET
- ),
- ): vol.All(vol.Coerce(int), vol.Range(min=0, max=60)),
+ ): cv.string,
vol.Optional(
CONF_TIMEOUT,
default=self.config_entry.options.get(
diff --git a/custom_components/reolink_dev/const.py b/custom_components/reolink_dev/const.py
index 138e8c2..57cd9fb 100644
--- a/custom_components/reolink_dev/const.py
+++ b/custom_components/reolink_dev/const.py
@@ -7,14 +7,18 @@ COORDINATOR = "coordinator"
BASE = "base"
PUSH_MANAGER = "push_manager"
SESSION_RENEW_THRESHOLD = 300
+MEDIA_SOURCE = "media_source"
+THUMBNAIL_VIEW = "thumbnail_view"
+SHORT_TOKENS = "short_tokens"
+LONG_TOKENS = "long_tokens"
+LAST_EVENT = "last_event"
CONF_STREAM = "stream"
CONF_PROTOCOL = "protocol"
CONF_CHANNEL = "channel"
CONF_MOTION_OFF_DELAY = "motion_off_delay"
CONF_PLAYBACK_MONTHS = "playback_months"
-CONF_PLAYBACK_THUMBNAILS = "playback_thumbnails"
-CONF_THUMBNAIL_OFFSET = "playback_thumbnail_offset"
+CONF_THUMBNAIL_PATH = "playback_thumbnail_path"
DEFAULT_CHANNEL = 1
DEFAULT_MOTION_OFF_DELAY = 60
@@ -22,10 +26,19 @@ DEFAULT_PROTOCOL = "rtmp"
DEFAULT_STREAM = "main"
DEFAULT_TIMEOUT = 30
DEFAULT_PLAYBACK_MONTHS = 2
-DEFAULT_PLAYBACK_THUMBNAILS = False
DEFAULT_THUMBNAIL_OFFSET = 6
+SUPPORT_PTZ = 1024
+SUPPORT_PLAYBACK = 2048
+
SERVICE_PTZ_CONTROL = "ptz_control"
SERVICE_SET_BACKLIGHT = "set_backlight"
SERVICE_SET_DAYNIGHT = "set_daynight"
SERVICE_SET_SENSITIVITY = "set_sensitivity"
+
+SERVICE_QUERY_VOD = "query_vods"
+
+THUMBNAIL_EXTENSION = "jpg"
+
+THUMBNAIL_URL = "/api/" + DOMAIN + "/media_proxy/{camera_id}/{event_id}.jpg"
+VOD_URL = "/api/" + DOMAIN + "/vod/{camera_id}/{event_id}"
diff --git a/custom_components/reolink_dev/device_action.py b/custom_components/reolink_dev/device_action.py
new file mode 100644
index 0000000..03c737e
--- /dev/null
+++ b/custom_components/reolink_dev/device_action.py
@@ -0,0 +1,123 @@
+""" custom helper actions """
+
+import logging
+
+from typing import List, Optional
+import voluptuous as vol
+
+from homeassistant.const import (
+ ATTR_ENTITY_ID,
+ CONF_DEVICE_ID,
+ CONF_DOMAIN,
+ CONF_ENTITY_ID,
+ CONF_TYPE,
+ DEVICE_CLASS_TIMESTAMP,
+)
+from homeassistant.core import Context, HomeAssistant
+from homeassistant.helpers import config_validation as cv
+
+from homeassistant.components.camera import DOMAIN as CAMERA_DOMAIN, SERVICE_SNAPSHOT
+from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
+
+from .utils import async_get_device_entries
+from .const import DOMAIN
+
+VOD_THUMB_CAP = "capture_vod_thumbnail"
+
+ACTION_TYPES = {VOD_THUMB_CAP}
+
+ACTION_SCHEMA = cv.DEVICE_ACTION_BASE_SCHEMA.extend(
+ {
+ vol.Required(CONF_TYPE): vol.In(ACTION_TYPES),
+ vol.Optional(CONF_ENTITY_ID): cv.entities_domain(
+ [CAMERA_DOMAIN, SENSOR_DOMAIN]
+ ),
+ }
+)
+
+_LOGGER = logging.getLogger(__name__)
+
+
+async def async_get_actions(hass: HomeAssistant, device_id: str):
+ """List device actions for devices."""
+
+ actions = []
+
+ (device, device_entries) = await async_get_device_entries(hass, device_id)
+
+ if not device or not device_entries or len(device_entries) < 2:
+ return actions
+
+ sensor = None
+ camera = None
+ for entry in device_entries:
+ if (
+ entry.domain == SENSOR_DOMAIN
+ and entry.device_class == DEVICE_CLASS_TIMESTAMP
+ ):
+ sensor = entry
+ if entry.domain == CAMERA_DOMAIN:
+ camera = entry
+ if sensor and camera:
+ actions.append(
+ {
+ CONF_DOMAIN: DOMAIN,
+ CONF_DEVICE_ID: device_id,
+ CONF_ENTITY_ID: [camera.entity_id, sensor.cv.entity_id],
+ CONF_TYPE: VOD_THUMB_CAP,
+ }
+ )
+ sensor = None
+ camera = None
+
+ _LOGGER.debug("actions: %s", actions)
+ return actions
+
+
+async def async_call_action_from_config(
+ hass: HomeAssistant, config: dict, variables: dict, context: Optional[Context]
+):
+ """Execute a device action."""
+
+ if config[CONF_TYPE] == VOD_THUMB_CAP:
+ entity_ids: List[str] = config.get(CONF_ENTITY_ID)
+ camera_entity_id: str = None
+ thumbnail_path: str = None
+ if entity_ids and len(entity_ids) > 0:
+ for entity_id in entity_ids:
+ state = hass.states.get(entity_id)
+ if state and state.domain == CAMERA_DOMAIN:
+ camera_entity_id = entity_id
+ elif state and state.domain == SENSOR_DOMAIN:
+ thumbnail_path = state.attributes.get("thumbnail_path")
+
+ if not camera_entity_id or not thumbnail_path:
+ (_, device_entries) = await async_get_device_entries(
+ hass, config[CONF_DEVICE_ID]
+ )
+ for entry in device_entries:
+ if not camera_entity_id and entry.domain == CAMERA_DOMAIN:
+ camera_entity_id = entry.entity_id
+ if (
+ not thumbnail_path
+ and entry.domain == SENSOR_DOMAIN
+ and entry.device_class == DEVICE_CLASS_TIMESTAMP
+ ):
+ state = hass.states.get(entry.entity_id)
+ thumbnail_path = (
+ state.attributes.get("thumbnail_path") if state else None
+ )
+
+ service_data = {
+ ATTR_ENTITY_ID: camera_entity_id,
+ "filename": thumbnail_path,
+ }
+ _LOGGER.debug("service_data: %s", service_data)
+ _LOGGER.debug("variables: %s", variables)
+ return await hass.services.async_call(
+ CAMERA_DOMAIN,
+ SERVICE_SNAPSHOT,
+ service_data,
+ blocking=True,
+ context=context,
+ )
diff --git a/custom_components/reolink_dev/device_condition.py b/custom_components/reolink_dev/device_condition.py
new file mode 100644
index 0000000..1d9b7e1
--- /dev/null
+++ b/custom_components/reolink_dev/device_condition.py
@@ -0,0 +1,108 @@
+""" Additional conditions for ReoLink Camera """
+
+import logging
+from homeassistant.const import (
+ CONF_DEVICE_ID,
+ CONF_DOMAIN,
+ CONF_ENTITY_ID,
+ CONF_FOR,
+ CONF_TYPE,
+ DEVICE_CLASS_TIMESTAMP,
+)
+
+from homeassistant.core import HomeAssistant, callback
+from homeassistant.helpers import condition, config_validation as cv
+from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
+from homeassistant.helpers.typing import ConfigType, TemplateVarsType
+
+import voluptuous as vol
+
+from .utils import async_get_device_entries
+from .const import DOMAIN
+
+NO_THUMBNAIL = "vod_no_thumbnail"
+HAS_THUMBNAIL = "vod_has_thumbnail"
+
+CONDITION_TYPES = {NO_THUMBNAIL, HAS_THUMBNAIL}
+
+CONDITION_SCHEMA = cv.DEVICE_CONDITION_BASE_SCHEMA.extend(
+ {
+ vol.Required(CONF_TYPE): vol.In(CONDITION_TYPES),
+ vol.Required(CONF_ENTITY_ID): cv.entity_domain(SENSOR_DOMAIN),
+ }
+)
+
+_LOGGER = logging.getLogger(__name__)
+
+
+async def async_get_conditions(hass: HomeAssistant, device_id: str):
+ """List device conditions for devices."""
+
+ conditions = []
+
+ (device, device_entries) = await async_get_device_entries(hass, device_id)
+
+ if not device or not device_entries or len(device_entries) < 1:
+ return conditions
+
+ for entry in device_entries:
+ if (
+ entry.domain != SENSOR_DOMAIN
+ or entry.device_class != DEVICE_CLASS_TIMESTAMP
+ ):
+ continue
+
+ conditions.append(
+ {
+ CONF_DOMAIN: DOMAIN,
+ CONF_DEVICE_ID: device_id,
+ CONF_ENTITY_ID: entry.entity_id,
+ CONF_TYPE: NO_THUMBNAIL,
+ }
+ )
+ conditions.append(
+ {
+ CONF_DOMAIN: DOMAIN,
+ CONF_DEVICE_ID: device_id,
+ CONF_ENTITY_ID: entry.entity_id,
+ CONF_TYPE: HAS_THUMBNAIL,
+ },
+ )
+
+ return conditions
+
+
+@callback
+def async_condition_from_config(
+ config: ConfigType, config_validation: bool
+) -> condition.ConditionCheckerType:
+ """Create a function to test a device condition."""
+
+ if config_validation:
+ config = CONDITION_SCHEMA(config)
+
+ config_type = config[CONF_TYPE]
+
+ if config_type in {NO_THUMBNAIL, HAS_THUMBNAIL}:
+ if config_type == NO_THUMBNAIL:
+ state = "false"
+ else:
+ state = "true"
+
+ entity_id: str = config[CONF_ENTITY_ID]
+ for_period = config.get(CONF_FOR)
+ attribute = "has_thumbnail"
+
+ # @trace_condition_function
+ def test_is_state(hass: HomeAssistant, variables: TemplateVarsType):
+ """ Test thumbnail state """
+
+ return condition.state(
+ hass,
+ entity_id,
+ state,
+ for_period,
+ attribute,
+ )
+
+ return test_is_state
diff --git a/custom_components/reolink_dev/device_trigger.py b/custom_components/reolink_dev/device_trigger.py
new file mode 100644
index 0000000..e7a980a
--- /dev/null
+++ b/custom_components/reolink_dev/device_trigger.py
@@ -0,0 +1,110 @@
+""" Additional triggers for ReoLink Camera """
+
+import logging
+
+import voluptuous as vol
+
+from homeassistant.const import (
+ CONF_DEVICE_ID,
+ CONF_DOMAIN,
+ CONF_ENTITY_ID,
+ CONF_PLATFORM,
+ CONF_TYPE,
+ DEVICE_CLASS_TIMESTAMP,
+)
+from homeassistant.core import HomeAssistant
+from homeassistant.helpers import config_validation as cv
+from homeassistant.helpers.typing import ConfigType
+
+from homeassistant.components.automation import AutomationActionType
+from homeassistant.components.device_automation import TRIGGER_BASE_SCHEMA
+from homeassistant.components.homeassistant.triggers import state as state_trigger
+from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
+
+from .utils import async_get_device_entries
+from .const import DOMAIN
+
+NEW_VOD = "new_vod"
+
+TRIGGER_TYPES = {NEW_VOD}
+
+TRIGGER_SCHEMA = TRIGGER_BASE_SCHEMA.extend(
+ {
+ vol.Required(CONF_TYPE): vol.In(TRIGGER_TYPES),
+ vol.Optional(CONF_ENTITY_ID): cv.entity_domain(SENSOR_DOMAIN),
+ }
+)
+
+_LOGGER = logging.getLogger(__name__)
+
+
+async def async_get_triggers(hass: HomeAssistant, device_id: str):
+ """ List of device triggers """
+
+ (device, device_entries) = await async_get_device_entries(hass, device_id)
+
+ triggers = []
+
+ if not device or not device_entries or len(device_entries) < 1:
+ return triggers
+
+ for entry in device_entries:
+ if (
+ entry.domain != SENSOR_DOMAIN
+ or entry.device_class != DEVICE_CLASS_TIMESTAMP
+ ):
+ continue
+
+ triggers.append(
+ {
+ CONF_PLATFORM: "device",
+ CONF_DOMAIN: DOMAIN,
+ CONF_DEVICE_ID: device_id,
+ CONF_ENTITY_ID: entry.entity_id,
+ CONF_TYPE: NEW_VOD,
+ }
+ )
+
+ return triggers
+
+
+async def async_attach_trigger(
+ hass: HomeAssistant,
+ config: ConfigType,
+ action: AutomationActionType,
+ automation_info: dict,
+):
+ """ Attach a trigger """
+
+ if config[CONF_TYPE] == NEW_VOD:
+ if CONF_ENTITY_ID not in config:
+ (_, device_entries) = await async_get_device_entries(
+ hass, config[CONF_DEVICE_ID]
+ )
+ config[CONF_ENTITY_ID] = (
+ next(
+ (
+ entry.entity_id
+ for entry in device_entries
+ if entry.domain == SENSOR_DOMAIN
+ and entry.device_class == DEVICE_CLASS_TIMESTAMP
+ )
+ )
+ if device_entries
+ else None
+ )
+
+ state_config = state_trigger.TRIGGER_SCHEMA(
+ {
+ CONF_PLATFORM: "state",
+ CONF_ENTITY_ID: config[CONF_ENTITY_ID],
+ }
+ )
+
+ return await state_trigger.async_attach_trigger(
+ hass,
+ state_config,
+ action,
+ automation_info,
+ platform_type=config[CONF_PLATFORM],
+ )
diff --git a/custom_components/reolink_dev/entity.py b/custom_components/reolink_dev/entity.py
index 98e5927..0dee8e2 100644
--- a/custom_components/reolink_dev/entity.py
+++ b/custom_components/reolink_dev/entity.py
@@ -1,20 +1,22 @@
"""Reolink parent entity class."""
+from homeassistant.core import HomeAssistant
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from .const import BASE, COORDINATOR, DOMAIN
+from .base import ReolinkBase
class ReolinkEntity(CoordinatorEntity):
"""Parent class for Reolink Entities."""
- def __init__(self, hass, config):
+ def __init__(self, hass: HomeAssistant, config):
"""Initialize common aspects of a Reolink entity."""
coordinator = hass.data[DOMAIN][config.entry_id][COORDINATOR]
super().__init__(coordinator)
- self._base = hass.data[DOMAIN][config.entry_id][BASE]
+ self._base: ReolinkBase = hass.data[DOMAIN][config.entry_id][BASE]
self._hass = hass
self._state = False
@@ -28,7 +30,7 @@ class ReolinkEntity(CoordinatorEntity):
"sw_version": self._base.api.sw_version,
"model": self._base.api.model,
"manufacturer": self._base.api.manufacturer,
- "channel": self._base.channel
+ "channel": self._base.channel,
}
@property
diff --git a/custom_components/reolink_dev/manifest.json b/custom_components/reolink_dev/manifest.json
index f345072..67c515b 100644
--- a/custom_components/reolink_dev/manifest.json
+++ b/custom_components/reolink_dev/manifest.json
@@ -3,9 +3,10 @@
"name": "Reolink IP camera",
"documentation": "https://github.com/fwestenberg/reolink_dev",
"issue_tracker": "https://github.com/fwestenberg/reolink_dev/issues",
- "version": "0.15",
+ "version": "0.17",
+ "iot_class": "local_polling",
"requirements": [
- "reolink==0.0.17"
+ "reolink==0.0.19"
],
"dependencies": [
"ffmpeg",
diff --git a/custom_components/reolink_dev/media_source.py b/custom_components/reolink_dev/media_source.py
index c3a0ff1..ff142fc 100644
--- a/custom_components/reolink_dev/media_source.py
+++ b/custom_components/reolink_dev/media_source.py
@@ -1,13 +1,19 @@
"""Reolink Camera Media Source Implementation."""
-from urllib import parse
-import secrets
import datetime as dt
import logging
-from typing import Optional, Tuple
+import os
+import secrets
+from typing import Dict, List, Optional, Tuple
+from urllib.parse import quote_plus, unquote_plus
from aiohttp import web
-from haffmpeg.tools import IMAGE_JPEG
from dateutil import relativedelta
+from homeassistant.components.http.const import KEY_AUTHENTICATED
+
+# from homeassistant.components.http.auth import async_sign_path
+
+# from homeassistant.components.http import current_request
+# from homeassistant.components.http.const import KEY_HASS_REFRESH_TOKEN_ID
from homeassistant.core import HomeAssistant, callback
@@ -15,7 +21,6 @@ import homeassistant.util.dt as dt_utils
from homeassistant.components.http import HomeAssistantView
-# from homeassistant.components.http.auth import async_sign_path
from homeassistant.components.media_player.errors import BrowseError
from homeassistant.components.media_player.const import (
MEDIA_CLASS_DIRECTORY,
@@ -32,13 +37,24 @@ from homeassistant.components.media_source.models import (
)
from homeassistant.components.stream import create_stream
-from homeassistant.components.ffmpeg import async_get_image
-from custom_components.reolink_dev.base import ReolinkBase
+from homeassistant.helpers.event import async_call_later
-from . import typings
+from .base import ReolinkBase, searchtime_to_datetime
-from .const import BASE, DEFAULT_THUMBNAIL_OFFSET, DOMAIN
+# from . import typings
+
+from .const import (
+ BASE,
+ DOMAIN,
+ DOMAIN_DATA,
+ LONG_TOKENS,
+ MEDIA_SOURCE,
+ SHORT_TOKENS,
+ THUMBNAIL_EXTENSION as EXTENSION,
+ THUMBNAIL_URL,
+ VOD_URL,
+)
_LOGGER = logging.getLogger(__name__)
# MIME_TYPE = "rtmp/mp4"
@@ -47,6 +63,8 @@ MIME_TYPE = "application/x-mpegURL"
NAME = "Reolink IP Camera"
+STORAGE_VERSION = 1
+
class IncompatibleMediaSource(MediaSourceError):
"""Incompatible media source attributes."""
@@ -54,13 +72,16 @@ class IncompatibleMediaSource(MediaSourceError):
async def async_get_media_source(hass: HomeAssistant):
"""Set up Reolink media source."""
+
_LOGGER.debug("Creating REOLink Media Source")
- source = ReolinkSource(hass)
- hass.http.register_view(ReolinkSourceThumbnailView(hass, source))
+ source = ReolinkMediaSource(hass)
+ hass.http.register_view(ReolinkSourceThumbnailView(hass))
+ hass.http.register_view(ReolinkSourceVODView(hass))
+
return source
-class ReolinkSource(MediaSource):
+class ReolinkMediaSource(MediaSource):
"""Provide Reolink camera recordings as media sources."""
name: str = NAME
@@ -69,18 +90,44 @@ class ReolinkSource(MediaSource):
"""Initialize Reolink source."""
super().__init__(DOMAIN)
self.hass = hass
- self.cache = {}
+ self._last_token: dt.datetime = None
+
+ @property
+ def _short_security_token(self):
+ def clear_token():
+ tokens.remove(token)
+
+ data: dict = self.hass.data.setdefault(DOMAIN_DATA, {})
+ data = data.setdefault(MEDIA_SOURCE, {})
+ tokens: List[str] = data.setdefault(SHORT_TOKENS, [])
+ if len(tokens) < 1 or (
+ self._last_token and (self._last_token - dt_utils.now()).seconds >= 1800
+ ):
+ self._last_token = dt_utils.now()
+ tokens.append(secrets.token_hex())
+ async_call_later(self.hass, 3600, clear_token)
+ token = next(iter(tokens), None)
+ return token
async def async_resolve_media(self, item: MediaSourceItem) -> PlayMedia:
"""Resolve a media item to a playable item."""
_, camera_id, event_id = async_parse_identifier(item)
- cache: typings.MediaSourceCacheEntry = self.cache[camera_id]
- event = cache["playback_events"][event_id]
- base: ReolinkBase = self.hass.data[DOMAIN][cache["entry_id"]][BASE]
- url = await base.api.get_vod_source(event["file"])
+
+ data: dict = self.hass.data[self.domain]
+ entry: dict = data.get(camera_id) if camera_id else None
+ base: ReolinkBase = entry.get(BASE) if entry else None
+ if not base:
+ raise BrowseError("Camera does not exist.")
+
+ file = unquote_plus(event_id)
+ if not file:
+ raise BrowseError("Event does not exist.")
+ _LOGGER.debug("file = %s", file)
+
+ url = await base.api.get_vod_source(file)
_LOGGER.debug("Load VOD %s", url)
stream = create_stream(self.hass, url)
- stream.add_provider("hls", timeout=600)
+ stream.add_provider("hls", timeout=3600)
url: str = stream.endpoint_url("hls")
# the media browser seems to have a problem with the master_playlist
# ( it does not load the referenced playlist ) so we will just
@@ -102,293 +149,287 @@ class ReolinkSource(MediaSource):
_LOGGER.debug("Browsing %s, %s, %s", source, camera_id, event_id)
- if camera_id and camera_id not in self.cache:
+ data: dict = self.hass.data[self.domain]
+ entry: dict = data.get(camera_id) if camera_id else None
+ base: ReolinkBase = entry.get(BASE) if entry else None
+ if camera_id and not base:
raise BrowseError("Camera does not exist.")
- if (
- event_id
- and not "/" in event_id
- and event_id not in self.cache[camera_id]["playback_events"]
- ):
+ if event_id and not "/" in event_id:
raise BrowseError("Event does not exist.")
- return await self._async_browse_media(source, camera_id, event_id, False)
+ return await self._async_browse_media(source, camera_id, event_id, base)
async def _async_browse_media(
- self, source: str, camera_id: str, event_id: str = None, no_descend: bool = True
+ self,
+ source: str,
+ camera_id: str = None,
+ event_id: str = None,
+ base: ReolinkBase = None,
) -> BrowseMediaSource:
""" actual browse after input validation """
- event: typings.VodEvent = None
- cache: typings.MediaSourceCacheEntry = None
- start_date = None
- if camera_id and camera_id in self.cache:
- cache = self.cache[camera_id]
+ start_date: dt.datetime = None
- if cache and event_id:
- if "playback_events" in cache and event_id in cache["playback_events"]:
- event = cache["playback_events"][event_id]
- end_date = event["end"]
- start_date = event["start"]
- time = start_date.time()
- duration = end_date - start_date
+ def create_item(title: str, path: str, thumbnail: bool = False):
+ nonlocal self, camera_id, event_id, start_date
- title = f"{time} {duration}"
- else:
- year, *rest = event_id.split("/", 3)
- month = rest[0] if len(rest) > 0 else None
- day = rest[1] if len(rest) > 1 else None
+ if not title or not path:
+ if event_id and "/" in event_id:
+ year, *rest = event_id.split("/", 3)
+ month = rest[0] if len(rest) > 0 else None
+ day = rest[1] if len(rest) > 1 else None
- start_date = dt.datetime.combine(
- dt.date(
- int(year), int(month) if month else 1, int(day) if day else 1
- ),
- dt.time.min,
- dt_utils.now().tzinfo,
- )
+ start_date = dt.datetime.combine(
+ dt.date(
+ int(year),
+ int(month) if month else 1,
+ int(day) if day else 1,
+ ),
+ dt.time.min,
+ dt_utils.now().tzinfo,
+ )
- title = f"{start_date.date()}"
+ title = f"{start_date.date()}"
+ path = f"{source}/{camera_id}/{event_id}"
+ elif base:
+ title = base.name
+ path = f"{source}/{camera_id}"
+ else:
+ title = self.name
+ path = source + "/"
- path = f"{source}/{camera_id}/{event_id}"
- else:
- if cache is None:
- camera_id = ""
- title = NAME
- else:
- title = cache["name"]
-
- path = f"{source}/{camera_id}"
-
- media_class = MEDIA_CLASS_DIRECTORY if event is None else MEDIA_CLASS_VIDEO
-
- media = BrowseMediaSource(
- domain=DOMAIN,
- identifier=path,
- media_class=media_class,
- media_content_type=MEDIA_TYPE_VIDEO,
- title=title,
- can_play=bool(not event is None and event.get("file")),
- can_expand=event is None,
- )
-
- if not event is None and cache.get("playback_thumbnails", False):
- url = "/api/" + DOMAIN + f"/media_proxy/{camera_id}/{event_id}"
-
- # TODO : I cannot find a way to get the current user context at this point
- # so I will have to leave the view as unauthenticated, as a temporary
- # security measure, I will add a unique token to the event to limit
- # "exposure"
- # url = async_sign_path(self.hass, None, url, dt.timedelta(minutes=30))
- if "token" not in event:
- event["token"] = secrets.token_hex()
- media.thumbnail = f"{url}?token={parse.quote_plus(event['token'])}"
-
- if not media.can_play and not media.can_expand:
- _LOGGER.debug(
- "Camera %s with event %s without media url found", camera_id, event_id
+ media_class = (
+ MEDIA_CLASS_DIRECTORY
+ if not event_id or "/" in event_id
+ else MEDIA_CLASS_VIDEO
)
- raise IncompatibleMediaSource
- if not media.can_expand or no_descend:
+ media = BrowseMediaSource(
+ domain=self.domain,
+ identifier=path,
+ media_class=media_class,
+ media_content_type=MEDIA_TYPE_VIDEO,
+ title=title,
+ can_play=not bool(media_class == MEDIA_CLASS_DIRECTORY),
+ can_expand=bool(media_class == MEDIA_CLASS_DIRECTORY),
+ )
+
+ if thumbnail:
+ url = THUMBNAIL_URL.format(camera_id=camera_id, event_id=event_id)
+ # cannot do authsign as we are in a websocket and isloated from auth and context
+ # we will continue to use custom tokens
+ # request = current_request.get()
+ # refresh_token_id = request.get(KEY_HASS_REFRESH_TOKEN_ID)
+ # if not refresh_token_id:
+ # _LOGGER.debug("no token? %s", list(request.keys()))
+
+ # # leave expiration 30 seconds?
+ # media.thumbnail = async_sign_path(
+ # self.hass, refresh_token_id, url, dt.timedelta(seconds=30)
+ # )
+ media.thumbnail = f"{url}?token={self._short_security_token}"
+
+ if not media.can_play and not media.can_expand:
+ _LOGGER.debug(
+ "Camera %s with event %s without media url found",
+ camera_id,
+ event_id,
+ )
+ raise IncompatibleMediaSource
+
return media
- media.children = []
+ def create_root_children():
+ nonlocal base, camera_id
- base: ReolinkBase = None
-
- if cache is None:
- for entry_id in self.hass.data[DOMAIN]:
- entry = self.hass.data[DOMAIN][entry_id]
+ children = []
+ data: Dict[str, dict] = self.hass.data[self.domain]
+ for entry_id in data:
+ entry = data[entry_id]
if not isinstance(entry, dict) or not BASE in entry:
continue
base = entry[BASE]
- camera_id = base.unique_id
- cache = self.cache.get(camera_id, None)
- if cache is None:
- cache = self.cache[camera_id] = {
- "entry_id": entry_id,
- "unique_id": base.unique_id,
- "playback_events": {},
- }
- cache["name"] = base.name
+ if not base.api.hdd_info:
+ continue
+ camera_id = entry_id
+ child = create_item(None, None)
+ children.append(child)
- child = await self._async_browse_media(source, camera_id)
- media.children.append(child)
- return media
+ return children
- base = self.hass.data[DOMAIN][cache["entry_id"]][BASE]
+ async def create_day_children():
+ nonlocal event_id
- # TODO: the cache is one way so over time it can grow and have invalid
- # records, the code should be expanded to invalidate/expire
- # entries
-
- if base is None:
- raise BrowseError("Camera does not exist.")
-
- if not start_date:
- if (
- "playback_day_entries" not in cache
- or cache.get("playback_months", -1) != base.playback_months
- ):
- end_date = dt_utils.now()
- start_date = dt.datetime.combine(end_date.date(), dt.time.min)
- cache["playback_months"] = base.playback_months
- if cache["playback_months"] > 1:
- start_date -= relativedelta.relativedelta(
- months=int(cache["playback_months"])
- )
-
- entries = cache["playback_day_entries"] = []
-
- search, _ = await base.api.send_search(start_date, end_date, True)
-
- if not search is None:
- for status in search:
- year = status["year"]
- month = status["mon"]
- for day, flag in enumerate(status["table"], start=1):
- if flag == "1":
- entries.append(dt.date(year, month, day))
-
- entries.sort()
- else:
- entries = cache["playback_day_entries"]
-
- for date in cache["playback_day_entries"]:
- child = await self._async_browse_media(
- source, camera_id, f"{date.year}/{date.month}/{date.day}"
+ children = []
+ end_date = dt_utils.now()
+ start_date = dt.datetime.combine(
+ end_date.date().replace(day=1), dt.time.min
+ )
+ if base.playback_months > 1:
+ start_date -= relativedelta.relativedelta(
+ months=int(base.playback_months)
)
- media.children.append(child)
- return media
+ search, _ = await base.api.send_search(start_date, end_date, True)
- cache["playback_thumbnails"] = base.playback_thumbnails
+ if not search is None:
+ for status in search:
+ year = status["year"]
+ month = status["mon"]
+ for day, flag in enumerate(status["table"], start=1):
+ if flag == "1":
+ event_id = f"{year}/{month}/{day}"
+ child = create_item(None, None)
+ children.append(child)
- end_date = dt.datetime.combine(
- start_date.date(), dt.time.max, start_date.tzinfo
- )
+ children.reverse()
+ return children
- _, files = await base.api.send_search(start_date, end_date)
+ async def create_vod_children():
+ nonlocal base, start_date, event_id
- if not files is None:
- events = cache.setdefault("playback_events", {})
+ children = []
+ end_date = dt.datetime.combine(
+ start_date.date(), dt.time.max, start_date.tzinfo
+ )
+
+ _, files = await base.send_search(start_date, end_date)
for file in files:
- dto = file["EndTime"]
- end_date = dt.datetime(
- dto["year"],
- dto["mon"],
- dto["day"],
- dto["hour"],
- dto["min"],
- dto["sec"],
- 0,
- end_date.tzinfo,
- )
- dto = file["StartTime"]
- start_date = dt.datetime(
- dto["year"],
- dto["mon"],
- dto["day"],
- dto["hour"],
- dto["min"],
- dto["sec"],
- 0,
- end_date.tzinfo,
- )
+ end_date = searchtime_to_datetime(file["EndTime"], end_date.tzinfo)
+ start_date = searchtime_to_datetime(file["StartTime"], end_date.tzinfo)
event_id = str(start_date.timestamp())
- event = events.setdefault(event_id, {})
- event["start"] = start_date
- event["end"] = end_date
- event["file"] = file["name"]
+ evt_id = f"{camera_id}/{quote_plus(file['name'])}"
+ # self._file_cache[evt_id] = file["name"]
+ thumbnail = os.path.isfile(
+ f"{base.thumbnail_path}/{event_id}.{EXTENSION}"
+ )
- child = await self._async_browse_media(source, camera_id, event_id)
- media.children.append(child)
+ time = start_date.time()
+ duration = end_date - start_date
+ child = create_item(
+ f"{time} {duration}", f"{source}/{evt_id}", thumbnail
+ )
+ children.append(child)
+
+ children.reverse()
+
+ return children
+
+ if base and event_id and not "/" in event_id:
+ event = base.in_memory_events[event_id]
+ start_date = event.start
+
+ media = create_item(None, None)
+
+ if not media.can_expand:
+ return media
+
+ if not camera_id:
+ media.children = create_root_children()
+ return media
+
+ if not start_date:
+ media.children = await create_day_children()
+ else:
+ media.children = await create_vod_children()
return media
-class ReolinkSourceThumbnailView(HomeAssistantView):
- """ Thumbnial view handler """
+class ReolinkSourceVODView(HomeAssistantView):
+ """ VOD security handler """
- url = "/api/" + DOMAIN + "/media_proxy/{camera_id}/{event_id}"
- name = "api:" + DOMAIN + ":image"
- requires_auth = False
+ url = VOD_URL
+ name = "api:" + DOMAIN + ":video"
cors_allowed = True
+ requires_auth = False
- def __init__(self, hass: HomeAssistant, source: ReolinkSource):
+ def __init__(self, hass: HomeAssistant):
"""Initialize media view """
self.hass = hass
- self.source = source
async def get(
self, request: web.Request, camera_id: str, event_id: str
) -> web.Response:
""" start a GET request. """
+ authenticated = request.get(KEY_AUTHENTICATED, False)
+ if not authenticated:
+ token: str = request.query.get("token")
+ if not token:
+ raise web.HTTPUnauthorized()
+
+ data: dict = self.hass.data.get(DOMAIN_DATA)
+ data = data.get(MEDIA_SOURCE) if data else None
+ tokens: List[str] = data.get(LONG_TOKENS) if data else None
+ if not tokens or not token in tokens:
+ raise web.HTTPUnauthorized()
+
if not camera_id or not event_id:
raise web.HTTPNotFound()
- cache: typings.MediaSourceCacheEntry = self.source.cache.get(camera_id, None)
- if cache is None or "playback_events" not in cache:
+ data: Dict[str, dict] = self.hass.data[DOMAIN]
+ base: ReolinkBase = (
+ data[camera_id].get(BASE, None) if camera_id in data else None
+ )
+ if not base:
_LOGGER.debug("camera %s not found", camera_id)
raise web.HTTPNotFound()
- event = cache["playback_events"].get(event_id, None)
- if event is None:
- _LOGGER.debug("camera %s, event %s not found", camera_id, event_id)
+ file = unquote_plus(event_id)
+ url = await base.api.get_vod_source(file)
+ return web.HTTPTemporaryRedirect(url)
+
+
+class ReolinkSourceThumbnailView(HomeAssistantView):
+ """ Thumbnial view handler """
+
+ url = THUMBNAIL_URL
+ name = "api:" + DOMAIN + ":image"
+ cors_allowed = True
+ requires_auth = False
+
+ def __init__(self, hass: HomeAssistant):
+ """Initialize media view """
+
+ self.hass = hass
+
+ async def get(
+ self,
+ request: web.Request, # pylint: disable=unused-argument
+ camera_id: str,
+ event_id: str,
+ ) -> web.Response:
+ """ start a GET request. """
+
+ authenticated = request.get(KEY_AUTHENTICATED, False)
+ if not authenticated:
+ token: str = request.query.get("token")
+ if not token:
+ raise web.HTTPUnauthorized()
+
+ data: dict = self.hass.data.get(DOMAIN_DATA)
+ data = data.get(MEDIA_SOURCE) if data else None
+ tokens: List[str] = data.get(SHORT_TOKENS) if data else None
+ if not tokens or not token in tokens:
+ raise web.HTTPUnauthorized()
+
+ if not camera_id or not event_id:
raise web.HTTPNotFound()
- token = request.query.get("token")
- if (token and event.get("token") != token) or (
- not token and not self.requires_auth
- ):
- _LOGGER.debug(
- "invalid or missing token %s for camera %s, event %s",
- token,
- camera_id,
- event_id,
- )
- raise web.HTTPNotFound()
-
- _LOGGER.debug("thumbnail %s, %s", camera_id, event_id)
-
- base: ReolinkBase = self.hass.data[DOMAIN][cache["entry_id"]][BASE]
-
- image = event.get("thumbnail", None)
- if (
- image is None
- or cache.get("playback_thumbnail_offset", DEFAULT_THUMBNAIL_OFFSET)
- != base.playback_thumbnail_offset
- ):
- cache["playback_thumbnails"] = base.playback_thumbnails
- cache["playback_thumbnail_offset"] = base.playback_thumbnail_offset
-
- if not cache["playback_thumbnails"]:
- _LOGGER.debug("Thumbnails not allowed on camera %s", camera_id)
- raise web.HTTPInternalServerError()
-
- _LOGGER.debug("generating thumbnail for %s, %s", camera_id, event_id)
-
- extra_cmd: str = None
- if cache["playback_thumbnail_offset"] > 0:
- extra_cmd = f"-ss {cache['playback_thumbnail_offset']}"
-
- image = event["thumbail"] = await async_get_image(
- self.hass,
- await base.api.get_vod_source(event["file"]),
- extra_cmd=extra_cmd,
- )
- _LOGGER.debug("generated thumbnail for %s, %s", camera_id, event_id)
-
- if image:
- return web.Response(body=image, content_type=IMAGE_JPEG)
-
- _LOGGER.debug(
- "No thumbnail generated for camera %s, event %s", camera_id, event_id
+ data: Dict[str, dict] = self.hass.data[DOMAIN]
+ base: ReolinkBase = (
+ data[camera_id].get(BASE, None) if camera_id in data else None
)
- raise web.HTTPInternalServerError()
+ if not base:
+ _LOGGER.debug("camera %s not found", camera_id)
+ raise web.HTTPNotFound()
+
+ thumbnail = f"{base.thumbnail_path}/{event_id}.{EXTENSION}"
+ return web.FileResponse(thumbnail)
@callback
diff --git a/custom_components/reolink_dev/sensor.py b/custom_components/reolink_dev/sensor.py
new file mode 100644
index 0000000..95ea1b2
--- /dev/null
+++ b/custom_components/reolink_dev/sensor.py
@@ -0,0 +1,222 @@
+"""This component provides support for Reolink IP VoD support."""
+from urllib.parse import quote_plus
+from dataclasses import dataclass
+import datetime as dt
+import asyncio
+import logging
+import os
+
+from dateutil import relativedelta
+from homeassistant.core import CALLBACK_TYPE, HomeAssistant
+import homeassistant.util.dt as dt_utils
+from homeassistant.config_entries import ConfigEntry
+
+from homeassistant.components.sensor import DEVICE_CLASS_TIMESTAMP, SensorEntity
+
+from .const import (
+ BASE,
+ DOMAIN,
+ DOMAIN_DATA,
+ LAST_EVENT,
+ THUMBNAIL_EXTENSION,
+ THUMBNAIL_URL,
+ VOD_URL,
+)
+from .entity import ReolinkEntity
+from .base import ReolinkBase, searchtime_to_datetime
+from .typings import VoDEvent, VoDEventThumbnail
+
+_LOGGER = logging.getLogger(__name__)
+
+
+@asyncio.coroutine
+async def async_setup_entry(hass, config_entry, async_add_devices):
+ """Set up the Reolink IP Camera switches."""
+ devices = []
+ base: ReolinkBase = hass.data[DOMAIN][config_entry.entry_id][BASE]
+
+ # TODO : add playback (based off of hdd_info) to api capabilities
+ await base.api.get_switch_capabilities()
+ if base.api.hdd_info:
+ devices.append(LastEventSensor(hass, config_entry))
+
+ async_add_devices(devices, update_before_add=False)
+
+
+@dataclass
+class _Attrs:
+ oldest_day: dt.datetime = None
+ most_recent_day: dt.datetime = None
+ last_event: VoDEvent = None
+
+
+class LastEventSensor(ReolinkEntity, SensorEntity):
+ """An implementation of a Reolink IP camera sensor."""
+
+ def __init__(self, hass: HomeAssistant, config: ConfigEntry):
+ """Initialize a Reolink camera."""
+ ReolinkEntity.__init__(self, hass, config)
+ SensorEntity.__init__(self)
+ self._attrs = _Attrs()
+ self._bus_listener: CALLBACK_TYPE = None
+ self._entry_id = config.entry_id
+
+ async def async_added_to_hass(self) -> None:
+ """Entity created."""
+ await super().async_added_to_hass()
+ self._bus_listener = self.hass.bus.async_listen(
+ self._base.event_id, self.handle_event
+ )
+ self._hass.async_add_job(self._update_event_range)
+
+ async def async_will_remove_from_hass(self):
+ """Entity removed"""
+ if self._bus_listener:
+ self._bus_listener()
+ self._bus_listener = None
+ await super().async_will_remove_from_hass()
+
+ async def request_refresh(self):
+ """ force an update of the sensor """
+ await super().request_refresh()
+ self._hass.async_add_job(self._update_event_range)
+
+ async def async_update(self):
+ """ polling update """
+ await super().async_update()
+ self._hass.async_add_job(self._update_event_range)
+
+ async def _update_event_range(self):
+ end = dt_utils.now()
+ start = self._attrs.most_recent_day
+ if not start:
+ start = dt.datetime.combine(end.date().replace(day=1), dt.time.min)
+ if self._base.playback_months > 1:
+ start -= relativedelta.relativedelta(
+ months=int(self._base.playback_months)
+ )
+ search, _ = await self._base.send_search(start, end, True)
+ if not search or len(search) < 1:
+ return
+ entry = search[0]
+ self._attrs.oldest_day = dt.datetime(
+ entry["year"],
+ entry["mon"],
+ next((i for (i, e) in enumerate(entry["table"], start=1) if e == "1")),
+ tzinfo=end.tzinfo,
+ )
+ entry = search[-1]
+ start = self._attrs.most_recent_day = dt.datetime(
+ entry["year"],
+ entry["mon"],
+ len(entry["table"])
+ - next(
+ (
+ i
+ for (i, e) in enumerate(reversed(entry["table"]), start=0)
+ if e == "1"
+ )
+ ),
+ tzinfo=end.tzinfo,
+ )
+ end = dt.datetime.combine(start.date(), dt.time.max, tzinfo=end.tzinfo)
+ _, files = await self._base.send_search(start, end)
+ file = files[-1] if files and len(files) > 0 else None
+ if not file:
+ return
+
+ end = searchtime_to_datetime(file["EndTime"], start.tzinfo)
+ start = searchtime_to_datetime(file["StartTime"], end.tzinfo)
+ last = self._attrs.last_event = VoDEvent(
+ str(start.timestamp()),
+ start,
+ end - start,
+ file["name"],
+ )
+ last.url = VOD_URL.format(
+ camera_id=self._entry_id, event_id=quote_plus(file["name"])
+ )
+ thumbnail = last.thumbnail = VoDEventThumbnail(
+ THUMBNAIL_URL.format(camera_id=self._entry_id, event_id=last.event_id),
+ path=os.path.join(
+ self._base.thumbnail_path, f"{last.event_id}.{THUMBNAIL_EXTENSION}"
+ ),
+ )
+ thumbnail.exists = os.path.isfile(thumbnail.path)
+ data: dict = self._hass.data.setdefault(DOMAIN_DATA, {})
+ data = data.setdefault(self._base.unique_id, {})
+ data[LAST_EVENT] = last
+ self._state = True
+
+ self.async_schedule_update_ha_state()
+
+ async def handle_event(self, event):
+ """Handle incoming event for VoD update"""
+
+ if not "motion" in event.data:
+ return
+
+ self._hass.async_add_job(self._update_event_range)
+
+ @property
+ def unique_id(self):
+ """Return Unique ID string."""
+ return f"reolink_lastevent_{self._base.unique_id}"
+
+ @property
+ def name(self):
+ """Return the name of this sensor."""
+ return f"{self._base.name} Last Event"
+
+ @property
+ def device_class(self):
+ """Device class of the sensor."""
+ return DEVICE_CLASS_TIMESTAMP
+
+ @property
+ def state(self):
+ """Return the state of the sensor."""
+ if not self._state:
+ return None
+
+ date = (
+ self._attrs.last_event.start
+ if self._attrs.last_event and self._attrs.last_event.start
+ else None
+ )
+ if not date:
+ return None
+
+ return date.isoformat()
+
+ @property
+ def icon(self):
+ """Icon of the sensor."""
+ return "mdi:history"
+
+ @property
+ def extra_state_attributes(self):
+ """Return the state attributes."""
+ attrs = super().extra_state_attributes
+
+ if self._state:
+ if attrs is None:
+ attrs = {}
+
+ if self._attrs.oldest_day:
+ attrs["oldest_day"] = self._attrs.oldest_day.isoformat()
+ if self._attrs.last_event:
+ if self._attrs.last_event.event_id:
+ attrs["vod_event_id"] = self._attrs.last_event.event_id
+ if self._attrs.last_event.thumbnail:
+ attrs["has_thumbnail"] = (
+ "true"
+ if self._attrs.last_event.thumbnail.exists
+ else "false"
+ )
+
+ attrs["thumbnail_path"] = self._attrs.last_event.thumbnail.path
+ if self._attrs.last_event.duration:
+ attrs["duration"] = str(self._attrs.last_event.duration)
+
+ return attrs
diff --git a/custom_components/reolink_dev/services.yaml b/custom_components/reolink_dev/services.yaml
index b863650..f1fb1a3 100644
--- a/custom_components/reolink_dev/services.yaml
+++ b/custom_components/reolink_dev/services.yaml
@@ -62,10 +62,10 @@ set_daynight:
set_backlight:
name: Set backlight
- description: >-
- Optimizing brightness and contrast levels to compensate for differences
- between dark and bright objects using either BLC or WDR mode.
- This may improve image clarity in high contrast situations,
+ description: >-
+ Optimizing brightness and contrast levels to compensate for differences
+ between dark and bright objects using either BLC or WDR mode.
+ This may improve image clarity in high contrast situations,
but it should be tested at different times of the day and night to ensure there is no negative effect.
target:
entity:
@@ -82,3 +82,73 @@ set_backlight:
DYNAMICRANGECONTROL: use Dynamic Range Control
OFF: no optimization
example: DYNAMICRANGECONTROL
+
+commit_thumbnails:
+ name: Commit In-Memory Playback Thumbnails
+ description: >-
+ For cameras that have Video-On-Demand Playback capability, the system will capture
+ thumbnails of motion events and hold them in memory until they are matched with
+ recodings on the camera, this only happens automatically when using the media browser.
+ This service allows this matching to occur via script or automation as well
+ target:
+ entity:
+ integration: reolink_dev
+ domain: camera
+ fields:
+ entity_id:
+ description: Name(s) of the Reolink camera entity to execute the command on.
+ example: 'camera.frontdoor'
+ start:
+ description: >-
+ Start of date range, if not provided will use the first unmatched thumbnail in memory
+ example: "1/1/2021"
+ end:
+ description: >-
+ End of date range, if not provided will use the current date and time
+ example: "1/31/2021"
+
+cleanup_thumbnails:
+ name: Cleanup Camera VoD playback thumbnails
+ description: >-
+ For cameras that have Video-On-Demand Playback capability, this will attempt to remove
+ thumbnails for VoDs that are no longer present on the camera, freeing up space on your
+ Home Assistant install.
+ target:
+ entity:
+ integration: reolink_dev
+ domain: camera
+ fields:
+ entity_id:
+ description: Name(s) of the Reolink camera entity to execute the command on.
+ example: 'camera.frontdoor'
+ older_than:
+ description: >-
+ If provide will remove all thumbnails older than the specified date, irregardless
+ of matching VoD
+ example: "1/1/2021"
+
+query_vods:
+ name: Query Camera for VoD playbacks
+ description: >-
+ For cameras that have Video-On-Demand Playback capability, this will query the camera
+ and emit an reolink_dev-vod-data event for each matching VoD that matches the search
+ parameters, it will also provide the thumbail path for the expected thumbnail.
+ target:
+ entity:
+ integration: reolink_dev
+ domain: camera
+ fields:
+ entity_id:
+ description: Name(s) of the Reolink camera entity to execute the command on.
+ example: 'camera.frontdoor'
+ event_id:
+ description: Event to emit as
+ example: 'VoD-query'
+ start:
+ description: >-
+ Start of date range, if not provided will use the month playback range
+ example: "1/1/2021"
+ end:
+ description: >-
+ End of date range, if not provided will use the current date and time
+ example: "1/31/2021"
diff --git a/custom_components/reolink_dev/strings.json b/custom_components/reolink_dev/strings.json
index 3cebc9a..f15723c 100644
--- a/custom_components/reolink_dev/strings.json
+++ b/custom_components/reolink_dev/strings.json
@@ -33,10 +33,21 @@
"timeout": "Timeout",
"motion_off_delay": "Motion sensor off delay (seconds)",
"playback_months": "Playback range (months)",
- "playback_thumbnails": "Create thumbnails for playback items",
- "playback_thumbnail_offset": "Pre-Record offset (seconds) for thumbnail"
+ "playback_thumbnail_path": "Custom thumbnail path"
}
}
}
+ },
+ "device_automation": {
+ "trigger_type": {
+ "new_vod": "New motion video detected"
+ },
+ "action_type": {
+ "capture_vod_thumbnail": "Save snapshot as motion thumbnail"
+ },
+ "condition_type": {
+ "vod_no_thumbnail": "Latest motion video has no thumbnail",
+ "vod_has_thumbnail": "Latest motion video has a thumbnail"
+ }
}
}
\ No newline at end of file
diff --git a/custom_components/reolink_dev/switch.py b/custom_components/reolink_dev/switch.py
index 75e36b9..6df4624 100644
--- a/custom_components/reolink_dev/switch.py
+++ b/custom_components/reolink_dev/switch.py
@@ -11,7 +11,6 @@ from .entity import ReolinkEntity
_LOGGER = logging.getLogger(__name__)
-@asyncio.coroutine
async def async_setup_entry(hass, config_entry, async_add_devices):
"""Set up the Reolink IP Camera switches."""
devices = []
diff --git a/custom_components/reolink_dev/translations/en.json b/custom_components/reolink_dev/translations/en.json
index 4ca8545..e1494f7 100644
--- a/custom_components/reolink_dev/translations/en.json
+++ b/custom_components/reolink_dev/translations/en.json
@@ -34,9 +34,21 @@
"motion_off_delay": "Motion sensor off delay (seconds)",
"playback_months": "Playback range (months)",
"playback_thumbnails": "Create thumbnails for playback items",
- "playback_thumbnail_offset": "Pre-Record offset (seconds) for thumbnail"
+ "playback_thumbnail_path": "Custom thumbnail path"
}
}
}
+ },
+ "device_automation": {
+ "trigger_type": {
+ "new_vod": "New motion video detected"
+ },
+ "action_type": {
+ "capture_vod_thumbnail": "Save snapshot as motion thumbnail"
+ },
+ "condition_type": {
+ "vod_no_thumbnail": "Latest motion video has no thumbnail",
+ "vod_has_thumbnail": "Latest motion video has a thumbnail"
+ }
}
}
\ No newline at end of file
diff --git a/custom_components/reolink_dev/typings.py b/custom_components/reolink_dev/typings.py
index f442a79..a09e08c 100644
--- a/custom_components/reolink_dev/typings.py
+++ b/custom_components/reolink_dev/typings.py
@@ -1,31 +1,25 @@
-""" Typing declarations for strongly typed dictionaries """
+""" Typing Definitions """
-from typing import Any, Dict, List, TypedDict
-from datetime import datetime, date
+from dataclasses import dataclass
+from datetime import datetime, timedelta
-VodEvent = TypedDict(
- "VodEvent",
- {
- "start": datetime,
- "end": datetime,
- "file": str,
- "thumbnail": Any,
- },
- total=False,
-)
-MediaSourceCacheEntry = TypedDict(
- "MediaSourceCacheEntry",
- {
- "entry_id": str,
- "unique_id": str,
- "event_id": str,
- "name": str,
- "playback_months": int,
- "playback_thumbnails": bool,
- "playback_thumbnail_offset": int,
- "playback_day_entries": List[date],
- "playback_events": Dict[str, VodEvent],
- },
- total=False,
-)
+@dataclass
+class VoDEventThumbnail:
+ """ VoD Event Thumbnail """
+
+ url: str = None
+ exists: bool = None
+ path: str = None
+
+
+@dataclass
+class VoDEvent:
+ """ VoD Event """
+
+ event_id: str = None
+ start: datetime = None
+ duration: timedelta = None
+ file: str = None
+ url: str = None
+ thumbnail: VoDEventThumbnail = None
diff --git a/custom_components/reolink_dev/utils.py b/custom_components/reolink_dev/utils.py
new file mode 100644
index 0000000..22c18cc
--- /dev/null
+++ b/custom_components/reolink_dev/utils.py
@@ -0,0 +1,29 @@
+""" Utility functions """
+
+from typing import Union
+from homeassistant.core import HomeAssistant
+from homeassistant.helpers import entity_registry
+from homeassistant.helpers.device_registry import DeviceEntry, DeviceRegistry
+
+
+async def async_get_device_entries(
+ hass: HomeAssistant, device: Union[str, DeviceEntry]
+):
+ """ Get entires for the device """
+
+ registry = await entity_registry.async_get_registry(hass)
+ if isinstance(device, str):
+ device_registry: DeviceRegistry = (
+ await hass.helpers.device_registry.async_get_registry()
+ )
+ device_entry = device_registry.async_get(device)
+ else:
+ device_entry = device
+
+ entries = (
+ entity_registry.async_entries_for_device(registry, device_entry.id)
+ if device_entry
+ else None
+ )
+
+ return (device_entry, entries)