From 5a20d28e54328a61b0719eccbffe13cebf59752c Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 1 Sep 2015 01:42:54 -0700 Subject: [PATCH] Site updated at 2015-09-01 08:42:54 UTC --- atom.xml | 183 +- blog/2014/12/18/website-launched/index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- blog/2015/01/13/nest-in-da-house/index.html | 12 +- blog/2015/01/24/release-notes/index.html | 12 +- .../2015/02/08/looking-at-the-past/index.html | 12 +- blog/2015/02/24/streaming-updates/index.html | 12 +- .../index.html | 12 +- blog/2015/03/08/new-logo/index.html | 12 +- blog/2015/03/11/release-notes/index.html | 12 +- blog/2015/03/22/release-notes/index.html | 12 +- blog/2015/04/25/release-notes/index.html | 12 +- .../05/09/utc-time-zone-awareness/index.html | 12 +- blog/2015/05/14/release-notes/index.html | 12 +- blog/2015/06/10/release-notes/index.html | 8 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 12 +- .../index.html | 470 ++++++ blog/archives/index.html | 51 +- blog/categories/architecture/atom.xml | 2 +- blog/categories/architecture/index.html | 12 +- blog/categories/branding/atom.xml | 2 +- blog/categories/branding/index.html | 12 +- blog/categories/component/atom.xml | 2 +- blog/categories/component/index.html | 12 +- blog/categories/core/atom.xml | 2 +- blog/categories/core/index.html | 12 +- blog/categories/frontend/atom.xml | 2 +- blog/categories/frontend/index.html | 12 +- blog/categories/release-notes/atom.xml | 2 +- blog/categories/release-notes/index.html | 12 +- blog/categories/user-stories/atom.xml | 131 +- blog/categories/user-stories/index.html | 49 +- blog/categories/website/atom.xml | 2 +- blog/categories/website/index.html | 12 +- blog/index.html | 217 ++- blog/posts/2/index.html | 180 +- blog/posts/3/index.html | 221 +++ components/device_tracker.actiontec.html | 180 ++ components/device_tracker.aruba.html | 176 ++ components/device_tracker.nmap_scanner.html | 2 + components/device_tracker.thomson.html | 172 ++ components/discovery.html | 1 + components/index.html | 422 +++-- components/mqtt.html | 8 +- components/sensor.bitcoin.html | 4 +- components/sensor.dht.html | 182 ++ components/sensor.mqtt.html | 177 ++ components/sensor.rpi_gpio.html | 184 ++ components/switch.mqtt.html | 198 +++ components/switch.rpi_gpio.html | 13 +- components/switch.wemo.html | 4 +- demo/frontend.html | 1493 ++++++++++------- demo/index.html | 57 +- demo/webcomponents-lite.min.js | 7 +- developers/add_new_platform.html | 60 +- developers/creating_components.html | 16 + developers/credits.html | 1 + developers/index.html | 52 +- getting-started/configuration.html | 45 +- getting-started/index.html | 65 +- .../troubleshooting-configuration.html | 212 +++ getting-started/troubleshooting.html | 68 +- images/hero_screenshot.png | Bin 30110 -> 34701 bytes images/screenshots/ui2015.png | Bin 0 -> 54390 bytes images/supported_brands/actiontec.png | Bin 0 -> 5261 bytes images/supported_brands/technicolor.png | Bin 0 -> 2657 bytes images/supported_brands/verizon.png | Bin 0 -> 26370 bytes index.html | 16 +- sitemap.xml | 253 +-- static/favicon-192x192.png | Bin 15701 -> 0 bytes static/splash.png | Bin 0 -> 51901 bytes stylesheets/screen.css | 2 +- 77 files changed, 4485 insertions(+), 1421 deletions(-) create mode 100644 blog/2015/08/31/version-7-revamped-ui-and-improved-distribution/index.html create mode 100644 blog/posts/3/index.html create mode 100644 components/device_tracker.actiontec.html create mode 100644 components/device_tracker.aruba.html create mode 100644 components/device_tracker.thomson.html create mode 100644 components/sensor.dht.html create mode 100644 components/sensor.mqtt.html create mode 100644 components/sensor.rpi_gpio.html create mode 100644 components/switch.mqtt.html create mode 100644 getting-started/troubleshooting-configuration.html create mode 100644 images/screenshots/ui2015.png create mode 100644 images/supported_brands/actiontec.png create mode 100644 images/supported_brands/technicolor.png create mode 100644 images/supported_brands/verizon.png delete mode 100644 static/favicon-192x192.png create mode 100644 static/splash.png diff --git a/atom.xml b/atom.xml index c11774d74d..6981282c0c 100644 --- a/atom.xml +++ b/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Home Assistant]]> - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 https://home-assistant.io/ @@ -13,6 +13,178 @@ Octopress + + <![CDATA[0.7: Better UI and improved distribution]]> + + 2015-08-31T14:12:00-07:00 + https://home-assistant.io/blog/2015/08/31/version-7-revamped-ui-and-improved-distribution + As Home Assistant is gaining more and more users we started to feel the pain from not having a +proper release mechanism. We had no version numbering and required users to checkout the source +using Git to get started. On top of that, as the number of devices that we support keeps raising, so +did the number of dependencies that are used. That’s why we decided to change the way we roll. From +now on:

+ +
    +
  • Each release will have a version number, starting with version 0.7. This was chosen because it +shows that we have been around for some time but are not considering ourselves to be fully +stable.
  • +
  • Each release will be pushed to PyPi. This will be the only supported method of distribution.
  • +
  • Home Assistant is available after installation as a command-line utility hass.
  • +
  • The default configuration location has been moved from config in the current working directory +to ~/.homeassistant (%APPDATA%/.homeassistant on Windows).
  • +
  • Requirements for components and platforms are no longer installed into the current Python +environment (being virtual or not) but will be installed in <config-dir>/lib.
  • +
+ + +

A huge shout out to Ryan Kraus for making this all possible. Please +make sure you read the full blog post for details on how to migrate your existing setup.

+ +

And while Ryan was fixing distribution, I have been hard at work in giving Home Assistant a face +lift. We already looked pretty good but lacked proper form of organization for users with many +devices. The new UI moves away from a card per entity and has cards per group and domain instead. +The demo has been updated so give it a spin.

+ +

+ + + + Screenshots of the new UI +

+ + + + + + + +

Migration to version 0.7

+ +

For this example, let’s say we have an old Home Assistant installation in +/home/paulus/home-assistant.

+ +

If you want to migrate your existing configuration to be used as the default configuration:

+ +
1
+
cp -r /home/paulus/home-assistant ~/.homeassistant
+
+ + +

It If you want to have the configuration in a different location, for example +/home/paulus/home-assistant-config, you will have to point Home Assistant at this configuration +folder when launching:

+ +
1
+
hass --config /home/paulus/home-assistant-config
+
+ + +

New platforms

+ +

And last, but not least: new platforms!

+ +

MQTT Sensors and Switches
+ +@sfam has blessed us with two more MQTT platforms to extend our +integration with MQTTT: sensor and switch. Both platforms require the +MQTT component to be connected to a broker.

+ +
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+
# Example configuration.yml entr
+sensor:
+  platform: mqtt
+  name: "MQTT Sensor"
+  state_topic: "home/bedroom/temperature"
+  unit_of_measurement: "ºC"
+
+switch:
+  platform: mqtt
+  name: "Bedroom Switch"
+  state_topic: "home/bedroom/switch1"
+  command_topic: "home/bedroom/switch1/set"
+  payload_on: "ON"
+  payload_off: "OFF"
+  optimistic: false
+
+ + +

Actiontec MI424WR Verizon FIOS Wireless router
+ +Nolan has contributed support for Actiontec wireless routers.

+ +
1
+2
+3
+4
+5
+6
+
# Example configuration.yaml entry
+device_tracker:
+  platform: actiontec
+  host: YOUR_ROUTER_IP
+  username: YOUR_ADMIN_USERNAME
+  password: YOUR_ADMIN_PASSWORD
+
+ + +

DHT temperature and humidty sensors
+@MakeMeASandwich has contributed support for DHT temperature +and humidity sensors. It allows you to get the current temperature and humidity from a DHT11, DHT22, +or AM2302 device.

+ +
1
+2
+3
+4
+5
+6
+7
+8
+
# Example configuration.yaml entry
+sensor:
+  platform: dht
+  sensor: DHT22
+  pin: 23
+  monitored_conditions:
+    - temperature
+    - humidity
+
+ + +

Aruba device tracker
+Michael Arnauts has contributed support for Aruba wireless routers for presence detection.

+ +
1
+2
+3
+4
+5
+6
+
# Example configuration.yaml entry
+device_tracker:
+  platform: aruba
+  host: YOUR_ACCESS_POINT_IP
+  username: YOUR_ADMIN_USERNAME
+  password: YOUR_ADMIN_PASSWORD
+
+ +]]>
+
+ <![CDATA[Laundry Automation: insight and notifications]]> @@ -1790,13 +1962,4 @@ This article will try to explain how they all relate.

]]>
- - <![CDATA[Website launched!]]> - - 2014-12-18T23:24:45-08:00 - https://home-assistant.io/blog/2014/12/18/website-launched - I finally took the time to setup a simple website to help people getting started with Home Assistant. The process was super smooth thanks to the great tools Jekyll and Octopress and the great services GitHub Pages and CloudFlare.

-]]>
-
- diff --git a/blog/2014/12/18/website-launched/index.html b/blog/2014/12/18/website-launched/index.html index bdd32e9076..c463dd8e68 100644 --- a/blog/2014/12/18/website-launched/index.html +++ b/blog/2014/12/18/website-launched/index.html @@ -212,6 +212,12 @@ diff --git a/blog/2014/12/26/home-control-home-automation-and-the-smart-home/index.html b/blog/2014/12/26/home-control-home-automation-and-the-smart-home/index.html index b639c93f68..ec0942fc62 100644 --- a/blog/2014/12/26/home-control-home-automation-and-the-smart-home/index.html +++ b/blog/2014/12/26/home-control-home-automation-and-the-smart-home/index.html @@ -274,6 +274,12 @@ This article will try to explain how they all relate.

diff --git a/blog/2015/01/04/hey-pushbullet-nice-talking-to-you/index.html b/blog/2015/01/04/hey-pushbullet-nice-talking-to-you/index.html index f40a7e88fb..658bb93c28 100644 --- a/blog/2015/01/04/hey-pushbullet-nice-talking-to-you/index.html +++ b/blog/2015/01/04/hey-pushbullet-nice-talking-to-you/index.html @@ -256,6 +256,12 @@ diff --git a/blog/2015/01/11/bootstrapping-your-setup-with-discovery/index.html b/blog/2015/01/11/bootstrapping-your-setup-with-discovery/index.html index c12bdb663b..3bd3ed517b 100644 --- a/blog/2015/01/11/bootstrapping-your-setup-with-discovery/index.html +++ b/blog/2015/01/11/bootstrapping-your-setup-with-discovery/index.html @@ -224,6 +224,12 @@ diff --git a/blog/2015/01/13/nest-in-da-house/index.html b/blog/2015/01/13/nest-in-da-house/index.html index 92d65e1195..514d96e2a4 100644 --- a/blog/2015/01/13/nest-in-da-house/index.html +++ b/blog/2015/01/13/nest-in-da-house/index.html @@ -231,6 +231,12 @@ diff --git a/blog/2015/01/24/release-notes/index.html b/blog/2015/01/24/release-notes/index.html index 2df34ef8ec..8a9ea12fc4 100644 --- a/blog/2015/01/24/release-notes/index.html +++ b/blog/2015/01/24/release-notes/index.html @@ -236,6 +236,12 @@ Home Assistant now supports --open-ui and --demo-mode diff --git a/blog/2015/02/08/looking-at-the-past/index.html b/blog/2015/02/08/looking-at-the-past/index.html index 0ac6468119..c813c73dcc 100644 --- a/blog/2015/02/08/looking-at-the-past/index.html +++ b/blog/2015/02/08/looking-at-the-past/index.html @@ -254,6 +254,12 @@ Events are saved in a local database. Google Graphs is used to draw the graph. D diff --git a/blog/2015/02/24/streaming-updates/index.html b/blog/2015/02/24/streaming-updates/index.html index 93973228e5..84464025da 100644 --- a/blog/2015/02/24/streaming-updates/index.html +++ b/blog/2015/02/24/streaming-updates/index.html @@ -232,6 +232,12 @@ diff --git a/blog/2015/03/01/home-assistant-migrating-to-yaml/index.html b/blog/2015/03/01/home-assistant-migrating-to-yaml/index.html index 50a634f440..695a11c023 100644 --- a/blog/2015/03/01/home-assistant-migrating-to-yaml/index.html +++ b/blog/2015/03/01/home-assistant-migrating-to-yaml/index.html @@ -219,6 +219,12 @@ YAML allows the use of lists, which should make the configuration file a bit mor diff --git a/blog/2015/03/08/new-logo/index.html b/blog/2015/03/08/new-logo/index.html index 4fe2bca588..2895069d51 100644 --- a/blog/2015/03/08/new-logo/index.html +++ b/blog/2015/03/08/new-logo/index.html @@ -220,6 +220,12 @@ The old logo, the new detailed logo and the new simple logo. diff --git a/blog/2015/03/11/release-notes/index.html b/blog/2015/03/11/release-notes/index.html index d1d1abeb0d..a2b5ee6deb 100644 --- a/blog/2015/03/11/release-notes/index.html +++ b/blog/2015/03/11/release-notes/index.html @@ -266,6 +266,12 @@ An initial version of voice control for Home Assistant has landed. The current i diff --git a/blog/2015/03/22/release-notes/index.html b/blog/2015/03/22/release-notes/index.html index 8e7d19519e..5aa65e0584 100644 --- a/blog/2015/03/22/release-notes/index.html +++ b/blog/2015/03/22/release-notes/index.html @@ -339,6 +339,12 @@ James Cole has also contributed support for the diff --git a/blog/2015/04/25/release-notes/index.html b/blog/2015/04/25/release-notes/index.html index ab72571fd2..67018db8b6 100644 --- a/blog/2015/04/25/release-notes/index.html +++ b/blog/2015/04/25/release-notes/index.html @@ -355,6 +355,12 @@ James has also contributed support for integrating Transmission into Home Assist diff --git a/blog/2015/05/09/utc-time-zone-awareness/index.html b/blog/2015/05/09/utc-time-zone-awareness/index.html index 073baa6de6..c4888699d4 100644 --- a/blog/2015/05/09/utc-time-zone-awareness/index.html +++ b/blog/2015/05/09/utc-time-zone-awareness/index.html @@ -244,6 +244,12 @@ diff --git a/blog/2015/05/14/release-notes/index.html b/blog/2015/05/14/release-notes/index.html index 7dbb930170..f601989676 100644 --- a/blog/2015/05/14/release-notes/index.html +++ b/blog/2015/05/14/release-notes/index.html @@ -381,6 +381,12 @@ Before diving into the newly supported devices and services, I want to highlight diff --git a/blog/2015/06/10/release-notes/index.html b/blog/2015/06/10/release-notes/index.html index 8afaaeead6..5212f987dd 100644 --- a/blog/2015/06/10/release-notes/index.html +++ b/blog/2015/06/10/release-notes/index.html @@ -460,6 +460,12 @@ This switch platform allows you to control your motion detection setting on your diff --git a/blog/2015/07/11/ip-cameras-arduino-kodi-efergy-support/index.html b/blog/2015/07/11/ip-cameras-arduino-kodi-efergy-support/index.html index 5469d5246a..b3e107ecef 100644 --- a/blog/2015/07/11/ip-cameras-arduino-kodi-efergy-support/index.html +++ b/blog/2015/07/11/ip-cameras-arduino-kodi-efergy-support/index.html @@ -404,6 +404,12 @@ Fabian has added support for Forecast.io to g diff --git a/blog/2015/08/09/mqtt-raspberry-pi-squeezebox-asuswrt-support/index.html b/blog/2015/08/09/mqtt-raspberry-pi-squeezebox-asuswrt-support/index.html index afc6da8050..a57d2f4ce4 100644 --- a/blog/2015/08/09/mqtt-raspberry-pi-squeezebox-asuswrt-support/index.html +++ b/blog/2015/08/09/mqtt-raspberry-pi-squeezebox-asuswrt-support/index.html @@ -367,6 +367,12 @@ Support for Temper temperature sensors has been contributed by +
  • + 0.7: Better UI and improved distribution +
  • + + +
  • Laundry Automation: insight and notifications
  • @@ -386,12 +392,6 @@ Support for Temper temperature sensors has been contributed by - Release notes for June 10, 2015 - - - diff --git a/blog/2015/08/17/verisure-and-modern-tp-link-router-support/index.html b/blog/2015/08/17/verisure-and-modern-tp-link-router-support/index.html index 419fe003f9..9be50fc7b8 100644 --- a/blog/2015/08/17/verisure-and-modern-tp-link-router-support/index.html +++ b/blog/2015/08/17/verisure-and-modern-tp-link-router-support/index.html @@ -245,6 +245,12 @@ Home Assistant support to integrate your Ver diff --git a/blog/2015/08/26/laundry-automation-with-moteino-mqtt-and-home-assistant/index.html b/blog/2015/08/26/laundry-automation-with-moteino-mqtt-and-home-assistant/index.html index be707393b3..ad97c1636f 100644 --- a/blog/2015/08/26/laundry-automation-with-moteino-mqtt-and-home-assistant/index.html +++ b/blog/2015/08/26/laundry-automation-with-moteino-mqtt-and-home-assistant/index.html @@ -429,6 +429,12 @@ diff --git a/blog/2015/08/31/version-7-revamped-ui-and-improved-distribution/index.html b/blog/2015/08/31/version-7-revamped-ui-and-improved-distribution/index.html new file mode 100644 index 0000000000..e3baa78fac --- /dev/null +++ b/blog/2015/08/31/version-7-revamped-ui-and-improved-distribution/index.html @@ -0,0 +1,470 @@ + + + + + + + + + + + + 0.7: Better UI and improved distribution - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    + +
    + + +
    +
    + +

    0.7: Better UI and improved distribution

    + + + +
    + + + + + + + + + + + + + + + + + + + four minutes reading time + + + + + + + + + Comments + +
    + +
    + + + + +

    As Home Assistant is gaining more and more users we started to feel the pain from not having a +proper release mechanism. We had no version numbering and required users to checkout the source +using Git to get started. On top of that, as the number of devices that we support keeps raising, so +did the number of dependencies that are used. That’s why we decided to change the way we roll. From +now on:

    + +
      +
    • Each release will have a version number, starting with version 0.7. This was chosen because it +shows that we have been around for some time but are not considering ourselves to be fully +stable.
    • +
    • Each release will be pushed to PyPi. This will be the only supported method of distribution.
    • +
    • Home Assistant is available after installation as a command-line utility hass.
    • +
    • The default configuration location has been moved from config in the current working directory +to ~/.homeassistant (%APPDATA%/.homeassistant on Windows).
    • +
    • Requirements for components and platforms are no longer installed into the current Python +environment (being virtual or not) but will be installed in <config-dir>/lib.
    • +
    + + +

    A huge shout out to Ryan Kraus for making this all possible. Please +make sure you read the full blog post for details on how to migrate your existing setup.

    + +

    And while Ryan was fixing distribution, I have been hard at work in giving Home Assistant a face +lift. We already looked pretty good but lacked proper form of organization for users with many +devices. The new UI moves away from a card per entity and has cards per group and domain instead. +The demo has been updated so give it a spin.

    + +

    + + + + Screenshots of the new UI +

    + + + + + + + +

    Migration to version 0.7

    + +

    For this example, let’s say we have an old Home Assistant installation in +/home/paulus/home-assistant.

    + +

    If you want to migrate your existing configuration to be used as the default configuration:

    + +
    1
    +
    cp -r /home/paulus/home-assistant ~/.homeassistant
    +
    + + +

    It If you want to have the configuration in a different location, for example +/home/paulus/home-assistant-config, you will have to point Home Assistant at this configuration +folder when launching:

    + +
    1
    +
    hass --config /home/paulus/home-assistant-config
    +
    + + +

    New platforms

    + +

    And last, but not least: new platforms!

    + +

    MQTT Sensors and Switches
    + +@sfam has blessed us with two more MQTT platforms to extend our +integration with MQTTT: sensor and switch. Both platforms require the +MQTT component to be connected to a broker.

    + +
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +
    # Example configuration.yml entr
    +sensor:
    +  platform: mqtt
    +  name: "MQTT Sensor"
    +  state_topic: "home/bedroom/temperature"
    +  unit_of_measurement: "ºC"
    +
    +switch:
    +  platform: mqtt
    +  name: "Bedroom Switch"
    +  state_topic: "home/bedroom/switch1"
    +  command_topic: "home/bedroom/switch1/set"
    +  payload_on: "ON"
    +  payload_off: "OFF"
    +  optimistic: false
    +
    + + +

    Actiontec MI424WR Verizon FIOS Wireless router
    + +Nolan has contributed support for Actiontec wireless routers.

    + +
    1
    +2
    +3
    +4
    +5
    +6
    +
    # Example configuration.yaml entry
    +device_tracker:
    +  platform: actiontec
    +  host: YOUR_ROUTER_IP
    +  username: YOUR_ADMIN_USERNAME
    +  password: YOUR_ADMIN_PASSWORD
    +
    + + +

    DHT temperature and humidty sensors
    +@MakeMeASandwich has contributed support for DHT temperature +and humidity sensors. It allows you to get the current temperature and humidity from a DHT11, DHT22, +or AM2302 device.

    + +
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +
    # Example configuration.yaml entry
    +sensor:
    +  platform: dht
    +  sensor: DHT22
    +  pin: 23
    +  monitored_conditions:
    +    - temperature
    +    - humidity
    +
    + + +

    Aruba device tracker
    +Michael Arnauts has contributed support for Aruba wireless routers for presence detection.

    + +
    1
    +2
    +3
    +4
    +5
    +6
    +
    # Example configuration.yaml entry
    +device_tracker:
    +  platform: aruba
    +  host: YOUR_ACCESS_POINT_IP
    +  username: YOUR_ADMIN_USERNAME
    +  password: YOUR_ADMIN_PASSWORD
    +
    + + + +
    + + +
    +

    Comments

    +
    +
    +
    + + +
    + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/blog/archives/index.html b/blog/archives/index.html index 03d56c8212..390a29e2de 100644 --- a/blog/archives/index.html +++ b/blog/archives/index.html @@ -22,7 +22,7 @@ - + @@ -114,6 +114,43 @@ + + + +
    + +
    @@ -914,6 +951,12 @@ diff --git a/blog/categories/architecture/atom.xml b/blog/categories/architecture/atom.xml index d1a8ab52c5..51ef134019 100644 --- a/blog/categories/architecture/atom.xml +++ b/blog/categories/architecture/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: architecture | Home Assistant]]> - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 https://home-assistant.io/ diff --git a/blog/categories/architecture/index.html b/blog/categories/architecture/index.html index 58e177ce69..95dcab8ac5 100644 --- a/blog/categories/architecture/index.html +++ b/blog/categories/architecture/index.html @@ -206,6 +206,12 @@ diff --git a/blog/categories/branding/atom.xml b/blog/categories/branding/atom.xml index c83ad1a739..131b6e6b4c 100644 --- a/blog/categories/branding/atom.xml +++ b/blog/categories/branding/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: branding | Home Assistant]]> - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 https://home-assistant.io/ diff --git a/blog/categories/branding/index.html b/blog/categories/branding/index.html index b0f770579f..6613750abd 100644 --- a/blog/categories/branding/index.html +++ b/blog/categories/branding/index.html @@ -206,6 +206,12 @@ diff --git a/blog/categories/component/atom.xml b/blog/categories/component/atom.xml index 5cf78910a0..1fa8dbdce2 100644 --- a/blog/categories/component/atom.xml +++ b/blog/categories/component/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: component | Home Assistant]]> - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 https://home-assistant.io/ diff --git a/blog/categories/component/index.html b/blog/categories/component/index.html index a331d8ad26..ef8687a1e7 100644 --- a/blog/categories/component/index.html +++ b/blog/categories/component/index.html @@ -319,6 +319,12 @@ diff --git a/blog/categories/core/atom.xml b/blog/categories/core/atom.xml index 02a1bfa378..76867e97b2 100644 --- a/blog/categories/core/atom.xml +++ b/blog/categories/core/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: core | Home Assistant]]> - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 https://home-assistant.io/ diff --git a/blog/categories/core/index.html b/blog/categories/core/index.html index 279104af3c..ab48f9a05d 100644 --- a/blog/categories/core/index.html +++ b/blog/categories/core/index.html @@ -243,6 +243,12 @@ diff --git a/blog/categories/frontend/atom.xml b/blog/categories/frontend/atom.xml index 5a2bda276c..56bc7994ff 100644 --- a/blog/categories/frontend/atom.xml +++ b/blog/categories/frontend/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: frontend | Home Assistant]]> - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 https://home-assistant.io/ diff --git a/blog/categories/frontend/index.html b/blog/categories/frontend/index.html index 082ca8366b..a0aae00690 100644 --- a/blog/categories/frontend/index.html +++ b/blog/categories/frontend/index.html @@ -245,6 +245,12 @@ diff --git a/blog/categories/release-notes/atom.xml b/blog/categories/release-notes/atom.xml index f1cb39ffa1..bb7d50576d 100644 --- a/blog/categories/release-notes/atom.xml +++ b/blog/categories/release-notes/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: release-notes | Home Assistant]]> - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 https://home-assistant.io/ diff --git a/blog/categories/release-notes/index.html b/blog/categories/release-notes/index.html index f9008da91e..6c525c8d25 100644 --- a/blog/categories/release-notes/index.html +++ b/blog/categories/release-notes/index.html @@ -502,6 +502,12 @@ diff --git a/blog/categories/user-stories/atom.xml b/blog/categories/user-stories/atom.xml index 15deda7b7f..b5a7622b80 100644 --- a/blog/categories/user-stories/atom.xml +++ b/blog/categories/user-stories/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: user-stories | Home Assistant]]> - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 https://home-assistant.io/ @@ -13,6 +13,135 @@ Octopress + + <![CDATA[0.7: Better UI and improved distribution]]> + + 2015-08-31T14:12:00-07:00 + https://home-assistant.io/blog/2015/08/31/version-7-revamped-ui-and-improved-distribution + As Home Assistant is gaining more and more users we started to feel the pain from not having a +proper release mechanism. We had no version numbering and required users to checkout the source +using Git to get started. On top of that, as the number of devices that we support keeps raising, so +did the number of dependencies that are used. That’s why we decided to change the way we roll. From +now on:

    + +
      +
    • Each release will have a version number, starting with version 0.7. This was chosen because it +shows that we have been around for some time but are not considering ourselves to be fully +stable.
    • +
    • Each release will be pushed to PyPi. This will be the only supported method of distribution.
    • +
    • Home Assistant is available after installation as a command-line utility hass.
    • +
    • The default configuration location has been moved from config in the current working directory +to ~/.homeassistant (%APPDATA%/.homeassistant on Windows).
    • +
    • Requirements for components and platforms are no longer installed into the current Python +environment (being virtual or not) but will be installed in <config-dir>/lib.
    • +
    + + +

    A huge shout out to Ryan Kraus for making this all possible. Please +make sure you read the full blog post for details on how to migrate your existing setup.

    + +

    And while Ryan was fixing distribution, I have been hard at work in giving Home Assistant a face +lift. We already looked pretty good but lacked proper form of organization for users with many +devices. The new UI moves away from a card per entity and has cards per group and domain instead. +The demo has been updated so give it a spin.

    + +

    + + + + Screenshots of the new UI +

    + + + + + + + +

    Migration to version 0.7

    + +

    For this example, let’s say we have an old Home Assistant installation in +/home/paulus/home-assistant.

    + +

    If you want to migrate your existing configuration to be used as the default configuration:

    + +
    cp -r /home/paulus/home-assistant ~/.homeassistant
    +
    + +

    It If you want to have the configuration in a different location, for example +/home/paulus/home-assistant-config, you will have to point Home Assistant at this configuration +folder when launching:

    + +
    hass --config /home/paulus/home-assistant-config
    +
    + +

    New platforms

    + +

    And last, but not least: new platforms!

    + +

    MQTT Sensors and Switches
    + +@sfam has blessed us with two more MQTT platforms to extend our +integration with MQTTT: sensor and switch. Both platforms require the +MQTT component to be connected to a broker.

    + +
    # Example configuration.yml entr
    +sensor:
    +  platform: mqtt
    +  name: "MQTT Sensor"
    +  state_topic: "home/bedroom/temperature"
    +  unit_of_measurement: "ºC"
    +
    +switch:
    +  platform: mqtt
    +  name: "Bedroom Switch"
    +  state_topic: "home/bedroom/switch1"
    +  command_topic: "home/bedroom/switch1/set"
    +  payload_on: "ON"
    +  payload_off: "OFF"
    +  optimistic: false
    +
    + +

    Actiontec MI424WR Verizon FIOS Wireless router
    + +Nolan has contributed support for Actiontec wireless routers.

    + +
    # Example configuration.yaml entry
    +device_tracker:
    +  platform: actiontec
    +  host: YOUR_ROUTER_IP
    +  username: YOUR_ADMIN_USERNAME
    +  password: YOUR_ADMIN_PASSWORD
    +
    + +

    DHT temperature and humidty sensors
    +@MakeMeASandwich has contributed support for DHT temperature +and humidity sensors. It allows you to get the current temperature and humidity from a DHT11, DHT22, +or AM2302 device.

    + +
    # Example configuration.yaml entry
    +sensor:
    +  platform: dht
    +  sensor: DHT22
    +  pin: 23
    +  monitored_conditions:
    +    - temperature
    +    - humidity
    +
    + +

    Aruba device tracker
    +Michael Arnauts has contributed support for Aruba wireless routers for presence detection.

    + +
    # Example configuration.yaml entry
    +device_tracker:
    +  platform: aruba
    +  host: YOUR_ACCESS_POINT_IP
    +  username: YOUR_ADMIN_USERNAME
    +  password: YOUR_ADMIN_PASSWORD
    +
    +]]>
    +
    + <![CDATA[Laundry Automation: insight and notifications]]> diff --git a/blog/categories/user-stories/index.html b/blog/categories/user-stories/index.html index bb2b63425f..ee0c6fe77f 100644 --- a/blog/categories/user-stories/index.html +++ b/blog/categories/user-stories/index.html @@ -114,6 +114,43 @@ + + + +
    + +
    @@ -206,6 +243,12 @@ diff --git a/blog/categories/website/atom.xml b/blog/categories/website/atom.xml index fccb2e01a1..bee64dc009 100644 --- a/blog/categories/website/atom.xml +++ b/blog/categories/website/atom.xml @@ -4,7 +4,7 @@ <![CDATA[Category: website | Home Assistant]]> - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 https://home-assistant.io/ diff --git a/blog/categories/website/index.html b/blog/categories/website/index.html index e38fbcf4f3..bad5a7733a 100644 --- a/blog/categories/website/index.html +++ b/blog/categories/website/index.html @@ -206,6 +206,12 @@ diff --git a/blog/index.html b/blog/index.html index 37a3321a22..c655337225 100644 --- a/blog/index.html +++ b/blog/index.html @@ -22,7 +22,7 @@ - + @@ -96,6 +96,106 @@ +
    +
    + +

    + 0.7: Better UI and improved distribution +

    + + + +
    + + + + + + + + + + + + + + + + + + + four minutes reading time + + + + + + + + + Comments + +
    + +
    + + + + +
    +

    As Home Assistant is gaining more and more users we started to feel the pain from not having a +proper release mechanism. We had no version numbering and required users to checkout the source +using Git to get started. On top of that, as the number of devices that we support keeps raising, so +did the number of dependencies that are used. That’s why we decided to change the way we roll. From +now on:

    + +
      +
    • Each release will have a version number, starting with version 0.7. This was chosen because it +shows that we have been around for some time but are not considering ourselves to be fully +stable.
    • +
    • Each release will be pushed to PyPi. This will be the only supported method of distribution.
    • +
    • Home Assistant is available after installation as a command-line utility hass.
    • +
    • The default configuration location has been moved from config in the current working directory +to ~/.homeassistant (%APPDATA%/.homeassistant on Windows).
    • +
    • Requirements for components and platforms are no longer installed into the current Python +environment (being virtual or not) but will be installed in <config-dir>/lib.
    • +
    + + +

    A huge shout out to Ryan Kraus for making this all possible. Please +make sure you read the full blog post for details on how to migrate your existing setup.

    + +

    And while Ryan was fixing distribution, I have been hard at work in giving Home Assistant a face +lift. We already looked pretty good but lacked proper form of organization for users with many +devices. The new UI moves away from a card per entity and has cards per group and domain instead. +The demo has been updated so give it a spin.

    + +

    + + + + Screenshots of the new UI +

    + + + + + + Read on → +
    + +
    +
    + +
    @@ -920,121 +1020,6 @@ Andythigpen has contributed a script component. This allows users to create a se

    - -
    -
    - -

    - Release notes for March 11, 2015 -

    - - - -
    - - - - - - - - - - - - - - - - - - - two minutes reading time - - - - - - - - - Comments - -
    - -
    - - - - -

    It has only been a little over a week since Theodor introduced YAML support for Home Assistant but so much has already happened that it is time for a summary of recent changes. Before mentioning the highlights I want to thank andythigpen, jamespcole and theolind for numerous bug fixes, enhancements and new contributions. Thanks!

    - -

    Monitor local resources.
    -Theodor has contributed a new sensor platform to allow you to monitor disk usage, memory usage, CPU usage and running processes. This platform has superseded the process component which is now considered deprecated.

    - -
    1
    -2
    -3
    -4
    -5
    -6
    -7
    -8
    -9
    -
    # Example configuration.yaml entry
    -sensor:
    -  - platform: systemmonitor
    -    resources:
    -      - type: disk_use_percent
    -        arg: /home
    -      - type: memory_free
    -      - type: process
    -        arg: kodi
    -
    - - -

    Experimental Z-Wave support
    -There is now experimental support for connecting Z-Wave networks using a Z-Wave USB stick. Right now it only integrates Z-Wave sensors into Home Assistant. Our goal is to get this tested by more people before adding support for other Z-Wave devices.

    - -

    The new component is built on top of python-openzwave. This package is currently not distributed on PyPi so we’ve added a script scripts/build_python_openzwave to install it on your machine. Alternatively you can use the Docker image which is ready to go.

    - -

    The development was done using an AEON Z-Wave USB stick and an AEON Z-Wave MultiSensor.

    - -
    1
    -2
    -3
    -
    # Example configuration.yaml entry
    -zwave:
    -  usb_path: /dev/ttyUSB0
    -
    - - -

    Voice control
    -An initial version of voice control for Home Assistant has landed. The current implementation consists of two parts.

    - -

    The first part is a component called conversation that exposes the service conversation/process. This service is capable of processing text and translating them into commands for devices. For now it will only support commands in the format of Turn <Friendly Name> <on/off>.

    - -

    The second part is an upgrade to the frontend to use the speech-to-text in Chrome to allow users to speak commands. If you’re using Chrome, you can test this out in the demo.

    - -
    1
    -2
    -
    # Example configuration.yaml entry
    -conversation:
    -
    - - - -
    -
    - +
    +
    + @@ -346,11 +417,9 @@ the manufacturers of these devices. Tellstick Vera Wink -ISY994

    - -

    Modbus -Arduino -Verisure

    +ISY994 +Modbus +Arduino

    Support for these devices is provided by the Home Assistant community and not @@ -360,140 +429,161 @@ the manufacturers of these devices.

    Services

    + + + +
    +
    + + + + + +
    +
    + diff --git a/components/mqtt.html b/components/mqtt.html index 4a628ad90e..46e58da237 100644 --- a/components/mqtt.html +++ b/components/mqtt.html @@ -141,7 +141,13 @@ The MQTT component has no TLS support at the moment. This means that only plain-

    Building on top of MQTT

    -

    There are two ways to integrate MQTT into your process. One is by using the MQTT-automation rule. The other one is by integrating it into a component. See the MQTT example component how to do this.

    + +

    Testing

    diff --git a/components/sensor.bitcoin.html b/components/sensor.bitcoin.html index 58c46ded8b..788bc248a2 100644 --- a/components/sensor.bitcoin.html +++ b/components/sensor.bitcoin.html @@ -12,7 +12,7 @@ Bitcoin support - Home Assistant - + @@ -22,7 +22,7 @@ - + diff --git a/components/sensor.dht.html b/components/sensor.dht.html new file mode 100644 index 0000000000..cf6af30277 --- /dev/null +++ b/components/sensor.dht.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + DHT support - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    + +
    + + +
    + + +
    +

    + DHT Support +

    +
    +
    + + +

    The dht sensor platform allows you to get the current temperature and humidity from a DHT11, DHT22, or AM2302 device.

    + +

    To use your DHTxx sensor in your installation, add the following to your configuration.yaml file:

    + +
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +
    # Example configuration.yaml entry
    +sensor:
    +  platform: dht
    +  sensor: DHT22
    +  pin: 23
    +  monitored_conditions:
    +    - temperature
    +    - humidity
    +
    + + +

    The name of the pin to which the sensor is connected has different names on different platforms. ‘P8_11’ for Beaglebone, ‘23’ for Raspberry Pi.

    + +

    +As this requires access to the GPIO, you will need to run Home Assistant as root. +

    + + + + + +
    + + +
    + + +
    +
    + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/components/sensor.mqtt.html b/components/sensor.mqtt.html new file mode 100644 index 0000000000..5de787bd75 --- /dev/null +++ b/components/sensor.mqtt.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + MQTT Sensor support - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    + +
    + + +
    + + +
    +

    + MQTT Sensor Support +

    +
    +
    + + +

    +This generic sensor implementation uses the MQTT message payload +as the sensor value. If messages in this state_topic are published +with RETAIN flag, the sensor will receive an instant update with +last known value. Otherwise, the initial state will be undefined.

    + +
    1
    +2
    +3
    +4
    +5
    +6
    +
    # Example configuration.yml entry
    +sensor:
    +  platform: mqtt
    +  name: "MQTT Sensor"
    +  state_topic: "home/bedroom/temperature"
    +  unit_of_measurement: "ºC"
    +
    + + +

    state_topic: The MQTT topic subscribed to receive sensor values. Required

    + +

    name: The name of the sensor. Default is ‘MQTT Sensor’. Optional

    + +

    unit_of_measurement: Defines the units of measurement of the sensor, if any. Optional

    + + +
    + + +
    + + +
    +
    + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/components/sensor.rpi_gpio.html b/components/sensor.rpi_gpio.html new file mode 100644 index 0000000000..6c88d416a2 --- /dev/null +++ b/components/sensor.rpi_gpio.html @@ -0,0 +1,184 @@ + + + + + + + + + + + + Raspberry PI GPIO sensor support - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    + +
    + + +
    + + +
    +

    + Raspberry PI GPIO Sensor Support +

    +
    +
    + + +

    +The rpi_gpio sensor platform allows you to read sensor values of the GPIOs of your Raspberry Pi.

    + +

    To use your Raspberry Pi’s GPIO in your installation, add the following to your configuration.yaml file:

    + +
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +
    # Example configuration.yaml entry
    +sensor:
    +  platform: rpi_gpio
    +  pull_mode: "UP"
    +  value_high: "Active"
    +  value_low: "Inactive"
    +  ports:
    +    11: PIR Office
    +    12: PIR Bedroom
    + + +

    For more details about the GPIO layout, visit the Wikipedia article about the Raspberry Pi.

    + +

    +As this requires access to the GPIO, you will need to run Home Assistant as root. +

    + + + + + +
    + + +
    + + +
    +
    + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/components/switch.mqtt.html b/components/switch.mqtt.html new file mode 100644 index 0000000000..7c07c2f0d0 --- /dev/null +++ b/components/switch.mqtt.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + MQTT switch support - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    + +
    + + +
    + + +
    +

    + MQTT Switch Support +

    +
    +
    + + +

    +In an ideal scenario, the MQTT device will have a state topic to publish +state changes. If these messages are published with RETAIN flag, the MQTT +switch will receive an instant state update after subscription and will +start with correct state. Otherwise, the initial state of the switch will +be false/off.

    + +

    When a state topic is not available, the switch will work in optimistic mode. +In this mode, the switch will immediately change state after every command. +Otherwise, the switch will wait for state confirmation from device +(message from state_topic).

    + +

    Optimistic mode can be forced, even if state topic is available. +Try to enable it, if experiencing incorrect switch operation.

    + +
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +
    # Example configuration.yml entr
    +switch:
    +  platform: mqtt
    +  name: "Bedroom Switch"
    +  state_topic: "home/bedroom/switch1"
    +  command_topic: "home/bedroom/switch1/set"
    +  payload_on: "ON"
    +  payload_off: "OFF"
    +  optimistic: false
    +
    + + +

    command_topic: The MQTT topic to publish commands to change the switch state. Required

    + +

    name: The name of the switch. Default is ‘MQTT Switch’. Optional

    + +

    state_topic: The MQTT topic subscribed to receive state updates. Optional

    + +

    payload_on: The payload that represents enabled state. Default is “ON”. Optional

    + +

    payload_off: The payload that represents disabled state. Default is “OFF”. Optional

    + +

    optimistic: Flag that defines if switch works in optimistic mode. Default is true if no state topic defined, else false. Optional

    + + +
    + + +
    + + +
    +
    + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/components/switch.rpi_gpio.html b/components/switch.rpi_gpio.html index 4680af5b7b..17210497cf 100644 --- a/components/switch.rpi_gpio.html +++ b/components/switch.rpi_gpio.html @@ -9,7 +9,7 @@ - Raspberry PI GPIO support - Home Assistant + Raspberry PI GPIO switch support - Home Assistant @@ -18,7 +18,7 @@ - + @@ -98,7 +98,7 @@

    - Raspberry PI GPIO Support + Raspberry PI GPIO Switch Support


    @@ -125,6 +125,13 @@ The rpi_gpio switch platform allows you to control the GPIOs of your article about the Raspberry Pi.

    +

    +As this requires access to the GPIO, you will need to run Home Assistant as root. +

    + + + +
    diff --git a/components/switch.wemo.html b/components/switch.wemo.html index d1b2f16395..5709b63f5d 100644 --- a/components/switch.wemo.html +++ b/components/switch.wemo.html @@ -104,10 +104,10 @@
    -

    +

    The wemo platform allows you to control your Belkin WeMo switches from within Home Assistant.

    -

    To add Wemo switches to your installation, add the following to your configuration.yaml file:

    +

    They will be automatically discovered if the discovery component is enabled.

    1
     2
    diff --git a/demo/frontend.html b/demo/frontend.html
    index ae077e87c5..d12500c287 100644
    --- a/demo/frontend.html
    +++ b/demo/frontend.html
    @@ -1,6 +1,6 @@
    -
    \ No newline at end of file
    +    }
    \ No newline at end of file
    diff --git a/demo/index.html b/demo/index.html
    index 8e8893470b..99b5c68851 100644
    --- a/demo/index.html
    +++ b/demo/index.html
    @@ -5,30 +5,53 @@
         Home Assistant
     
         
    -
    -    
    -    
    -
    -    
    -
         
         
         
    +    
    +    
    +    
         
    +    
       
       
    -      

    Initializing Home Assistant

    - - - - +
    + +
    Initializing
    +
    + + + + diff --git a/demo/webcomponents-lite.min.js b/demo/webcomponents-lite.min.js index 84acb55dd4..ec6063b7a5 100644 --- a/demo/webcomponents-lite.min.js +++ b/demo/webcomponents-lite.min.js @@ -7,7 +7,6 @@ * Code distributed by Google as part of the polymer project is also * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt */ -// @version 0.7.6 -window.WebComponents=window.WebComponents||{},function(e){var t=e.flags||{},n="webcomponents-lite.js",r=document.querySelector('script[src*="'+n+'"]');if(!t.noOpts){if(location.search.slice(1).split("&").forEach(function(e){var n,r=e.split("=");r[0]&&(n=r[0].match(/wc-(.+)/))&&(t[n[1]]=r[1]||!0)}),r)for(var o,i=0;o=r.attributes[i];i++)"src"!==o.name&&(t[o.name]=o.value||!0);if(t.log){var a=t.log.split(",");t.log={},a.forEach(function(e){t.log[e]=!0})}else t.log={}}t.shadow=t.shadow||t.shadowdom||t.polyfill,t.shadow="native"===t.shadow?!1:t.shadow||!HTMLElement.prototype.createShadowRoot,t.register&&(window.CustomElements=window.CustomElements||{flags:{}},window.CustomElements.flags.register=t.register),e.flags=t}(window.WebComponents),function(e){"use strict";function t(e){return void 0!==h[e]}function n(){s.call(this),this._isInvalid=!0}function r(e){return""==e&&n.call(this),e.toLowerCase()}function o(e){var t=e.charCodeAt(0);return t>32&&127>t&&-1==[34,35,60,62,63,96].indexOf(t)?e:encodeURIComponent(e)}function i(e){var t=e.charCodeAt(0);return t>32&&127>t&&-1==[34,35,60,62,96].indexOf(t)?e:encodeURIComponent(e)}function a(e,a,s){function c(e){g.push(e)}var d=a||"scheme start",u=0,l="",_=!1,w=!1,g=[];e:for(;(e[u-1]!=f||0==u)&&!this._isInvalid;){var b=e[u];switch(d){case"scheme start":if(!b||!m.test(b)){if(a){c("Invalid scheme.");break e}l="",d="no scheme";continue}l+=b.toLowerCase(),d="scheme";break;case"scheme":if(b&&v.test(b))l+=b.toLowerCase();else{if(":"!=b){if(a){if(f==b)break e;c("Code point not allowed in scheme: "+b);break e}l="",u=0,d="no scheme";continue}if(this._scheme=l,l="",a)break e;t(this._scheme)&&(this._isRelative=!0),d="file"==this._scheme?"relative":this._isRelative&&s&&s._scheme==this._scheme?"relative or authority":this._isRelative?"authority first slash":"scheme data"}break;case"scheme data":"?"==b?(this._query="?",d="query"):"#"==b?(this._fragment="#",d="fragment"):f!=b&&" "!=b&&"\n"!=b&&"\r"!=b&&(this._schemeData+=o(b));break;case"no scheme":if(s&&t(s._scheme)){d="relative";continue}c("Missing scheme."),n.call(this);break;case"relative or authority":if("/"!=b||"/"!=e[u+1]){c("Expected /, got: "+b),d="relative";continue}d="authority ignore slashes";break;case"relative":if(this._isRelative=!0,"file"!=this._scheme&&(this._scheme=s._scheme),f==b){this._host=s._host,this._port=s._port,this._path=s._path.slice(),this._query=s._query,this._username=s._username,this._password=s._password;break e}if("/"==b||"\\"==b)"\\"==b&&c("\\ is an invalid code point."),d="relative slash";else if("?"==b)this._host=s._host,this._port=s._port,this._path=s._path.slice(),this._query="?",this._username=s._username,this._password=s._password,d="query";else{if("#"!=b){var y=e[u+1],E=e[u+2];("file"!=this._scheme||!m.test(b)||":"!=y&&"|"!=y||f!=E&&"/"!=E&&"\\"!=E&&"?"!=E&&"#"!=E)&&(this._host=s._host,this._port=s._port,this._username=s._username,this._password=s._password,this._path=s._path.slice(),this._path.pop()),d="relative path";continue}this._host=s._host,this._port=s._port,this._path=s._path.slice(),this._query=s._query,this._fragment="#",this._username=s._username,this._password=s._password,d="fragment"}break;case"relative slash":if("/"!=b&&"\\"!=b){"file"!=this._scheme&&(this._host=s._host,this._port=s._port,this._username=s._username,this._password=s._password),d="relative path";continue}"\\"==b&&c("\\ is an invalid code point."),d="file"==this._scheme?"file host":"authority ignore slashes";break;case"authority first slash":if("/"!=b){c("Expected '/', got: "+b),d="authority ignore slashes";continue}d="authority second slash";break;case"authority second slash":if(d="authority ignore slashes","/"!=b){c("Expected '/', got: "+b);continue}break;case"authority ignore slashes":if("/"!=b&&"\\"!=b){d="authority";continue}c("Expected authority, got: "+b);break;case"authority":if("@"==b){_&&(c("@ already seen."),l+="%40"),_=!0;for(var L=0;L>>0)+(t++ +"__")};n.prototype={set:function(t,n){var r=t[this.name];return r&&r[0]===t?r[1]=n:e(t,this.name,{value:[t,n],writable:!0}),this},get:function(e){var t;return(t=e[this.name])&&t[0]===e?t[1]:void 0},"delete":function(e){var t=e[this.name];return t&&t[0]===e?(t[0]=t[1]=void 0,!0):!1},has:function(e){var t=e[this.name];return t?t[0]===e:!1}},window.WeakMap=n}(),function(e){function t(e){b.push(e),g||(g=!0,m(r))}function n(e){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(e)||e}function r(){g=!1;var e=b;b=[],e.sort(function(e,t){return e.uid_-t.uid_});var t=!1;e.forEach(function(e){var n=e.takeRecords();o(e),n.length&&(e.callback_(n,e),t=!0)}),t&&r()}function o(e){e.nodes_.forEach(function(t){var n=v.get(t);n&&n.forEach(function(t){t.observer===e&&t.removeTransientObservers()})})}function i(e,t){for(var n=e;n;n=n.parentNode){var r=v.get(n);if(r)for(var o=0;o0){var o=n[r-1],i=p(o,e);if(i)return void(n[r-1]=i)}else t(this.observer);n[r]=e},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(e){var t=this.options;t.attributes&&e.addEventListener("DOMAttrModified",this,!0),t.characterData&&e.addEventListener("DOMCharacterDataModified",this,!0),t.childList&&e.addEventListener("DOMNodeInserted",this,!0),(t.childList||t.subtree)&&e.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(e){var t=this.options;t.attributes&&e.removeEventListener("DOMAttrModified",this,!0),t.characterData&&e.removeEventListener("DOMCharacterDataModified",this,!0),t.childList&&e.removeEventListener("DOMNodeInserted",this,!0),(t.childList||t.subtree)&&e.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(e){if(e!==this.target){this.addListeners_(e),this.transientObservedNodes.push(e);var t=v.get(e);t||v.set(e,t=[]),t.push(this)}},removeTransientObservers:function(){var e=this.transientObservedNodes;this.transientObservedNodes=[],e.forEach(function(e){this.removeListeners_(e);for(var t=v.get(e),n=0;np&&(h=s[p]);p++)a(h)?(c++,n()):(h.addEventListener("load",r),h.addEventListener("error",i));else n()}function a(e){return l?e.__loaded||e["import"]&&"loading"!==e["import"].readyState:e.__importParsed}function s(e){for(var t,n=0,r=e.length;r>n&&(t=e[n]);n++)c(t)&&d(t)}function c(e){return"link"===e.localName&&"import"===e.rel}function d(e){var t=e["import"];t?o({target:e}):(e.addEventListener("load",o),e.addEventListener("error",o))}var u="import",l=Boolean(u in document.createElement("link")),h=Boolean(window.ShadowDOMPolyfill),p=function(e){return h?window.ShadowDOMPolyfill.wrapIfNeeded(e):e},f=p(document),m={get:function(){var e=window.HTMLImports.currentScript||document.currentScript||("complete"!==document.readyState?document.scripts[document.scripts.length-1]:null);return p(e)},configurable:!0};Object.defineProperty(document,"_currentScript",m),Object.defineProperty(f,"_currentScript",m);var v=/Trident/.test(navigator.userAgent),_=v?"complete":"interactive",w="readystatechange";l&&(new MutationObserver(function(e){for(var t,n=0,r=e.length;r>n&&(t=e[n]);n++)t.addedNodes&&s(t.addedNodes)}).observe(document.head,{childList:!0}),function(){if("loading"===document.readyState)for(var e,t=document.querySelectorAll("link[rel=import]"),n=0,r=t.length;r>n&&(e=t[n]);n++)d(e)}()),t(function(e){window.HTMLImports.ready=!0,window.HTMLImports.readyTime=(new Date).getTime();var t=f.createEvent("CustomEvent");t.initCustomEvent("HTMLImportsLoaded",!0,!0,e),f.dispatchEvent(t)}),e.IMPORT_LINK_TYPE=u,e.useNative=l,e.rootDocument=f,e.whenReady=t,e.isIE=v}(window.HTMLImports),function(e){var t=[],n=function(e){t.push(e)},r=function(){t.forEach(function(t){t(e)})};e.addModule=n,e.initializeModules=r}(window.HTMLImports),window.HTMLImports.addModule(function(e){var t=/(url\()([^)]*)(\))/g,n=/(@import[\s]+(?!url\())([^;]*)(;)/g,r={resolveUrlsInStyle:function(e,t){var n=e.ownerDocument,r=n.createElement("a");return e.textContent=this.resolveUrlsInCssText(e.textContent,t,r),e},resolveUrlsInCssText:function(e,r,o){var i=this.replaceUrls(e,o,r,t);return i=this.replaceUrls(i,o,r,n)},replaceUrls:function(e,t,n,r){return e.replace(r,function(e,r,o,i){var a=o.replace(/["']/g,"");return n&&(a=new URL(a,n).href),t.href=a,a=t.href,r+"'"+a+"'"+i})}};e.path=r}),window.HTMLImports.addModule(function(e){var t={async:!0,ok:function(e){return e.status>=200&&e.status<300||304===e.status||0===e.status},load:function(n,r,o){var i=new XMLHttpRequest;return(e.flags.debug||e.flags.bust)&&(n+="?"+Math.random()),i.open("GET",n,t.async),i.addEventListener("readystatechange",function(e){if(4===i.readyState){var n=i.getResponseHeader("Location"),a=null;if(n)var a="/"===n.substr(0,1)?location.origin+n:n;r.call(o,!t.ok(i)&&i,i.response||i.responseText,a)}}),i.send(),i},loadDocument:function(e,t,n){this.load(e,t,n).responseType="document"}};e.xhr=t}),window.HTMLImports.addModule(function(e){var t=e.xhr,n=e.flags,r=function(e,t){this.cache={},this.onload=e,this.oncomplete=t,this.inflight=0,this.pending={}};r.prototype={addNodes:function(e){this.inflight+=e.length;for(var t,n=0,r=e.length;r>n&&(t=e[n]);n++)this.require(t);this.checkDone()},addNode:function(e){this.inflight++,this.require(e),this.checkDone()},require:function(e){var t=e.src||e.href;e.__nodeUrl=t,this.dedupe(t,e)||this.fetch(t,e)},dedupe:function(e,t){if(this.pending[e])return this.pending[e].push(t),!0;return this.cache[e]?(this.onload(e,t,this.cache[e]),this.tail(),!0):(this.pending[e]=[t],!1)},fetch:function(e,r){if(n.load&&console.log("fetch",e,r),e)if(e.match(/^data:/)){var o=e.split(","),i=o[0],a=o[1];a=i.indexOf(";base64")>-1?atob(a):decodeURIComponent(a),setTimeout(function(){this.receive(e,r,null,a)}.bind(this),0)}else{var s=function(t,n,o){this.receive(e,r,t,n,o)}.bind(this);t.load(e,s)}else setTimeout(function(){this.receive(e,r,{error:"href must be specified"},null)}.bind(this),0)},receive:function(e,t,n,r,o){this.cache[e]=r;for(var i,a=this.pending[e],s=0,c=a.length;c>s&&(i=a[s]);s++)this.onload(e,i,r,n,o),this.tail();this.pending[e]=null},tail:function(){--this.inflight,this.checkDone()},checkDone:function(){this.inflight||this.oncomplete()}},e.Loader=r}),window.HTMLImports.addModule(function(e){var t=function(e){this.addCallback=e,this.mo=new MutationObserver(this.handler.bind(this))};t.prototype={handler:function(e){for(var t,n=0,r=e.length;r>n&&(t=e[n]);n++)"childList"===t.type&&t.addedNodes.length&&this.addedNodes(t.addedNodes)},addedNodes:function(e){this.addCallback&&this.addCallback(e);for(var t,n=0,r=e.length;r>n&&(t=e[n]);n++)t.children&&t.children.length&&this.addedNodes(t.children)},observe:function(e){this.mo.observe(e,{childList:!0,subtree:!0})}},e.Observer=t}),window.HTMLImports.addModule(function(e){function t(e){return"link"===e.localName&&e.rel===u}function n(e){var t=r(e);return"data:text/javascript;charset=utf-8,"+encodeURIComponent(t)}function r(e){return e.textContent+o(e)}function o(e){var t=e.ownerDocument;t.__importedScripts=t.__importedScripts||0;var n=e.ownerDocument.baseURI,r=t.__importedScripts?"-"+t.__importedScripts:"";return t.__importedScripts++,"\n//# sourceURL="+n+r+".js\n"}function i(e){var t=e.ownerDocument.createElement("style");return t.textContent=e.textContent,a.resolveUrlsInStyle(t),t}var a=e.path,s=e.rootDocument,c=e.flags,d=e.isIE,u=e.IMPORT_LINK_TYPE,l="link[rel="+u+"]",h={documentSelectors:l,importsSelectors:[l,"link[rel=stylesheet]","style","script:not([type])",'script[type="application/javascript"]','script[type="text/javascript"]'].join(","),map:{link:"parseLink",script:"parseScript",style:"parseStyle"},dynamicElements:[],parseNext:function(){var e=this.nextToParse();e&&this.parse(e)},parse:function(e){if(this.isParsed(e))return void(c.parse&&console.log("[%s] is already parsed",e.localName));var t=this[this.map[e.localName]];t&&(this.markParsing(e),t.call(this,e))},parseDynamic:function(e,t){this.dynamicElements.push(e),t||this.parseNext()},markParsing:function(e){c.parse&&console.log("parsing",e),this.parsingElement=e},markParsingComplete:function(e){e.__importParsed=!0,this.markDynamicParsingComplete(e),e.__importElement&&(e.__importElement.__importParsed=!0,this.markDynamicParsingComplete(e.__importElement)),this.parsingElement=null,c.parse&&console.log("completed",e)},markDynamicParsingComplete:function(e){var t=this.dynamicElements.indexOf(e);t>=0&&this.dynamicElements.splice(t,1)},parseImport:function(e){if(window.HTMLImports.__importsParsingHook&&window.HTMLImports.__importsParsingHook(e),e["import"]&&(e["import"].__importParsed=!0),this.markParsingComplete(e),e.dispatchEvent(e.__resource&&!e.__error?new CustomEvent("load",{bubbles:!1}):new CustomEvent("error",{bubbles:!1})),e.__pending)for(var t;e.__pending.length;)t=e.__pending.shift(),t&&t({target:e});this.parseNext()},parseLink:function(e){t(e)?this.parseImport(e):(e.href=e.href,this.parseGeneric(e))},parseStyle:function(e){var t=e;e=i(e),t.__appliedElement=e,e.__importElement=t,this.parseGeneric(e)},parseGeneric:function(e){this.trackElement(e),this.addElementToDocument(e)},rootImportForElement:function(e){for(var t=e;t.ownerDocument.__importLink;)t=t.ownerDocument.__importLink;return t},addElementToDocument:function(e){var t=this.rootImportForElement(e.__importElement||e);t.parentNode.insertBefore(e,t)},trackElement:function(e,t){var n=this,r=function(r){t&&t(r),n.markParsingComplete(e),n.parseNext()};if(e.addEventListener("load",r),e.addEventListener("error",r),d&&"style"===e.localName){var o=!1;if(-1==e.textContent.indexOf("@import"))o=!0;else if(e.sheet){o=!0;for(var i,a=e.sheet.cssRules,s=a?a.length:0,c=0;s>c&&(i=a[c]);c++)i.type===CSSRule.IMPORT_RULE&&(o=o&&Boolean(i.styleSheet))}o&&setTimeout(function(){e.dispatchEvent(new CustomEvent("load",{bubbles:!1}))})}},parseScript:function(t){var r=document.createElement("script");r.__importElement=t,r.src=t.src?t.src:n(t),e.currentScript=t,this.trackElement(r,function(t){r.parentNode&&r.parentNode.removeChild(r),e.currentScript=null}),this.addElementToDocument(r)},nextToParse:function(){return this._mayParse=[],!this.parsingElement&&(this.nextToParseInDoc(s)||this.nextToParseDynamic())},nextToParseInDoc:function(e,n){if(e&&this._mayParse.indexOf(e)<0){this._mayParse.push(e);for(var r,o=e.querySelectorAll(this.parseSelectorsForNode(e)),i=0,a=o.length;a>i&&(r=o[i]);i++)if(!this.isParsed(r))return this.hasResource(r)?t(r)?this.nextToParseInDoc(r["import"],r):r:void 0}return n},nextToParseDynamic:function(){return this.dynamicElements[0]},parseSelectorsForNode:function(e){var t=e.ownerDocument||e;return t===s?this.documentSelectors:this.importsSelectors},isParsed:function(e){return e.__importParsed},needsDynamicParsing:function(e){return this.dynamicElements.indexOf(e)>=0},hasResource:function(e){return t(e)&&void 0===e["import"]?!1:!0}};e.parser=h,e.IMPORT_SELECTOR=l}),window.HTMLImports.addModule(function(e){function t(e){return n(e,a)}function n(e,t){return"link"===e.localName&&e.getAttribute("rel")===t}function r(e){return!!Object.getOwnPropertyDescriptor(e,"baseURI")}function o(e,t){var n=document.implementation.createHTMLDocument(a);n._URL=t;var o=n.createElement("base");o.setAttribute("href",t),n.baseURI||r(n)||Object.defineProperty(n,"baseURI",{value:t});var i=n.createElement("meta");return i.setAttribute("charset","utf-8"),n.head.appendChild(i),n.head.appendChild(o),n.body.innerHTML=e,window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(n),n}var i=e.flags,a=e.IMPORT_LINK_TYPE,s=e.IMPORT_SELECTOR,c=e.rootDocument,d=e.Loader,u=e.Observer,l=e.parser,h={documents:{},documentPreloadSelectors:s,importsPreloadSelectors:[s].join(","),loadNode:function(e){p.addNode(e)},loadSubtree:function(e){var t=this.marshalNodes(e);p.addNodes(t)},marshalNodes:function(e){return e.querySelectorAll(this.loadSelectorsForNode(e))},loadSelectorsForNode:function(e){var t=e.ownerDocument||e;return t===c?this.documentPreloadSelectors:this.importsPreloadSelectors},loaded:function(e,n,r,a,s){if(i.load&&console.log("loaded",e,n),n.__resource=r,n.__error=a,t(n)){var c=this.documents[e];void 0===c&&(c=a?null:o(r,s||e),c&&(c.__importLink=n,this.bootDocument(c)),this.documents[e]=c),n["import"]=c}l.parseNext()},bootDocument:function(e){this.loadSubtree(e),this.observer.observe(e),l.parseNext()},loadedAll:function(){l.parseNext()}},p=new d(h.loaded.bind(h),h.loadedAll.bind(h));if(h.observer=new u,!document.baseURI){var f={get:function(){var e=document.querySelector("base");return e?e.href:window.location.href},configurable:!0};Object.defineProperty(document,"baseURI",f),Object.defineProperty(c,"baseURI",f)}e.importer=h,e.importLoader=p}),window.HTMLImports.addModule(function(e){var t=e.parser,n=e.importer,r={added:function(e){for(var r,o,i,a,s=0,c=e.length;c>s&&(a=e[s]);s++)r||(r=a.ownerDocument,o=t.isParsed(r)),i=this.shouldLoadNode(a),i&&n.loadNode(a),this.shouldParseNode(a)&&o&&t.parseDynamic(a,i)},shouldLoadNode:function(e){return 1===e.nodeType&&o.call(e,n.loadSelectorsForNode(e))},shouldParseNode:function(e){return 1===e.nodeType&&o.call(e,t.parseSelectorsForNode(e))}};n.observer.addCallback=r.added.bind(r);var o=HTMLElement.prototype.matches||HTMLElement.prototype.matchesSelector||HTMLElement.prototype.webkitMatchesSelector||HTMLElement.prototype.mozMatchesSelector||HTMLElement.prototype.msMatchesSelector}),function(e){function t(){window.HTMLImports.importer.bootDocument(o)}var n=e.initializeModules,r=e.isIE;if(!e.useNative){r&&"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(e,t){t=t||{};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,Boolean(t.bubbles),Boolean(t.cancelable),t.detail),n.preventDefault=function(){Object.defineProperty(this,"defaultPrevented",{get:function(){return!0}})},n},window.CustomEvent.prototype=window.Event.prototype),n();var o=e.rootDocument;"complete"===document.readyState||"interactive"===document.readyState&&!window.attachEvent?t():document.addEventListener("DOMContentLoaded",t)}}(window.HTMLImports),window.CustomElements=window.CustomElements||{flags:{}},function(e){var t=e.flags,n=[],r=function(e){n.push(e)},o=function(){n.forEach(function(t){t(e)})};e.addModule=r,e.initializeModules=o,e.hasNative=Boolean(document.registerElement),e.useNative=!t.register&&e.hasNative&&!window.ShadowDOMPolyfill&&(!window.HTMLImports||window.HTMLImports.useNative)}(window.CustomElements),window.CustomElements.addModule(function(e){function t(e,t){n(e,function(e){return t(e)?!0:void r(e,t)}),r(e,t)}function n(e,t,r){var o=e.firstElementChild;if(!o)for(o=e.firstChild;o&&o.nodeType!==Node.ELEMENT_NODE;)o=o.nextSibling;for(;o;)t(o,r)!==!0&&n(o,t,r),o=o.nextElementSibling;return null}function r(e,n){for(var r=e.shadowRoot;r;)t(r,n),r=r.olderShadowRoot}function o(e,t){i(e,t,[])}function i(e,t,n){if(e=window.wrap(e),!(n.indexOf(e)>=0)){n.push(e);for(var r,o=e.querySelectorAll("link[rel="+a+"]"),s=0,c=o.length;c>s&&(r=o[s]);s++)r["import"]&&i(r["import"],t,n);t(e)}}var a=window.HTMLImports?window.HTMLImports.IMPORT_LINK_TYPE:"none";e.forDocumentTree=o,e.forSubtree=t}),window.CustomElements.addModule(function(e){function t(e,t){return n(e,t)||r(e,t)}function n(t,n){return e.upgrade(t,n)?!0:void(n&&a(t))}function r(e,t){g(e,function(e){return n(e,t)?!0:void 0})}function o(e){L.push(e),E||(E=!0,setTimeout(i))}function i(){E=!1;for(var e,t=L,n=0,r=t.length;r>n&&(e=t[n]);n++)e();L=[]}function a(e){y?o(function(){s(e)}):s(e)}function s(e){e.__upgraded__&&!e.__attached&&(e.__attached=!0,e.attachedCallback&&e.attachedCallback())}function c(e){d(e),g(e,function(e){d(e)})}function d(e){y?o(function(){u(e)}):u(e)}function u(e){e.__upgraded__&&e.__attached&&(e.__attached=!1,e.detachedCallback&&e.detachedCallback())}function l(e){for(var t=e,n=window.wrap(document);t;){if(t==n)return!0;t=t.parentNode||t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&t.host}}function h(e){if(e.shadowRoot&&!e.shadowRoot.__watched){w.dom&&console.log("watching shadow-root for: ",e.localName);for(var t=e.shadowRoot;t;)m(t),t=t.olderShadowRoot}}function p(e,n){if(w.dom){var r=n[0];if(r&&"childList"===r.type&&r.addedNodes&&r.addedNodes){for(var o=r.addedNodes[0];o&&o!==document&&!o.host;)o=o.parentNode;var i=o&&(o.URL||o._URL||o.host&&o.host.localName)||"";i=i.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",n.length,i||"")}var a=l(e);n.forEach(function(e){"childList"===e.type&&(M(e.addedNodes,function(e){e.localName&&t(e,a)}),M(e.removedNodes,function(e){e.localName&&c(e)}))}),w.dom&&console.groupEnd()}function f(e){for(e=window.wrap(e),e||(e=window.wrap(document));e.parentNode;)e=e.parentNode;var t=e.__observer;t&&(p(e,t.takeRecords()),i())}function m(e){if(!e.__observer){var t=new MutationObserver(p.bind(this,e));t.observe(e,{childList:!0,subtree:!0}),e.__observer=t}}function v(e){e=window.wrap(e),w.dom&&console.group("upgradeDocument: ",e.baseURI.split("/").pop());var n=e===window.wrap(document);t(e,n),m(e),w.dom&&console.groupEnd()}function _(e){b(e,v)}var w=e.flags,g=e.forSubtree,b=e.forDocumentTree,y=!window.MutationObserver||window.MutationObserver===window.JsMutationObserver;e.hasPolyfillMutations=y;var E=!1,L=[],M=Array.prototype.forEach.call.bind(Array.prototype.forEach),T=Element.prototype.createShadowRoot;T&&(Element.prototype.createShadowRoot=function(){var e=T.call(this);return window.CustomElements.watchShadow(this),e}),e.watchShadow=h,e.upgradeDocumentTree=_,e.upgradeSubtree=r,e.upgradeAll=t,e.attached=a,e.takeRecords=f}),window.CustomElements.addModule(function(e){function t(t,r){if(!t.__upgraded__&&t.nodeType===Node.ELEMENT_NODE){var o=t.getAttribute("is"),i=e.getRegisteredDefinition(o||t.localName);if(i){if(o&&i.tag==t.localName)return n(t,i,r);if(!o&&!i["extends"])return n(t,i,r)}}}function n(t,n,o){return a.upgrade&&console.group("upgrade:",t.localName),n.is&&t.setAttribute("is",n.is),r(t,n),t.__upgraded__=!0,i(t),o&&e.attached(t),e.upgradeSubtree(t,o),a.upgrade&&console.groupEnd(),t}function r(e,t){Object.__proto__?e.__proto__=t.prototype:(o(e,t.prototype,t["native"]),e.__proto__=t.prototype)}function o(e,t,n){for(var r={},o=t;o!==n&&o!==HTMLElement.prototype;){for(var i,a=Object.getOwnPropertyNames(o),s=0;i=a[s];s++)r[i]||(Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(o,i)),r[i]=1);o=Object.getPrototypeOf(o)}}function i(e){e.createdCallback&&e.createdCallback()}var a=e.flags;e.upgrade=t,e.upgradeWithDefinition=n,e.implementPrototype=r}),window.CustomElements.addModule(function(e){function t(t,r){var c=r||{};if(!t)throw new Error("document.registerElement: first argument `name` must not be empty");if(t.indexOf("-")<0)throw new Error("document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '"+String(t)+"'.");if(o(t))throw new Error("Failed to execute 'registerElement' on 'Document': Registration failed for type '"+String(t)+"'. The type name is invalid.");if(d(t))throw new Error("DuplicateDefinitionError: a type with name '"+String(t)+"' is already registered");return c.prototype||(c.prototype=Object.create(HTMLElement.prototype)),c.__name=t.toLowerCase(),c.lifecycle=c.lifecycle||{},c.ancestry=i(c["extends"]),a(c),s(c),n(c.prototype),u(c.__name,c),c.ctor=l(c),c.ctor.prototype=c.prototype,c.prototype.constructor=c.ctor,e.ready&&_(document),c.ctor}function n(e){if(!e.setAttribute._polyfilled){var t=e.setAttribute;e.setAttribute=function(e,n){r.call(this,e,n,t)};var n=e.removeAttribute;e.removeAttribute=function(e){r.call(this,e,null,n)},e.setAttribute._polyfilled=!0; - -}}function r(e,t,n){e=e.toLowerCase();var r=this.getAttribute(e);n.apply(this,arguments);var o=this.getAttribute(e);this.attributeChangedCallback&&o!==r&&this.attributeChangedCallback(e,r,o)}function o(e){for(var t=0;t=0&&b(r,HTMLElement),r)}function f(e,t){var n=e[t];e[t]=function(){var e=n.apply(this,arguments);return w(e),e}}var m,v=e.isIE11OrOlder,_=e.upgradeDocumentTree,w=e.upgradeAll,g=e.upgradeWithDefinition,b=e.implementPrototype,y=e.useNative,E=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"],L={},M="http://www.w3.org/1999/xhtml",T=document.createElement.bind(document),O=document.createElementNS.bind(document);m=Object.__proto__||y?function(e,t){return e instanceof t}:function(e,t){for(var n=e;n;){if(n===t.prototype)return!0;n=n.__proto__}return!1},f(Node.prototype,"cloneNode"),f(document,"importNode"),v&&!function(){var e=document.importNode;document.importNode=function(){var t=e.apply(document,arguments);if(t.nodeType==t.DOCUMENT_FRAGMENT_NODE){var n=document.createDocumentFragment();return n.appendChild(t),n}return t}}(),document.registerElement=t,document.createElement=p,document.createElementNS=h,e.registry=L,e["instanceof"]=m,e.reservedTagList=E,e.getRegisteredDefinition=d,document.register=document.registerElement}),function(e){function t(){a(window.wrap(document)),window.HTMLImports&&(window.HTMLImports.__importsParsingHook=function(e){a(window.wrap(e["import"]))}),window.CustomElements.ready=!0,setTimeout(function(){window.CustomElements.readyTime=Date.now(),window.HTMLImports&&(window.CustomElements.elapsed=window.CustomElements.readyTime-window.HTMLImports.readyTime),document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))})}var n=e.useNative,r=e.initializeModules,o=/Trident/.test(navigator.userAgent);if(n){var i=function(){};e.watchShadow=i,e.upgrade=i,e.upgradeAll=i,e.upgradeDocumentTree=i,e.upgradeSubtree=i,e.takeRecords=i,e["instanceof"]=function(e,t){return e instanceof t}}else r();var a=e.upgradeDocumentTree;if(window.wrap||(window.ShadowDOMPolyfill?(window.wrap=window.ShadowDOMPolyfill.wrapIfNeeded,window.unwrap=window.ShadowDOMPolyfill.unwrapIfNeeded):window.wrap=window.unwrap=function(e){return e}),o&&"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(e,t){t=t||{};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,Boolean(t.bubbles),Boolean(t.cancelable),t.detail),n.preventDefault=function(){Object.defineProperty(this,"defaultPrevented",{get:function(){return!0}})},n},window.CustomEvent.prototype=window.Event.prototype),"complete"===document.readyState||e.flags.eager)t();else if("interactive"!==document.readyState||window.attachEvent||window.HTMLImports&&!window.HTMLImports.ready){var s=window.HTMLImports&&!window.HTMLImports.ready?"HTMLImportsLoaded":"DOMContentLoaded";window.addEventListener(s,t)}else t();e.isIE11OrOlder=o}(window.CustomElements),"undefined"==typeof HTMLTemplateElement&&!function(){var e="template";HTMLTemplateElement=function(){},HTMLTemplateElement.prototype=Object.create(HTMLElement.prototype),HTMLTemplateElement.decorate=function(e){e.content||(e.content=e.ownerDocument.createDocumentFragment());for(var t;t=e.firstChild;)e.content.appendChild(t)},HTMLTemplateElement.bootstrap=function(t){for(var n,r=t.querySelectorAll(e),o=0,i=r.length;i>o&&(n=r[o]);o++)HTMLTemplateElement.decorate(n)},window.addEventListener("DOMContentLoaded",function(){HTMLTemplateElement.bootstrap(document)});var t=document.createElement;document.createElement=function(){"use strict";var e=t.apply(document,arguments);return"template"==e.localName&&HTMLTemplateElement.decorate(e),e}}(),function(e){var t=document.createElement("style");t.textContent="body {transition: opacity ease-in 0.2s; } \nbody[unresolved] {opacity: 0; display: block; overflow: hidden; position: relative; } \n";var n=document.querySelector("head");n.insertBefore(t,n.firstChild)}(window.WebComponents); \ No newline at end of file +// @version 0.7.12 +window.WebComponents=window.WebComponents||{},function(e){var t=e.flags||{},n="webcomponents-lite.js",r=document.querySelector('script[src*="'+n+'"]');if(!t.noOpts){if(location.search.slice(1).split("&").forEach(function(e){var n,r=e.split("=");r[0]&&(n=r[0].match(/wc-(.+)/))&&(t[n[1]]=r[1]||!0)}),r)for(var o,i=0;o=r.attributes[i];i++)"src"!==o.name&&(t[o.name]=o.value||!0);if(t.log){var a=t.log.split(",");t.log={},a.forEach(function(e){t.log[e]=!0})}else t.log={}}t.shadow=t.shadow||t.shadowdom||t.polyfill,t.shadow="native"===t.shadow?!1:t.shadow||!HTMLElement.prototype.createShadowRoot,t.register&&(window.CustomElements=window.CustomElements||{flags:{}},window.CustomElements.flags.register=t.register),e.flags=t}(window.WebComponents),function(e){"use strict";function t(e){return void 0!==h[e]}function n(){s.call(this),this._isInvalid=!0}function r(e){return""==e&&n.call(this),e.toLowerCase()}function o(e){var t=e.charCodeAt(0);return t>32&&127>t&&-1==[34,35,60,62,63,96].indexOf(t)?e:encodeURIComponent(e)}function i(e){var t=e.charCodeAt(0);return t>32&&127>t&&-1==[34,35,60,62,96].indexOf(t)?e:encodeURIComponent(e)}function a(e,a,s){function c(e){g.push(e)}var d=a||"scheme start",u=0,l="",_=!1,w=!1,g=[];e:for(;(e[u-1]!=f||0==u)&&!this._isInvalid;){var b=e[u];switch(d){case"scheme start":if(!b||!m.test(b)){if(a){c("Invalid scheme.");break e}l="",d="no scheme";continue}l+=b.toLowerCase(),d="scheme";break;case"scheme":if(b&&v.test(b))l+=b.toLowerCase();else{if(":"!=b){if(a){if(f==b)break e;c("Code point not allowed in scheme: "+b);break e}l="",u=0,d="no scheme";continue}if(this._scheme=l,l="",a)break e;t(this._scheme)&&(this._isRelative=!0),d="file"==this._scheme?"relative":this._isRelative&&s&&s._scheme==this._scheme?"relative or authority":this._isRelative?"authority first slash":"scheme data"}break;case"scheme data":"?"==b?(this._query="?",d="query"):"#"==b?(this._fragment="#",d="fragment"):f!=b&&" "!=b&&"\n"!=b&&"\r"!=b&&(this._schemeData+=o(b));break;case"no scheme":if(s&&t(s._scheme)){d="relative";continue}c("Missing scheme."),n.call(this);break;case"relative or authority":if("/"!=b||"/"!=e[u+1]){c("Expected /, got: "+b),d="relative";continue}d="authority ignore slashes";break;case"relative":if(this._isRelative=!0,"file"!=this._scheme&&(this._scheme=s._scheme),f==b){this._host=s._host,this._port=s._port,this._path=s._path.slice(),this._query=s._query,this._username=s._username,this._password=s._password;break e}if("/"==b||"\\"==b)"\\"==b&&c("\\ is an invalid code point."),d="relative slash";else if("?"==b)this._host=s._host,this._port=s._port,this._path=s._path.slice(),this._query="?",this._username=s._username,this._password=s._password,d="query";else{if("#"!=b){var y=e[u+1],E=e[u+2];("file"!=this._scheme||!m.test(b)||":"!=y&&"|"!=y||f!=E&&"/"!=E&&"\\"!=E&&"?"!=E&&"#"!=E)&&(this._host=s._host,this._port=s._port,this._username=s._username,this._password=s._password,this._path=s._path.slice(),this._path.pop()),d="relative path";continue}this._host=s._host,this._port=s._port,this._path=s._path.slice(),this._query=s._query,this._fragment="#",this._username=s._username,this._password=s._password,d="fragment"}break;case"relative slash":if("/"!=b&&"\\"!=b){"file"!=this._scheme&&(this._host=s._host,this._port=s._port,this._username=s._username,this._password=s._password),d="relative path";continue}"\\"==b&&c("\\ is an invalid code point."),d="file"==this._scheme?"file host":"authority ignore slashes";break;case"authority first slash":if("/"!=b){c("Expected '/', got: "+b),d="authority ignore slashes";continue}d="authority second slash";break;case"authority second slash":if(d="authority ignore slashes","/"!=b){c("Expected '/', got: "+b);continue}break;case"authority ignore slashes":if("/"!=b&&"\\"!=b){d="authority";continue}c("Expected authority, got: "+b);break;case"authority":if("@"==b){_&&(c("@ already seen."),l+="%40"),_=!0;for(var L=0;L>>0)+(t++ +"__")};n.prototype={set:function(t,n){var r=t[this.name];return r&&r[0]===t?r[1]=n:e(t,this.name,{value:[t,n],writable:!0}),this},get:function(e){var t;return(t=e[this.name])&&t[0]===e?t[1]:void 0},"delete":function(e){var t=e[this.name];return t&&t[0]===e?(t[0]=t[1]=void 0,!0):!1},has:function(e){var t=e[this.name];return t?t[0]===e:!1}},window.WeakMap=n}(),function(e){function t(e){b.push(e),g||(g=!0,m(r))}function n(e){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(e)||e}function r(){g=!1;var e=b;b=[],e.sort(function(e,t){return e.uid_-t.uid_});var t=!1;e.forEach(function(e){var n=e.takeRecords();o(e),n.length&&(e.callback_(n,e),t=!0)}),t&&r()}function o(e){e.nodes_.forEach(function(t){var n=v.get(t);n&&n.forEach(function(t){t.observer===e&&t.removeTransientObservers()})})}function i(e,t){for(var n=e;n;n=n.parentNode){var r=v.get(n);if(r)for(var o=0;o0){var o=n[r-1],i=p(o,e);if(i)return void(n[r-1]=i)}else t(this.observer);n[r]=e},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(e){var t=this.options;t.attributes&&e.addEventListener("DOMAttrModified",this,!0),t.characterData&&e.addEventListener("DOMCharacterDataModified",this,!0),t.childList&&e.addEventListener("DOMNodeInserted",this,!0),(t.childList||t.subtree)&&e.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(e){var t=this.options;t.attributes&&e.removeEventListener("DOMAttrModified",this,!0),t.characterData&&e.removeEventListener("DOMCharacterDataModified",this,!0),t.childList&&e.removeEventListener("DOMNodeInserted",this,!0),(t.childList||t.subtree)&&e.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(e){if(e!==this.target){this.addListeners_(e),this.transientObservedNodes.push(e);var t=v.get(e);t||v.set(e,t=[]),t.push(this)}},removeTransientObservers:function(){var e=this.transientObservedNodes;this.transientObservedNodes=[],e.forEach(function(e){this.removeListeners_(e);for(var t=v.get(e),n=0;np&&(h=s[p]);p++)a(h)?(c++,n()):(h.addEventListener("load",r),h.addEventListener("error",i));else n()}function a(e){return l?e.__loaded||e["import"]&&"loading"!==e["import"].readyState:e.__importParsed}function s(e){for(var t,n=0,r=e.length;r>n&&(t=e[n]);n++)c(t)&&d(t)}function c(e){return"link"===e.localName&&"import"===e.rel}function d(e){var t=e["import"];t?o({target:e}):(e.addEventListener("load",o),e.addEventListener("error",o))}var u="import",l=Boolean(u in document.createElement("link")),h=Boolean(window.ShadowDOMPolyfill),p=function(e){return h?window.ShadowDOMPolyfill.wrapIfNeeded(e):e},f=p(document),m={get:function(){var e=window.HTMLImports.currentScript||document.currentScript||("complete"!==document.readyState?document.scripts[document.scripts.length-1]:null);return p(e)},configurable:!0};Object.defineProperty(document,"_currentScript",m),Object.defineProperty(f,"_currentScript",m);var v=/Trident/.test(navigator.userAgent),_=v?"complete":"interactive",w="readystatechange";l&&(new MutationObserver(function(e){for(var t,n=0,r=e.length;r>n&&(t=e[n]);n++)t.addedNodes&&s(t.addedNodes)}).observe(document.head,{childList:!0}),function(){if("loading"===document.readyState)for(var e,t=document.querySelectorAll("link[rel=import]"),n=0,r=t.length;r>n&&(e=t[n]);n++)d(e)}()),t(function(e){window.HTMLImports.ready=!0,window.HTMLImports.readyTime=(new Date).getTime();var t=f.createEvent("CustomEvent");t.initCustomEvent("HTMLImportsLoaded",!0,!0,e),f.dispatchEvent(t)}),e.IMPORT_LINK_TYPE=u,e.useNative=l,e.rootDocument=f,e.whenReady=t,e.isIE=v}(window.HTMLImports),function(e){var t=[],n=function(e){t.push(e)},r=function(){t.forEach(function(t){t(e)})};e.addModule=n,e.initializeModules=r}(window.HTMLImports),window.HTMLImports.addModule(function(e){var t=/(url\()([^)]*)(\))/g,n=/(@import[\s]+(?!url\())([^;]*)(;)/g,r={resolveUrlsInStyle:function(e,t){var n=e.ownerDocument,r=n.createElement("a");return e.textContent=this.resolveUrlsInCssText(e.textContent,t,r),e},resolveUrlsInCssText:function(e,r,o){var i=this.replaceUrls(e,o,r,t);return i=this.replaceUrls(i,o,r,n)},replaceUrls:function(e,t,n,r){return e.replace(r,function(e,r,o,i){var a=o.replace(/["']/g,"");return n&&(a=new URL(a,n).href),t.href=a,a=t.href,r+"'"+a+"'"+i})}};e.path=r}),window.HTMLImports.addModule(function(e){var t={async:!0,ok:function(e){return e.status>=200&&e.status<300||304===e.status||0===e.status},load:function(n,r,o){var i=new XMLHttpRequest;return(e.flags.debug||e.flags.bust)&&(n+="?"+Math.random()),i.open("GET",n,t.async),i.addEventListener("readystatechange",function(e){if(4===i.readyState){var n=i.getResponseHeader("Location"),a=null;if(n)var a="/"===n.substr(0,1)?location.origin+n:n;r.call(o,!t.ok(i)&&i,i.response||i.responseText,a)}}),i.send(),i},loadDocument:function(e,t,n){this.load(e,t,n).responseType="document"}};e.xhr=t}),window.HTMLImports.addModule(function(e){var t=e.xhr,n=e.flags,r=function(e,t){this.cache={},this.onload=e,this.oncomplete=t,this.inflight=0,this.pending={}};r.prototype={addNodes:function(e){this.inflight+=e.length;for(var t,n=0,r=e.length;r>n&&(t=e[n]);n++)this.require(t);this.checkDone()},addNode:function(e){this.inflight++,this.require(e),this.checkDone()},require:function(e){var t=e.src||e.href;e.__nodeUrl=t,this.dedupe(t,e)||this.fetch(t,e)},dedupe:function(e,t){if(this.pending[e])return this.pending[e].push(t),!0;return this.cache[e]?(this.onload(e,t,this.cache[e]),this.tail(),!0):(this.pending[e]=[t],!1)},fetch:function(e,r){if(n.load&&console.log("fetch",e,r),e)if(e.match(/^data:/)){var o=e.split(","),i=o[0],a=o[1];a=i.indexOf(";base64")>-1?atob(a):decodeURIComponent(a),setTimeout(function(){this.receive(e,r,null,a)}.bind(this),0)}else{var s=function(t,n,o){this.receive(e,r,t,n,o)}.bind(this);t.load(e,s)}else setTimeout(function(){this.receive(e,r,{error:"href must be specified"},null)}.bind(this),0)},receive:function(e,t,n,r,o){this.cache[e]=r;for(var i,a=this.pending[e],s=0,c=a.length;c>s&&(i=a[s]);s++)this.onload(e,i,r,n,o),this.tail();this.pending[e]=null},tail:function(){--this.inflight,this.checkDone()},checkDone:function(){this.inflight||this.oncomplete()}},e.Loader=r}),window.HTMLImports.addModule(function(e){var t=function(e){this.addCallback=e,this.mo=new MutationObserver(this.handler.bind(this))};t.prototype={handler:function(e){for(var t,n=0,r=e.length;r>n&&(t=e[n]);n++)"childList"===t.type&&t.addedNodes.length&&this.addedNodes(t.addedNodes)},addedNodes:function(e){this.addCallback&&this.addCallback(e);for(var t,n=0,r=e.length;r>n&&(t=e[n]);n++)t.children&&t.children.length&&this.addedNodes(t.children)},observe:function(e){this.mo.observe(e,{childList:!0,subtree:!0})}},e.Observer=t}),window.HTMLImports.addModule(function(e){function t(e){return"link"===e.localName&&e.rel===u}function n(e){var t=r(e);return"data:text/javascript;charset=utf-8,"+encodeURIComponent(t)}function r(e){return e.textContent+o(e)}function o(e){var t=e.ownerDocument;t.__importedScripts=t.__importedScripts||0;var n=e.ownerDocument.baseURI,r=t.__importedScripts?"-"+t.__importedScripts:"";return t.__importedScripts++,"\n//# sourceURL="+n+r+".js\n"}function i(e){var t=e.ownerDocument.createElement("style");return t.textContent=e.textContent,a.resolveUrlsInStyle(t),t}var a=e.path,s=e.rootDocument,c=e.flags,d=e.isIE,u=e.IMPORT_LINK_TYPE,l="link[rel="+u+"]",h={documentSelectors:l,importsSelectors:[l,"link[rel=stylesheet]:not([type])","style:not([type])","script:not([type])",'script[type="application/javascript"]','script[type="text/javascript"]'].join(","),map:{link:"parseLink",script:"parseScript",style:"parseStyle"},dynamicElements:[],parseNext:function(){var e=this.nextToParse();e&&this.parse(e)},parse:function(e){if(this.isParsed(e))return void(c.parse&&console.log("[%s] is already parsed",e.localName));var t=this[this.map[e.localName]];t&&(this.markParsing(e),t.call(this,e))},parseDynamic:function(e,t){this.dynamicElements.push(e),t||this.parseNext()},markParsing:function(e){c.parse&&console.log("parsing",e),this.parsingElement=e},markParsingComplete:function(e){e.__importParsed=!0,this.markDynamicParsingComplete(e),e.__importElement&&(e.__importElement.__importParsed=!0,this.markDynamicParsingComplete(e.__importElement)),this.parsingElement=null,c.parse&&console.log("completed",e)},markDynamicParsingComplete:function(e){var t=this.dynamicElements.indexOf(e);t>=0&&this.dynamicElements.splice(t,1)},parseImport:function(e){if(e["import"]=e.__doc,window.HTMLImports.__importsParsingHook&&window.HTMLImports.__importsParsingHook(e),e["import"]&&(e["import"].__importParsed=!0),this.markParsingComplete(e),e.dispatchEvent(e.__resource&&!e.__error?new CustomEvent("load",{bubbles:!1}):new CustomEvent("error",{bubbles:!1})),e.__pending)for(var t;e.__pending.length;)t=e.__pending.shift(),t&&t({target:e});this.parseNext()},parseLink:function(e){t(e)?this.parseImport(e):(e.href=e.href,this.parseGeneric(e))},parseStyle:function(e){var t=e;e=i(e),t.__appliedElement=e,e.__importElement=t,this.parseGeneric(e)},parseGeneric:function(e){this.trackElement(e),this.addElementToDocument(e)},rootImportForElement:function(e){for(var t=e;t.ownerDocument.__importLink;)t=t.ownerDocument.__importLink;return t},addElementToDocument:function(e){var t=this.rootImportForElement(e.__importElement||e);t.parentNode.insertBefore(e,t)},trackElement:function(e,t){var n=this,r=function(o){e.removeEventListener("load",r),e.removeEventListener("error",r),t&&t(o),n.markParsingComplete(e),n.parseNext()};if(e.addEventListener("load",r),e.addEventListener("error",r),d&&"style"===e.localName){var o=!1;if(-1==e.textContent.indexOf("@import"))o=!0;else if(e.sheet){o=!0;for(var i,a=e.sheet.cssRules,s=a?a.length:0,c=0;s>c&&(i=a[c]);c++)i.type===CSSRule.IMPORT_RULE&&(o=o&&Boolean(i.styleSheet))}o&&setTimeout(function(){e.dispatchEvent(new CustomEvent("load",{bubbles:!1}))})}},parseScript:function(t){var r=document.createElement("script");r.__importElement=t,r.src=t.src?t.src:n(t),e.currentScript=t,this.trackElement(r,function(t){r.parentNode&&r.parentNode.removeChild(r),e.currentScript=null}),this.addElementToDocument(r)},nextToParse:function(){return this._mayParse=[],!this.parsingElement&&(this.nextToParseInDoc(s)||this.nextToParseDynamic())},nextToParseInDoc:function(e,n){if(e&&this._mayParse.indexOf(e)<0){this._mayParse.push(e);for(var r,o=e.querySelectorAll(this.parseSelectorsForNode(e)),i=0,a=o.length;a>i&&(r=o[i]);i++)if(!this.isParsed(r))return this.hasResource(r)?t(r)?this.nextToParseInDoc(r.__doc,r):r:void 0}return n},nextToParseDynamic:function(){return this.dynamicElements[0]},parseSelectorsForNode:function(e){var t=e.ownerDocument||e;return t===s?this.documentSelectors:this.importsSelectors},isParsed:function(e){return e.__importParsed},needsDynamicParsing:function(e){return this.dynamicElements.indexOf(e)>=0},hasResource:function(e){return t(e)&&void 0===e.__doc?!1:!0}};e.parser=h,e.IMPORT_SELECTOR=l}),window.HTMLImports.addModule(function(e){function t(e){return n(e,a)}function n(e,t){return"link"===e.localName&&e.getAttribute("rel")===t}function r(e){return!!Object.getOwnPropertyDescriptor(e,"baseURI")}function o(e,t){var n=document.implementation.createHTMLDocument(a);n._URL=t;var o=n.createElement("base");o.setAttribute("href",t),n.baseURI||r(n)||Object.defineProperty(n,"baseURI",{value:t});var i=n.createElement("meta");return i.setAttribute("charset","utf-8"),n.head.appendChild(i),n.head.appendChild(o),n.body.innerHTML=e,window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(n),n}var i=e.flags,a=e.IMPORT_LINK_TYPE,s=e.IMPORT_SELECTOR,c=e.rootDocument,d=e.Loader,u=e.Observer,l=e.parser,h={documents:{},documentPreloadSelectors:s,importsPreloadSelectors:[s].join(","),loadNode:function(e){p.addNode(e)},loadSubtree:function(e){var t=this.marshalNodes(e);p.addNodes(t)},marshalNodes:function(e){return e.querySelectorAll(this.loadSelectorsForNode(e))},loadSelectorsForNode:function(e){var t=e.ownerDocument||e;return t===c?this.documentPreloadSelectors:this.importsPreloadSelectors},loaded:function(e,n,r,a,s){if(i.load&&console.log("loaded",e,n),n.__resource=r,n.__error=a,t(n)){var c=this.documents[e];void 0===c&&(c=a?null:o(r,s||e),c&&(c.__importLink=n,this.bootDocument(c)),this.documents[e]=c),n.__doc=c}l.parseNext()},bootDocument:function(e){this.loadSubtree(e),this.observer.observe(e),l.parseNext()},loadedAll:function(){l.parseNext()}},p=new d(h.loaded.bind(h),h.loadedAll.bind(h));if(h.observer=new u,!document.baseURI){var f={get:function(){var e=document.querySelector("base");return e?e.href:window.location.href},configurable:!0};Object.defineProperty(document,"baseURI",f),Object.defineProperty(c,"baseURI",f)}e.importer=h,e.importLoader=p}),window.HTMLImports.addModule(function(e){var t=e.parser,n=e.importer,r={added:function(e){for(var r,o,i,a,s=0,c=e.length;c>s&&(a=e[s]);s++)r||(r=a.ownerDocument,o=t.isParsed(r)),i=this.shouldLoadNode(a),i&&n.loadNode(a),this.shouldParseNode(a)&&o&&t.parseDynamic(a,i)},shouldLoadNode:function(e){return 1===e.nodeType&&o.call(e,n.loadSelectorsForNode(e))},shouldParseNode:function(e){return 1===e.nodeType&&o.call(e,t.parseSelectorsForNode(e))}};n.observer.addCallback=r.added.bind(r);var o=HTMLElement.prototype.matches||HTMLElement.prototype.matchesSelector||HTMLElement.prototype.webkitMatchesSelector||HTMLElement.prototype.mozMatchesSelector||HTMLElement.prototype.msMatchesSelector}),function(e){function t(){window.HTMLImports.importer.bootDocument(o)}var n=e.initializeModules,r=e.isIE;if(!e.useNative){r&&"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(e,t){t=t||{};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,Boolean(t.bubbles),Boolean(t.cancelable),t.detail),n.preventDefault=function(){Object.defineProperty(this,"defaultPrevented",{get:function(){return!0}})},n},window.CustomEvent.prototype=window.Event.prototype),n();var o=e.rootDocument;"complete"===document.readyState||"interactive"===document.readyState&&!window.attachEvent?t():document.addEventListener("DOMContentLoaded",t)}}(window.HTMLImports),window.CustomElements=window.CustomElements||{flags:{}},function(e){var t=e.flags,n=[],r=function(e){n.push(e)},o=function(){n.forEach(function(t){t(e)})};e.addModule=r,e.initializeModules=o,e.hasNative=Boolean(document.registerElement),e.isIE=/Trident/.test(navigator.userAgent),e.useNative=!t.register&&e.hasNative&&!window.ShadowDOMPolyfill&&(!window.HTMLImports||window.HTMLImports.useNative)}(window.CustomElements),window.CustomElements.addModule(function(e){function t(e,t){n(e,function(e){return t(e)?!0:void r(e,t)}),r(e,t)}function n(e,t,r){var o=e.firstElementChild;if(!o)for(o=e.firstChild;o&&o.nodeType!==Node.ELEMENT_NODE;)o=o.nextSibling;for(;o;)t(o,r)!==!0&&n(o,t,r),o=o.nextElementSibling;return null}function r(e,n){for(var r=e.shadowRoot;r;)t(r,n),r=r.olderShadowRoot}function o(e,t){i(e,t,[])}function i(e,t,n){if(e=window.wrap(e),!(n.indexOf(e)>=0)){n.push(e);for(var r,o=e.querySelectorAll("link[rel="+a+"]"),s=0,c=o.length;c>s&&(r=o[s]);s++)r["import"]&&i(r["import"],t,n);t(e)}}var a=window.HTMLImports?window.HTMLImports.IMPORT_LINK_TYPE:"none";e.forDocumentTree=o,e.forSubtree=t}),window.CustomElements.addModule(function(e){function t(e,t){return n(e,t)||r(e,t)}function n(t,n){return e.upgrade(t,n)?!0:void(n&&a(t))}function r(e,t){g(e,function(e){return n(e,t)?!0:void 0})}function o(e){L.push(e),E||(E=!0,setTimeout(i))}function i(){E=!1;for(var e,t=L,n=0,r=t.length;r>n&&(e=t[n]);n++)e();L=[]}function a(e){y?o(function(){s(e)}):s(e)}function s(e){e.__upgraded__&&!e.__attached&&(e.__attached=!0,e.attachedCallback&&e.attachedCallback())}function c(e){d(e),g(e,function(e){d(e)})}function d(e){y?o(function(){u(e)}):u(e)}function u(e){e.__upgraded__&&e.__attached&&(e.__attached=!1,e.detachedCallback&&e.detachedCallback())}function l(e){for(var t=e,n=window.wrap(document);t;){if(t==n)return!0;t=t.parentNode||t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&t.host}}function h(e){if(e.shadowRoot&&!e.shadowRoot.__watched){w.dom&&console.log("watching shadow-root for: ",e.localName);for(var t=e.shadowRoot;t;)m(t),t=t.olderShadowRoot}}function p(e,n){if(w.dom){var r=n[0];if(r&&"childList"===r.type&&r.addedNodes&&r.addedNodes){for(var o=r.addedNodes[0];o&&o!==document&&!o.host;)o=o.parentNode;var i=o&&(o.URL||o._URL||o.host&&o.host.localName)||"";i=i.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",n.length,i||"")}var a=l(e);n.forEach(function(e){"childList"===e.type&&(M(e.addedNodes,function(e){e.localName&&t(e,a)}),M(e.removedNodes,function(e){e.localName&&c(e)}))}),w.dom&&console.groupEnd()}function f(e){for(e=window.wrap(e),e||(e=window.wrap(document));e.parentNode;)e=e.parentNode;var t=e.__observer;t&&(p(e,t.takeRecords()),i())}function m(e){if(!e.__observer){var t=new MutationObserver(p.bind(this,e));t.observe(e,{childList:!0,subtree:!0}),e.__observer=t}}function v(e){e=window.wrap(e),w.dom&&console.group("upgradeDocument: ",e.baseURI.split("/").pop());var n=e===window.wrap(document);t(e,n),m(e),w.dom&&console.groupEnd()}function _(e){b(e,v)}var w=e.flags,g=e.forSubtree,b=e.forDocumentTree,y=!window.MutationObserver||window.MutationObserver===window.JsMutationObserver;e.hasPolyfillMutations=y;var E=!1,L=[],M=Array.prototype.forEach.call.bind(Array.prototype.forEach),T=Element.prototype.createShadowRoot;T&&(Element.prototype.createShadowRoot=function(){var e=T.call(this);return window.CustomElements.watchShadow(this),e}),e.watchShadow=h,e.upgradeDocumentTree=_,e.upgradeDocument=v,e.upgradeSubtree=r,e.upgradeAll=t,e.attached=a,e.takeRecords=f}),window.CustomElements.addModule(function(e){function t(t,r){if(!t.__upgraded__&&t.nodeType===Node.ELEMENT_NODE){var o=t.getAttribute("is"),i=e.getRegisteredDefinition(t.localName)||e.getRegisteredDefinition(o);if(i&&(o&&i.tag==t.localName||!o&&!i["extends"]))return n(t,i,r)}}function n(t,n,o){return a.upgrade&&console.group("upgrade:",t.localName),n.is&&t.setAttribute("is",n.is),r(t,n),t.__upgraded__=!0,i(t),o&&e.attached(t),e.upgradeSubtree(t,o),a.upgrade&&console.groupEnd(),t}function r(e,t){Object.__proto__?e.__proto__=t.prototype:(o(e,t.prototype,t["native"]),e.__proto__=t.prototype)}function o(e,t,n){for(var r={},o=t;o!==n&&o!==HTMLElement.prototype;){for(var i,a=Object.getOwnPropertyNames(o),s=0;i=a[s];s++)r[i]||(Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(o,i)),r[i]=1);o=Object.getPrototypeOf(o)}}function i(e){e.createdCallback&&e.createdCallback()}var a=e.flags;e.upgrade=t,e.upgradeWithDefinition=n,e.implementPrototype=r}),window.CustomElements.addModule(function(e){function t(t,r){var c=r||{};if(!t)throw new Error("document.registerElement: first argument `name` must not be empty");if(t.indexOf("-")<0)throw new Error("document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '"+String(t)+"'.");if(o(t))throw new Error("Failed to execute 'registerElement' on 'Document': Registration failed for type '"+String(t)+"'. The type name is invalid.");if(d(t))throw new Error("DuplicateDefinitionError: a type with name '"+String(t)+"' is already registered");return c.prototype||(c.prototype=Object.create(HTMLElement.prototype)),c.__name=t.toLowerCase(),c.lifecycle=c.lifecycle||{},c.ancestry=i(c["extends"]),a(c),s(c),n(c.prototype),u(c.__name,c),c.ctor=l(c),c.ctor.prototype=c.prototype,c.prototype.constructor=c.ctor,e.ready&&_(document),c.ctor}function n(e){if(!e.setAttribute._polyfilled){ +var t=e.setAttribute;e.setAttribute=function(e,n){r.call(this,e,n,t)};var n=e.removeAttribute;e.removeAttribute=function(e){r.call(this,e,null,n)},e.setAttribute._polyfilled=!0}}function r(e,t,n){e=e.toLowerCase();var r=this.getAttribute(e);n.apply(this,arguments);var o=this.getAttribute(e);this.attributeChangedCallback&&o!==r&&this.attributeChangedCallback(e,r,o)}function o(e){for(var t=0;t=0&&b(r,HTMLElement),r)}function f(e,t){var n=e[t];e[t]=function(){var e=n.apply(this,arguments);return w(e),e}}var m,v=e.isIE,_=e.upgradeDocumentTree,w=e.upgradeAll,g=e.upgradeWithDefinition,b=e.implementPrototype,y=e.useNative,E=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"],L={},M="http://www.w3.org/1999/xhtml",T=document.createElement.bind(document),N=document.createElementNS.bind(document);m=Object.__proto__||y?function(e,t){return e instanceof t}:function(e,t){if(e instanceof t)return!0;for(var n=e;n;){if(n===t.prototype)return!0;n=n.__proto__}return!1},f(Node.prototype,"cloneNode"),f(document,"importNode"),v&&!function(){var e=document.importNode;document.importNode=function(){var t=e.apply(document,arguments);if(t.nodeType==t.DOCUMENT_FRAGMENT_NODE){var n=document.createDocumentFragment();return n.appendChild(t),n}return t}}(),document.registerElement=t,document.createElement=p,document.createElementNS=h,e.registry=L,e["instanceof"]=m,e.reservedTagList=E,e.getRegisteredDefinition=d,document.register=document.registerElement}),function(e){function t(){a(window.wrap(document)),window.CustomElements.ready=!0;var e=window.requestAnimationFrame||function(e){setTimeout(e,16)};e(function(){setTimeout(function(){window.CustomElements.readyTime=Date.now(),window.HTMLImports&&(window.CustomElements.elapsed=window.CustomElements.readyTime-window.HTMLImports.readyTime),document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))})})}var n=e.useNative,r=e.initializeModules,o=e.isIE;if(n){var i=function(){};e.watchShadow=i,e.upgrade=i,e.upgradeAll=i,e.upgradeDocumentTree=i,e.upgradeSubtree=i,e.takeRecords=i,e["instanceof"]=function(e,t){return e instanceof t}}else r();var a=e.upgradeDocumentTree,s=e.upgradeDocument;if(window.wrap||(window.ShadowDOMPolyfill?(window.wrap=window.ShadowDOMPolyfill.wrapIfNeeded,window.unwrap=window.ShadowDOMPolyfill.unwrapIfNeeded):window.wrap=window.unwrap=function(e){return e}),window.HTMLImports&&(window.HTMLImports.__importsParsingHook=function(e){e["import"]&&s(wrap(e["import"]))}),o&&"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(e,t){t=t||{};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,Boolean(t.bubbles),Boolean(t.cancelable),t.detail),n.preventDefault=function(){Object.defineProperty(this,"defaultPrevented",{get:function(){return!0}})},n},window.CustomEvent.prototype=window.Event.prototype),"complete"===document.readyState||e.flags.eager)t();else if("interactive"!==document.readyState||window.attachEvent||window.HTMLImports&&!window.HTMLImports.ready){var c=window.HTMLImports&&!window.HTMLImports.ready?"HTMLImportsLoaded":"DOMContentLoaded";window.addEventListener(c,t)}else t()}(window.CustomElements),"undefined"==typeof HTMLTemplateElement&&!function(){function e(e){switch(e){case"&":return"&";case"<":return"<";case">":return">";case" ":return" "}}function t(t){return t.replace(a,e)}var n="template",r=document.implementation.createHTMLDocument("template"),o=!0;HTMLTemplateElement=function(){},HTMLTemplateElement.prototype=Object.create(HTMLElement.prototype),HTMLTemplateElement.decorate=function(e){e.content||(e.content=r.createDocumentFragment());for(var n;n=e.firstChild;)e.content.appendChild(n);if(o)try{Object.defineProperty(e,"innerHTML",{get:function(){for(var e="",n=this.content.firstChild;n;n=n.nextSibling)e+=n.outerHTML||t(n.data);return e},set:function(e){for(r.body.innerHTML=e,HTMLTemplateElement.bootstrap(r);this.content.firstChild;)this.content.removeChild(this.content.firstChild);for(;r.body.firstChild;)this.content.appendChild(r.body.firstChild)},configurable:!0})}catch(i){o=!1}},HTMLTemplateElement.bootstrap=function(e){for(var t,r=e.querySelectorAll(n),o=0,i=r.length;i>o&&(t=r[o]);o++)HTMLTemplateElement.decorate(t)},window.addEventListener("DOMContentLoaded",function(){HTMLTemplateElement.bootstrap(document)});var i=document.createElement;document.createElement=function(){"use strict";var e=i.apply(document,arguments);return"template"==e.localName&&HTMLTemplateElement.decorate(e),e};var a=/[&\u00A0<>]/g}(),function(e){var t=document.createElement("style");t.textContent="body {transition: opacity ease-in 0.2s; } \nbody[unresolved] {opacity: 0; display: block; overflow: hidden; position: relative; } \n";var n=document.querySelector("head");n.insertBefore(t,n.firstChild)}(window.WebComponents); \ No newline at end of file diff --git a/developers/add_new_platform.html b/developers/add_new_platform.html index bb09d5ee0c..f8b06f5e81 100644 --- a/developers/add_new_platform.html +++ b/developers/add_new_platform.html @@ -134,12 +134,38 @@

    If you are planning to add support for a new type of device to an existing component, you can get away with only writing platform logic. Have a look at how the component works with other platforms and create a similar file for the platform that you would like to add.

    -

    -Platform logic should not interface directly with the devices but use a third-party Python 3 library that speaks the actual API. -

    +

    Interfacing with devices

    + +

    One of the rules for Home Assistant is that platform logic should never interface directly with +devices but use a third-party Python 3 library to do so. This way Home Assistant is able to share +code with the Python community and we can keep the project maintainable.

    + +

    Platforms can specify dependencies and requirements the same way as a component does. Please see +the component page for more information.

    + +

    Creating Entities

    + +

    Home Assistant will call a function with the following signature to initialize +your new platform. This function must exist in the platform module you create.

    + +
    1
    +
    def setup_platform(hass, config, add_devices, discovery_info=None)
    +
    -

    +

    In this function, your platform should create the appropriate entities and +register them with the Home Assistant core. Entities are Home Assistant’s +representation of lights, switches, sensors, etc. and are derived from the +Entity Abstract Class. +This abstract class contains logic for integrating most standard features into +your entities, such as visibility, entity IDs, updates, and many more.

    + +

    A list of entities can be registered with Home Assistant using the add_devices +function that is provided as an input to setup_platform. Once entities are +registered with with Home Assistant their updates will be provided to the core +and the core will have control over them. For more information on how Entities +can be customized, take a look at the Entity Abstract +Class.

    Allowing your platform to be discovered

    @@ -189,32 +215,6 @@ This option is currently limited to built-in components.

    -

    Creating Entities

    - -

    Home Assistant will call a function with the following signature to initialize -your new platform. This function must exist in the platform module you create.

    - -
    1
    -
    def setup_platform(hass, config, add_devices, discovery_info=None)
    -
    - - -

    In this function, your platform should create the appropriate entities and -register them with the Home Assistant core. Entities are Home Assistant’s -representation of lights, switches, sensors, etc. It is best practice for all -new entities to inherit the -Entity Abstract Class. -This abstract class contains logic for integrating most standard features into -your entities, such as visibility, entity IDs, updates, and many more. That is -why it is best practice to reference the existing class.

    - -

    A list of entities can be registered with Home Assistant using the add_devices -function that is provided as an input to setup_platform. Once entities are -registered with with Home Assistant their updates will be provided to the core -and the core will have control over them. For more information on how Entities -can be customized, take a look at the Entity Abstract -Class.

    - diff --git a/developers/creating_components.html b/developers/creating_components.html index c100f0e7c9..493efef845 100644 --- a/developers/creating_components.html +++ b/developers/creating_components.html @@ -147,6 +147,22 @@ Home Assistant will use the directory that contains your config file as the dire

    +

    Dependencies

    + +

    Home Assistant allows components and platforms to specify their dependencies and requirements using the variables +DEPENDENCIES and REQUIREMENTS. Both are lists that contain strings.

    + +

    Dependencies are other Home Assistant components that should be setup before the platform is loaded. +An example is the MQTT sensor component, which requires an active connection to a MQTT broker. If +Home Assistant is unable to load and setup the MQTT component, it will not setup the MQTT sensor +component.

    + +

    Requirements are Python libraries that you would normally install using pip. Each entry in a +requirement list is a pip compatible string. For example, the media player Cast platform depends +on the Python package PyChromecast thus REQUIREMENTS = ['pychromecast==0.6.12']. If Home +Assistant is unable to install the package or verify it is installed, the component will fail to +load.

    +

    Initializing components

    After loading, the bootstrapper will call setup(hass, config) method on the component to initialize it. The following parameters are passed in:

    diff --git a/developers/credits.html b/developers/credits.html index 9b800d01b7..355e405ffd 100644 --- a/developers/credits.html +++ b/developers/credits.html @@ -139,6 +139,7 @@
  • Joseph Piron
  • Julien Danjou
  • kixam
  • +
  • MakeMeASandwich
  • Markus Stenberg
  • Michael Arnauts
  • miniconfig
  • diff --git a/developers/index.html b/developers/index.html index 062fe398cd..58cddd1f26 100644 --- a/developers/index.html +++ b/developers/index.html @@ -104,9 +104,57 @@
    -

    Home Assistant is build from the ground-up to be easily extensible by other developers using components. It uses Python 3 for the backend and Polymer (Webcomponents) for the frontend.

    +

    Home Assistant is build from the ground-up to be easily extensible by other developers using +components. It uses Python 3 for the backend and +Polymer (Webcomponents) for the frontend.

    -

    For further reading, see:

    +

    Home Assistant is open-source and MIT licensed. The source can be found here:

    + + + + +

    Starting development

    + +

    You will need to setup a development environment if you want to start developing a new feature or +component for Home Assistant.

    + +
      +
    1. Clone the Home Assistant repository:
      +git clone https://github.com/balloob/home-assistant.git
    2. +
    3. Setup your computer for development:
      +python3 setup.py develop
    4. +
    + + +

    After following these steps, running hass will invoke your local installation.

    + +

    Submitting improvements

    + +

    Improvements to Home Assistant should be submitted one feature at a time using Github pull +requests.

    + +
      +
    1. Go to the Home Assistant repository +and click fork in the top right.
    2. +
    3. Follow steps in the previous section but with your forked repository.
    4. +
    5. Create a new branch to hold your changes
      +git checkout -b some-feature
    6. +
    7. Make the changes you want
    8. +
    9. Commit the changes
      +git add .
      +git commit -m "Added some-feature"
    10. +
    11. Push your commited changes back to your fork on Github
      +git push origin HEAD
    12. +
    13. Follow these steps to create your +pull request.
    14. +
    + + +

    Further reading

    -

    Password protecting the web interface

    +

    Password protecting the web interface

    The first thing you want to add is a password for the web interface. Use your favourite text editor to open the file /config/configuration.yaml and add the following to the bottom:

    @@ -165,7 +169,9 @@

    Adding devices and services

    -

    Home Assistant will be able to automatically discover and configure any Google Chromecasts, Belkin WeMo switches and Philips Hue bridges in your network if you have the discovery component enabled (which is by default).

    +

    Home Assistant will be able to automatically discover and configure any Google Chromecasts, Netgear routers, +Belkin WeMo switches and Philips Hue bridges in your network if you have +the discovery component enabled (which is by default).

    Not all devices can be discovered, so if you have any of the following devices or services, please see their respective pages for installation instructions:

    @@ -183,6 +189,25 @@

    See the components overview page for a complete list of supported devices.

    +

    Grouping devices

    + +

    Once you get a bunch of devices set up, it is time to organize them. This can be done using groups. +Each group exists of a name and a list of entity IDs. Entity IDs can be retrieved from the web interface +by using the Set State page in the Developer Tools (one in the middle).

    + +
    1
    +2
    +3
    +4
    +5
    +
    group:
    +  living_room: light.table_lamp, switch.ac
    +  bedroom:
    +    - light.bedroom
    +    - media_player.nexus_player
    +
    + +

    Customizing devices and services

    By default, most of your devices will be visible on the Home Assistant States @@ -190,8 +215,8 @@ page and have a default icon determined by their domain. You may find it desireable to customize the look and feel of your front page by altering some of these parameters.

    -

    By adding the following parameters to the homeassistant section of your -configuration.yaml file, you can customize the attributes of any state on +

    By adding the following parameters to the homeassistant: section of your +configuration.yaml, you can customize the attributes of any state on your front page.

    1
    @@ -208,15 +233,17 @@ your front page.

    # Add this to your existing configuration customize: - SOME_ENTITY_ID: + some.entity_id: hidden: true entity_picture: http://URL.TO/PICTURE friendly_name: SOME CUSTOM NAME
    -

    Entity IDs can be retrieved from the web interface by using the Set State page -in the Developer Tools.

    + + +

    Customizations are currently unavailable for device tracker entities.

    +

    Setting up Home Automation

    diff --git a/getting-started/index.html b/getting-started/index.html index d388fb90e8..5df69b5db0 100644 --- a/getting-started/index.html +++ b/getting-started/index.html @@ -125,20 +125,20 @@
    -Installing and running Home Assistant on your local machine is easy. Make sure you have Python 3.4 and git installed and execute the following code in a console: +Installing and running Home Assistant on your local machine is easy. Make sure you have Python 3.4 installed and execute the following code in a console:
    -

    The preparation of a Fedora 22 host will only take a couple of minutes. First install Python 3.4, git and the other needed packages out of the Fedora Package Collection. This ensure that you receive updates in the future.

    +

    The preparation of a Fedora 22 host will only take a couple of minutes. First install Python 3.4 and the other needed packages out of the Fedora Package Collection. This ensure that you receive updates in the future.

    It’s assumed that your user has an entry in the sudoers file. Otherwise, run the commands which needs more privileges as root.

    1
    -
    sudo dnf -y install python3 python3-devel git gcc
    +
    sudo dnf -y install python3 python3-devel gcc
     
    @@ -183,22 +183,13 @@ It’s assumed that your user has an entry in the sudoers file. Otherwise, r

    1
     2
    -3
    -4
    -5
    -
    git clone --recursive https://github.com/balloob/home-assistant.git
    -python3 -m venv home-assistant
    -cd home-assistant
    -source bin/activate
    -python3 -m homeassistant --open-ui
    +
    pip3 install homeassistant
    +hass --open-ui
     

    Running these commands will:

      -
    1. Download Home Assistant
    2. -
    3. Setup an isolated environment
    4. -
    5. Navigate to downloaded files
    6. -
    7. Activate the isolated environment (on Windows, run Scripts/activate.bat)
    8. +
    9. Install Home Assistant
    10. Launch Home Assistant and serve web interface on http://localhost:8123

    @@ -212,20 +203,15 @@ It’s assumed that your user has an entry in the sudoers file. Otherwise, r - +

    There is nothing else to do. If you run into any issues, please see the troubleshooting page.

    -

    - You can run Home Assistant in demo mode by appending --demo-mode to line 5. -

    - -

    - If you want to update to the latest version in the future, run: scripts/update. -

    +

    If you want to see what Home Assistant can do, you can start the demo mode by running hass --demo-mode.

    +

    In the future, if you want to update to the latest version, run pip3 install --upgrade home-assistant.

    @@ -239,7 +225,11 @@ It’s assumed that your user has an entry in the sudoers file. Otherwise, r

    Home Assistant will serve its web interface on http://[IP address of the host]:8123.

    -

    If you want that Home Assistant is lauched automatically, an extra step is needed to setup systemd. You need a service file to control Home Assistant with systemd. The WorkingDirectory and the PYTHONPATH must point to your clone git repository.

    +

    If you want that Home Assistant is lauched automatically, an extra step is needed to setup systemd. You need a service file to control Home Assistant with systemd. +

    1
     2
    @@ -253,8 +243,6 @@ It’s assumed that your user has an entry in the sudoers file. Otherwise, r
     10
     11
     12
    -13
    -14
     
    su -c 'cat <<EOF >> /lib/systemd/system/home-assistant.service
     [Unit]
     Description=Home Assistant
    @@ -262,8 +250,6 @@ It’s assumed that your user has an entry in the sudoers file. Otherwise, r
     
     [Service]
     Type=simple
    -WorkingDirectory=/home/fab/home-assistant/
    -Environment="PYTHONPATH=/home/fab/home-assistant/"
     ExecStart=/usr/bin/python3.4 -m homeassistant
     
     [Install]
    @@ -307,10 +293,7 @@ It’s assumed that your user has an entry in the sudoers file. Otherwise, r
     
    sudo journalctl -f -u home-assistant
     
    -

    - If you want to update to the latest version in the future, run: scripts/update and restart Home Assistant. -

    - +

    In the future, if you want to update to the latest version, run pip3 install --upgrade home-assistant.

    Those instructions were written for Fedora 22 Server and Workstation. They may work for Cloud flavor as well but this was not tested. @@ -401,28 +384,26 @@ NOTE: the rest of the commands are not being run as sudo and will install python

    pyenv virtualenv 3.4.2 homeassistant
     
    -

    Step 5. Clone the source

    -
    1
    -
    git clone --recursive https://github.com/balloob/home-assistant.git
    -
    - -

    Step 6. Set the virtual environment

    +

    Step 5. Set the virtual environment

    1
     2
     
    cd home-assistant
     pyenv local homeassistant
     
    +

    Step 6. Install Home Assistant

    +
    1
    +
    pip3 install homeassistant
    +
    +

    Step 7. Start it up

    1
    -
    python3 -m homeassistant
    +
    hass
     

    It will be up and running on port 8123

    -

    - If you want to update to the latest version in the future, run: scripts/update. -

    +

    In the future, if you want to update to the latest version, run pip3 install --upgrade home-assistant.

    diff --git a/getting-started/troubleshooting-configuration.html b/getting-started/troubleshooting-configuration.html new file mode 100644 index 0000000000..d51169378b --- /dev/null +++ b/getting-started/troubleshooting-configuration.html @@ -0,0 +1,212 @@ + + + + + + + + + + + + Troubleshooting your configuration - Home Assistant + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    + +
    + + +
    + + +
    +

    + Troubleshooting Your Configuration +

    +
    +
    + + +

    It can happen that you run into trouble while configuring Home Assistant. A component is not +showing up or is acting weird. This page will discuss a few of the most common problems.

    + +

    Before we dive into common issues, make sure you know where your configuration directory is. +Home Assistant will print out the configuration directory it is using when starting up.

    + +

    Whenever a component or configuration option results in a warning, it will be stored in +home-assistant.log. This file is reset on start of Home Assistant.

    + +

    My component does not show up

    + +

    When a component does not show up, many different things can be the case. Before you try any of +these steps, make sure to look at the home-assistant.log file and see if there are any errors +related to your component you are trying to set up.

    + +

    Problems with the configuration

    + +

    configuration.yaml does not allow multiple sections to have the same name. If you want a + specific component to be loaded twice, append a number to the name.

    + +
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +
    sensor:
    +  platform: mqtt
    +  []
    +
    +sensor 2:
    +  platform: bitcoin
    +  []
    +
    + + +

    Another common problem is that a required configuration setting is missing. If this is the +case, the component will report this to home-assistant.log. You can have a look at +the component page for instructions how to setup the components. If you find any +errors or want to expand the documentation, please +let us know.

    + +

    Problems with dependencies
    +Almost all components have external dependencies to communicate with your devices and services. +Sometimes Home Assistant is unable to install the necessary dependencies. If this is the case, it +should show up in home-assistant.log.

    + +

    First step is trying to restart Home Assistant and see if the problem persists. If it does, please +report it so we can investigate what is going on.

    + +

    Problems with components
    +It can happen that some components either do not work right away or stop working after Home +Assistant has been running for a while. If this happens to you, please +report it so that we can have a look.

    + +

    +Whenever you report an issue, be aware that we are a group of volunteers that do not have access to +every single device in the world nor unlimited time to fix every problem out there. +

    + + + +
    + + +
    + + +
    +
    + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/getting-started/troubleshooting.html b/getting-started/troubleshooting.html index 9cb72f1faf..6e6309fea3 100644 --- a/getting-started/troubleshooting.html +++ b/getting-started/troubleshooting.html @@ -9,20 +9,20 @@ - Troubleshooting - Home Assistant + Troubleshooting installation problems - Home Assistant - + - + - + @@ -98,58 +98,34 @@

    - Troubleshooting + Troubleshooting Installation Problems


    -

    It can happen that you run into trouble while installing Home Assistant. This page is here to help you figure out the most common problems.

    +

    It can happen that you run into trouble while installing Home Assistant. This page is here to help +you figure out the most common problems.

    -

    python3: command not found
    -Check if Python 3.4 is installed by running python3 --version. If it is not installed, download it here.

    +

    pip3: command not found
    +This utility should have been installed as part of the Python 3.4 installation. Check if Python 3.4 +is installed by running python3 --version. If it is not installed, +download it here.

    + +

    If you are to succesfully run python3 --version but not pip3, run the following command instead +to install Home Assistant: python3 -m pip install homeassistant.

    No module named pip
    -Pip should come bundled with the latest Python 3 but is ommitted by some distributions. If you are unable to run python3 -m pip --version you can install pip by downloading the installer and run it with Python 3: python3 get-pip.py.

    - -

    git: command not found
    -Check if Git is installed by running git --version. If you are unable to run this command you can install it by following these instructions.

    - -

    No module named ‘pytz’
    -There is a problem with installing dependencies on the fly. Install the dependencies manually in advance.

    - -
    1
    -2
    -
    python3 -m pip install --upgrade pip
    -python3 -m pip install --upgrade -r requirements.txt
    -
    - - -

    Ubuntu 14.04: … returned non-zero exit status
    -There is a known issue with installing on Ubuntu 14.04 and possibly many other newer Debian based distributions. The venv Python 3.4 package that has been bundled in the apt-get repository are known to be broken. This has been documented in this bug report. If you are encountering an error that looks like the following while creating the virtual environment, you are experiencing this bug.

    - -
    1
    -
    Error: Command '['home-assistant/bin/python3.4', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status
    -
    - - -

    This error can be fixed permanently by running the following commands.

    - -
    1
    -2
    -3
    -4
    -
    cd ~/Downloads
    -wget https://gist.githubusercontent.com/rmkraus/c3972492a9de875203c6/raw/46629b63857537deedc85ec4a11cd8284816e2a0/install_ensurepip.py
    -sudo python3 install_ensurepip.py
    -rm install_ensurepip.py
    -
    - - -

    After these commands have been successfully executed, the venv package will be fixed system-wide.

    +Pip should come bundled with the latest Python 3 but is ommitted +by some distributions. If you are unable to run python3 -m pip --version you can install pip by +downloading the installer and run it with Python 3: +python3 get-pip.py.

    No access to the frontend
    -In newer Linux distributions (at least Fedora 22/CentOS 7) the access to a host are very limited. This means that you can’t access the Home Assistant Frontend that is running on a host in your network. Check the Post-installation section on the Getting started page and follow the instruction that match your distribution to allow access to port 8123.

    +In newer Linux distributions (at least Fedora 22/CentOS 7) the access to a host are very limited. +This means that you can’t access the Home Assistant Frontend that is running on a host in your +network. Check the Post-installation section on the Getting started page and +follow the instruction that match your distribution to allow access to port 8123.

    diff --git a/images/hero_screenshot.png b/images/hero_screenshot.png index 009fe1a2d368918c61d1dad76ea763f402c6d4be..fe27179e049faff1a386dda3e8e8b4f46e72a46e 100644 GIT binary patch literal 34701 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≪Nf=3 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ⅅ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

    PTwYd9DM3f5`=96eZ6VWGM}T~NVIkbui5 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 KMNUMnLSTZyKoDa9 literal 0 HcmV?d00001 diff --git a/images/supported_brands/actiontec.png b/images/supported_brands/actiontec.png new file mode 100644 index 0000000000000000000000000000000000000000..490c05523101add3c7a86eb416340fd5bb37f767 GIT binary patch literal 5261 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 WczFLj%lF?8gxVSg>J_Rs;r|1p@O8-m literal 0 HcmV?d00001 diff --git a/images/supported_brands/technicolor.png b/images/supported_brands/technicolor.png new file mode 100644 index 0000000000000000000000000000000000000000..203bbc592728bd386be254cc9166d36bd719ab46 GIT binary patch literal 2657 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 P00000NkvXXu0mjf!AA|J literal 0 HcmV?d00001 diff --git a/images/supported_brands/verizon.png b/images/supported_brands/verizon.png new file mode 100644 index 0000000000000000000000000000000000000000..ba2c40f873b3c02d16f146a424fa97ea84001423 GIT binary patch literal 26370 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 fR~<%v7XUc;#@bb^ICuG

    Awaken your home

    -

    Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control. Installation in less than a minute.

    + +$ pip3 install homeassistant
    +$ hass --open-ui +

    - View demo - Get started - Browse code on GitHub + View demo + Get started + Browse code on GitHub

    +
    @@ -137,10 +141,9 @@ Home Assistant is an open-source home automation platform running on Python 3. T

    Home Assistant will track the state of all the devices in your home, so you don’t have to.

    - + - @@ -150,6 +153,7 @@ Home Assistant is an open-source home automation platform running on Python 3. T +

    Browse all »

    diff --git a/sitemap.xml b/sitemap.xml index 6d94b739c1..7fc5939744 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,5 +1,10 @@ + + https://home-assistant.io/blog/2015/08/31/version-7-revamped-ui-and-improved-distribution/ + 2015-08-31T14:12:00-07:00 + 0.8 + https://home-assistant.io/blog/2015/08/26/laundry-automation-with-moteino-mqtt-and-home-assistant/ 2015-08-26T08:12:00-07:00 @@ -102,570 +107,618 @@ https://home-assistant.io/developers/add_new_platform.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/getting-started/android.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/developers/api.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/developers/architecture.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/arduino.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/automation.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/browser.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/camera.generic.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/getting-started/configuration.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/configurator.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/conversation.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/developers/creating_components.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/developers/credits.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/device_sun_light_trigger.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 + weekly + 0.7 + + + https://home-assistant.io/components/device_tracker.actiontec.html + 2015-09-01T01:42:38-07:00 + weekly + 0.7 + + + https://home-assistant.io/components/device_tracker.aruba.html + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/device_tracker.asuswrt.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/device_tracker.ddwrt.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/device_tracker.luci.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/device_tracker.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/device_tracker.netgear.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/device_tracker.nmap_scanner.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 + weekly + 0.7 + + + https://home-assistant.io/components/device_tracker.thomson.html + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/device_tracker.tomato.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/device_tracker.tplink.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/discovery.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/downloader.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/developers/frontend.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/group.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/history.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/blog/archives/ - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/ - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 1.0 https://home-assistant.io/blog/ - 2015-08-29T09:17:01-07:00 - weekly - 0.7 - - - https://home-assistant.io/components/ - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/developers/ - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 + weekly + 0.7 + + + https://home-assistant.io/components/ + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/help/ - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/getting-started/ - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/isy994.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/keyboard.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/light.hue.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/light.limitlessled.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/light.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/logbook.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/media_player.cast.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/media_player.kodi.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/media_player.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/media_player.mpd.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/media_player.squeezebox.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/modbus.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/mqtt.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/notify.file.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/notify.instapush.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/notify.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/notify.nma.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/notify.pushbullet.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/notify.pushover.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/notify.slack.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/notify.smtp.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/notify.syslog.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/notify.xmpp.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/developers/python_api.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/developers/rest_api.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/scene.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/scheduler.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/script.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/sensor.bitcoin.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 + weekly + 0.7 + + + https://home-assistant.io/components/sensor.dht.html + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/sensor.efergy.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/sensor.forecast.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 + weekly + 0.7 + + + https://home-assistant.io/components/sensor.mqtt.html + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/sensor.mysensors.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/sensor.openweathermap.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/sensor.rfxtrx.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 + weekly + 0.7 + + + https://home-assistant.io/components/sensor.rpi_gpio.html + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/sensor.sabnzbd.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/sensor.swiss_public_transport.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/sensor.systemmonitor.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/sensor.temper.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/sensor.time_date.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/sensor.transmission.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/simple_alarm.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/sun.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/switch.command_switch.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/switch.edimax.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/switch.hikvision.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/switch.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 + weekly + 0.7 + + + https://home-assistant.io/components/switch.mqtt.html + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/switch.rpi_gpio.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/switch.transmission.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/switch.wemo.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/tellstick.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/thermostat.heat_control.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/thermostat.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/thermostat.nest.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 + weekly + 0.7 + + + https://home-assistant.io/getting-started/troubleshooting-configuration.html + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/getting-started/troubleshooting.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/vera.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/verisure.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/developers/website.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/wink.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/components/zwave.html - 2015-08-29T09:17:01-07:00 + 2015-09-01T01:42:38-07:00 weekly 0.7 https://home-assistant.io/demo/frontend.html - 2015-07-17T23:45:46-07:00 + 2015-08-31T01:01:03-07:00 0.6 https://home-assistant.io/demo/index.html - 2015-06-23T23:48:32-07:00 + 2015-08-31T01:01:03-07:00 0.6 diff --git a/static/favicon-192x192.png b/static/favicon-192x192.png deleted file mode 100644 index 2959efdf89d84afbf915abf4765e5e150f4e74d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15701 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 diff --git a/static/splash.png b/static/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..582140a2bc35f598fc227782ff06039759b39fe5 GIT binary patch literal 51901 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:relative}.icons-ul .icon-li{position:absolute;left:-2.14286em;width:2.14286em;text-align:center;line-height:inherit}[class^="icon-"].hide,[class*=" icon-"].hide{display:none}.icon-muted{color:#eee}.icon-light{color:#fff}.icon-dark{color:#333}.icon-border{border:solid 1px #eee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.icon-2x{font-size:2em}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.icon-3x{font-size:3em}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.icon-4x{font-size:4em}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.icon-5x{font-size:5em}.icon-5x.icon-border{border-width:5px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.pull-right{float:right}.pull-left{float:left}[class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em}[class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em}.icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:-35%}.icon-stack [class^="icon-"],.icon-stack [class*=" icon-"]{display:block;text-align:center;position:absolute;width:100%;height:100%;font-size:1em;line-height:inherit;*line-height:2em}.icon-stack .icon-stack-base{font-size:2em;*line-height:1em}.icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear}a .icon-stack,a .icon-spin{display:inline-block;text-decoration:none}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.icon-rotate-90:before{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1)}.icon-rotate-180:before{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2)}.icon-rotate-270:before{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3)}.icon-flip-horizontal:before{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.icon-flip-vertical:before{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}a .icon-rotate-90:before,a .icon-rotate-180:before,a .icon-rotate-270:before,a .icon-flip-horizontal:before,a .icon-flip-vertical:before{display:inline-block}.icon-glass:before{content:"\f000"}.icon-music:before{content:"\f001"}.icon-search:before{content:"\f002"}.icon-envelope-alt:before{content:"\f003"}.icon-heart:before{content:"\f004"}.icon-star:before{content:"\f005"}.icon-star-empty:before{content:"\f006"}.icon-user:before{content:"\f007"}.icon-film:before{content:"\f008"}.icon-th-large:before{content:"\f009"}.icon-th:before{content:"\f00a"}.icon-th-list:before{content:"\f00b"}.icon-ok:before{content:"\f00c"}.icon-remove:before{content:"\f00d"}.icon-zoom-in:before{content:"\f00e"}.icon-zoom-out:before{content:"\f010"}.icon-power-off:before,.icon-off:before{content:"\f011"}.icon-signal:before{content:"\f012"}.icon-gear:before,.icon-cog:before{content:"\f013"}.icon-trash:before{content:"\f014"}.icon-home:before{content:"\f015"}.icon-file-alt:before{content:"\f016"}.icon-time:before{content:"\f017"}.icon-road:before{content:"\f018"}.icon-download-alt:before{content:"\f019"}.icon-download:before{content:"\f01a"}.icon-upload:before{content:"\f01b"}.icon-inbox:before{content:"\f01c"}.icon-play-circle:before{content:"\f01d"}.icon-rotate-right:before,.icon-repeat:before{content:"\f01e"}.icon-refresh:before{content:"\f021"}.icon-list-alt:before{content:"\f022"}.icon-lock:before{content:"\f023"}.icon-flag:before{content:"\f024"}.icon-headphones:before{content:"\f025"}.icon-volume-off:before{content:"\f026"}.icon-volume-down:before{content:"\f027"}.icon-volume-up:before{content:"\f028"}.icon-qrcode:before{content:"\f029"}.icon-barcode:before{content:"\f02a"}.icon-tag:before{content:"\f02b"}.icon-tags:before{content:"\f02c"}.icon-book:before{content:"\f02d"}.icon-bookmark:before{content:"\f02e"}.icon-print:before{content:"\f02f"}.icon-camera:before{content:"\f030"}.icon-font:before{content:"\f031"}.icon-bold:before{content:"\f032"}.icon-italic:before{content:"\f033"}.icon-text-height:before{content:"\f034"}.icon-text-width:before{content:"\f035"}.icon-align-left:before{content:"\f036"}.icon-align-center:before{content:"\f037"}.icon-align-right:before{content:"\f038"}.icon-align-justify:before{content:"\f039"}.icon-list:before{content:"\f03a"}.icon-indent-left:before{content:"\f03b"}.icon-indent-right:before{content:"\f03c"}.icon-facetime-video:before{content:"\f03d"}.icon-picture:before{content:"\f03e"}.icon-pencil:before{content:"\f040"}.icon-map-marker:before{content:"\f041"}.icon-adjust:before{content:"\f042"}.icon-tint:before{content:"\f043"}.icon-edit:before{content:"\f044"}.icon-share:before{content:"\f045"}.icon-check:before{content:"\f046"}.icon-move:before{content:"\f047"}.icon-step-backward:before{content:"\f048"}.icon-fast-backward:before{content:"\f049"}.icon-backward:before{content:"\f04a"}.icon-play:before{content:"\f04b"}.icon-pause:before{content:"\f04c"}.icon-stop:before{content:"\f04d"}.icon-forward:before{content:"\f04e"}.icon-fast-forward:before{content:"\f050"}.icon-step-forward:before{content:"\f051"}.icon-eject:before{content:"\f052"}.icon-chevron-left:before{content:"\f053"}.icon-chevron-right:before{content:"\f054"}.icon-plus-sign:before{content:"\f055"}.icon-minus-sign:before{content:"\f056"}.icon-remove-sign:before{content:"\f057"}.icon-ok-sign:before{content:"\f058"}.icon-question-sign:before{content:"\f059"}.icon-info-sign:before{content:"\f05a"}.icon-screenshot:before{content:"\f05b"}.icon-remove-circle:before{content:"\f05c"}.icon-ok-circle:before{content:"\f05d"}.icon-ban-circle:before{content:"\f05e"}.icon-arrow-left:before{content:"\f060"}.icon-arrow-right:before{content:"\f061"}.icon-arrow-up:before{content:"\f062"}.icon-arrow-down:before{content:"\f063"}.icon-mail-forward:before,.icon-share-alt:before{content:"\f064"}.icon-resize-full:before{content:"\f065"}.icon-resize-small:before{content:"\f066"}.icon-plus:before{content:"\f067"}.icon-minus:before{content:"\f068"}.icon-asterisk:before{content:"\f069"}.icon-exclamation-sign:before{content:"\f06a"}.icon-gift:before{content:"\f06b"}.icon-leaf:before{content:"\f06c"}.icon-fire:before{content:"\f06d"}.icon-eye-open:before{content:"\f06e"}.icon-eye-close:before{content:"\f070"}.icon-warning-sign:before{content:"\f071"}.icon-plane:before{content:"\f072"}.icon-calendar:before{content:"\f073"}.icon-random:before{content:"\f074"}.icon-comment:before{content:"\f075"}.icon-magnet:before{content:"\f076"}.icon-chevron-up:before{content:"\f077"}.icon-chevron-down:before{content:"\f078"}.icon-retweet:before{content:"\f079"}.icon-shopping-cart:before{content:"\f07a"}.icon-folder-close:before{content:"\f07b"}.icon-folder-open:before{content:"\f07c"}.icon-resize-vertical:before{content:"\f07d"}.icon-resize-horizontal:before{content:"\f07e"}.icon-bar-chart:before{content:"\f080"}.icon-twitter-sign:before{content:"\f081"}.icon-facebook-sign:before{content:"\f082"}.icon-camera-retro:before{content:"\f083"}.icon-key:before{content:"\f084"}.icon-gears:before,.icon-cogs:before{content:"\f085"}.icon-comments:before{content:"\f086"}.icon-thumbs-up-alt:before{content:"\f087"}.icon-thumbs-down-alt:before{content:"\f088"}.icon-star-half:before{content:"\f089"}.icon-heart-empty:before{content:"\f08a"}.icon-signout:before{content:"\f08b"}.icon-linkedin-sign:before{content:"\f08c"}.icon-pushpin:before{content:"\f08d"}.icon-external-link:before{content:"\f08e"}.icon-signin:before{content:"\f090"}.icon-trophy:before{content:"\f091"}.icon-github-sign:before{content:"\f092"}.icon-upload-alt:before{content:"\f093"}.icon-lemon:before{content:"\f094"}.icon-phone:before{content:"\f095"}.icon-unchecked:before,.icon-check-empty:before{content:"\f096"}.icon-bookmark-empty:before{content:"\f097"}.icon-phone-sign:before{content:"\f098"}.icon-twitter:before{content:"\f099"}.icon-facebook:before{content:"\f09a"}.icon-github:before{content:"\f09b"}.icon-unlock:before{content:"\f09c"}.icon-credit-card:before{content:"\f09d"}.icon-rss:before{content:"\f09e"}.icon-hdd:before{content:"\f0a0"}.icon-bullhorn:before{content:"\f0a1"}.icon-bell:before{content:"\f0a2"}.icon-certificate:before{content:"\f0a3"}.icon-hand-right:before{content:"\f0a4"}.icon-hand-left:before{content:"\f0a5"}.icon-hand-up:before{content:"\f0a6"}.icon-hand-down:before{content:"\f0a7"}.icon-circle-arrow-left:before{content:"\f0a8"}.icon-circle-arrow-right:before{content:"\f0a9"}.icon-circle-arrow-up:before{content:"\f0aa"}.icon-circle-arrow-down:before{content:"\f0ab"}.icon-globe:before{content:"\f0ac"}.icon-wrench:before{content:"\f0ad"}.icon-tasks:before{content:"\f0ae"}.icon-filter:before{content:"\f0b0"}.icon-briefcase:before{content:"\f0b1"}.icon-fullscreen:before{content:"\f0b2"}.icon-group:before{content:"\f0c0"}.icon-link:before{content:"\f0c1"}.icon-cloud:before{content:"\f0c2"}.icon-beaker:before{content:"\f0c3"}.icon-cut:before{content:"\f0c4"}.icon-copy:before{content:"\f0c5"}.icon-paperclip:before,.icon-paper-clip:before{content:"\f0c6"}.icon-save:before{content:"\f0c7"}.icon-sign-blank:before{content:"\f0c8"}.icon-reorder:before{content:"\f0c9"}.icon-list-ul:before{content:"\f0ca"}.icon-list-ol:before{content:"\f0cb"}.icon-strikethrough:before{content:"\f0cc"}.icon-underline:before{content:"\f0cd"}.icon-table:before{content:"\f0ce"}.icon-magic:before{content:"\f0d0"}.icon-truck:before{content:"\f0d1"}.icon-pinterest:before{content:"\f0d2"}.icon-pinterest-sign:before{content:"\f0d3"}.icon-google-plus-sign:before{content:"\f0d4"}.icon-google-plus:before{content:"\f0d5"}.icon-money:before{content:"\f0d6"}.icon-caret-down:before{content:"\f0d7"}.icon-caret-up:before{content:"\f0d8"}.icon-caret-left:before{content:"\f0d9"}.icon-caret-right:before{content:"\f0da"}.icon-columns:before{content:"\f0db"}.icon-sort:before{content:"\f0dc"}.icon-sort-down:before{content:"\f0dd"}.icon-sort-up:before{content:"\f0de"}.icon-envelope:before{content:"\f0e0"}.icon-linkedin:before{content:"\f0e1"}.icon-rotate-left:before,.icon-undo:before{content:"\f0e2"}.icon-legal:before{content:"\f0e3"}.icon-dashboard:before{content:"\f0e4"}.icon-comment-alt:before{content:"\f0e5"}.icon-comments-alt:before{content:"\f0e6"}.icon-bolt:before{content:"\f0e7"}.icon-sitemap:before{content:"\f0e8"}.icon-umbrella:before{content:"\f0e9"}.icon-paste:before{content:"\f0ea"}.icon-lightbulb:before{content:"\f0eb"}.icon-exchange:before{content:"\f0ec"}.icon-cloud-download:before{content:"\f0ed"}.icon-cloud-upload:before{content:"\f0ee"}.icon-user-md:before{content:"\f0f0"}.icon-stethoscope:before{content:"\f0f1"}.icon-suitcase:before{content:"\f0f2"}.icon-bell-alt:before{content:"\f0f3"}.icon-coffee:before{content:"\f0f4"}.icon-food:before{content:"\f0f5"}.icon-file-text-alt:before{content:"\f0f6"}.icon-building:before{content:"\f0f7"}.icon-hospital:before{content:"\f0f8"}.icon-ambulance:before{content:"\f0f9"}.icon-medkit:before{content:"\f0fa"}.icon-fighter-jet:before{content:"\f0fb"}.icon-beer:before{content:"\f0fc"}.icon-h-sign:before{content:"\f0fd"}.icon-plus-sign-alt:before{content:"\f0fe"}.icon-double-angle-left:before{content:"\f100"}.icon-double-angle-right:before{content:"\f101"}.icon-double-angle-up:before{content:"\f102"}.icon-double-angle-down:before{content:"\f103"}.icon-angle-left:before{content:"\f104"}.icon-angle-right:before{content:"\f105"}.icon-angle-up:before{content:"\f106"}.icon-angle-down:before{content:"\f107"}.icon-desktop:before{content:"\f108"}.icon-laptop:before{content:"\f109"}.icon-tablet:before{content:"\f10a"}.icon-mobile-phone:before{content:"\f10b"}.icon-circle-blank:before{content:"\f10c"}.icon-quote-left:before{content:"\f10d"}.icon-quote-right:before{content:"\f10e"}.icon-spinner:before{content:"\f110"}.icon-circle:before{content:"\f111"}.icon-mail-reply:before,.icon-reply:before{content:"\f112"}.icon-github-alt:before{content:"\f113"}.icon-folder-close-alt:before{content:"\f114"}.icon-folder-open-alt:before{content:"\f115"}.icon-expand-alt:before{content:"\f116"}.icon-collapse-alt:before{content:"\f117"}.icon-smile:before{content:"\f118"}.icon-frown:before{content:"\f119"}.icon-meh:before{content:"\f11a"}.icon-gamepad:before{content:"\f11b"}.icon-keyboard:before{content:"\f11c"}.icon-flag-alt:before{content:"\f11d"}.icon-flag-checkered:before{content:"\f11e"}.icon-terminal:before{content:"\f120"}.icon-code:before{content:"\f121"}.icon-reply-all:before{content:"\f122"}.icon-mail-reply-all:before{content:"\f122"}.icon-star-half-full:before,.icon-star-half-empty:before{content:"\f123"}.icon-location-arrow:before{content:"\f124"}.icon-crop:before{content:"\f125"}.icon-code-fork:before{content:"\f126"}.icon-unlink:before{content:"\f127"}.icon-question:before{content:"\f128"}.icon-info:before{content:"\f129"}.icon-exclamation:before{content:"\f12a"}.icon-superscript:before{content:"\f12b"}.icon-subscript:before{content:"\f12c"}.icon-eraser:before{content:"\f12d"}.icon-puzzle-piece:before{content:"\f12e"}.icon-microphone:before{content:"\f130"}.icon-microphone-off:before{content:"\f131"}.icon-shield:before{content:"\f132"}.icon-calendar-empty:before{content:"\f133"}.icon-fire-extinguisher:before{content:"\f134"}.icon-rocket:before{content:"\f135"}.icon-maxcdn:before{content:"\f136"}.icon-chevron-sign-left:before{content:"\f137"}.icon-chevron-sign-right:before{content:"\f138"}.icon-chevron-sign-up:before{content:"\f139"}.icon-chevron-sign-down:before{content:"\f13a"}.icon-html5:before{content:"\f13b"}.icon-css3:before{content:"\f13c"}.icon-anchor:before{content:"\f13d"}.icon-unlock-alt:before{content:"\f13e"}.icon-bullseye:before{content:"\f140"}.icon-ellipsis-horizontal:before{content:"\f141"}.icon-ellipsis-vertical:before{content:"\f142"}.icon-rss-sign:before{content:"\f143"}.icon-play-sign:before{content:"\f144"}.icon-ticket:before{content:"\f145"}.icon-minus-sign-alt:before{content:"\f146"}.icon-check-minus:before{content:"\f147"}.icon-level-up:before{content:"\f148"}.icon-level-down:before{content:"\f149"}.icon-check-sign:before{content:"\f14a"}.icon-edit-sign:before{content:"\f14b"}.icon-external-link-sign:before{content:"\f14c"}.icon-share-sign:before{content:"\f14d"}.icon-compass:before{content:"\f14e"}.icon-collapse:before{content:"\f150"}.icon-collapse-top:before{content:"\f151"}.icon-expand:before{content:"\f152"}.icon-euro:before,.icon-eur:before{content:"\f153"}.icon-gbp:before{content:"\f154"}.icon-dollar:before,.icon-usd:before{content:"\f155"}.icon-rupee:before,.icon-inr:before{content:"\f156"}.icon-yen:before,.icon-jpy:before{content:"\f157"}.icon-renminbi:before,.icon-cny:before{content:"\f158"}.icon-won:before,.icon-krw:before{content:"\f159"}.icon-bitcoin:before,.icon-btc:before{content:"\f15a"}.icon-file:before{content:"\f15b"}.icon-file-text:before{content:"\f15c"}.icon-sort-by-alphabet:before{content:"\f15d"}.icon-sort-by-alphabet-alt:before{content:"\f15e"}.icon-sort-by-attributes:before{content:"\f160"}.icon-sort-by-attributes-alt:before{content:"\f161"}.icon-sort-by-order:before{content:"\f162"}.icon-sort-by-order-alt:before{content:"\f163"}.icon-thumbs-up:before{content:"\f164"}.icon-thumbs-down:before{content:"\f165"}.icon-youtube-sign:before{content:"\f166"}.icon-youtube:before{content:"\f167"}.icon-xing:before{content:"\f168"}.icon-xing-sign:before{content:"\f169"}.icon-youtube-play:before{content:"\f16a"}.icon-dropbox:before{content:"\f16b"}.icon-stackexchange:before{content:"\f16c"}.icon-instagram:before{content:"\f16d"}.icon-flickr:before{content:"\f16e"}.icon-adn:before{content:"\f170"}.icon-bitbucket:before{content:"\f171"}.icon-bitbucket-sign:before{content:"\f172"}.icon-tumblr:before{content:"\f173"}.icon-tumblr-sign:before{content:"\f174"}.icon-long-arrow-down:before{content:"\f175"}.icon-long-arrow-up:before{content:"\f176"}.icon-long-arrow-left:before{content:"\f177"}.icon-long-arrow-right:before{content:"\f178"}.icon-apple:before{content:"\f179"}.icon-windows:before{content:"\f17a"}.icon-android:before{content:"\f17b"}.icon-linux:before{content:"\f17c"}.icon-dribbble:before{content:"\f17d"}.icon-skype:before{content:"\f17e"}.icon-foursquare:before{content:"\f180"}.icon-trello:before{content:"\f181"}.icon-female:before{content:"\f182"}.icon-male:before{content:"\f183"}.icon-gittip:before{content:"\f184"}.icon-sun:before{content:"\f185"}.icon-moon:before{content:"\f186"}.icon-archive:before{content:"\f187"}.icon-bug:before{content:"\f188"}.icon-vk:before{content:"\f189"}.icon-weibo:before{content:"\f18a"}.icon-renren:before{content:"\f18b"}body,html{background-color:#f5f5f5;color:#222;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;height:100%}a{color:#049cdb;text-decoration:none}a:visited{color:#0378a9}.menu a{color:#049cdb}.gist{font-size:0.75em}@media only screen and (max-width: 480px){.title.indent::before{display:none}}.title.indent::before{content:"// ";color:#049cdb}.divider,.usp hr,.hero hr{border:none;border-bottom:2px solid #049cdb;clear:both;margin:2em 0}article.post img,article.page img,article.listing img{border:5px solid #fff;border-radius:3px;box-shadow:0 0 3px rgba(0,0,0,0.25)}article.post img.right,article.page img.right,article.listing img.right{float:right;margin:0 0 10px 20px}article.post img.left,article.page img.left,article.listing img.left{float:left;margin:0 20px 10px 0}.grid-wrapper{margin:auto;max-width:1100px;padding:0 25px}.grid-center{text-align:center}.grid-center>.grid__item{text-align:left}body>header{-webkit-box-shadow:0 0 3px rgba(0,0,0,0.25);-moz-box-shadow:0 0 3px rgba(0,0,0,0.25);-ms-box-shadow:0 0 3px rgba(0,0,0,0.25);-o-box-shadow:0 0 3px rgba(0,0,0,0.25);box-shadow:0 0 3px rgba(0,0,0,0.25);background-color:#fff;margin-bottom:2em}body>header .site-title{color:#222;font-size:1.7em;font-weight:bold;line-height:2.5em}body{-webkit-animation:bugfix infinite 1s}@-webkit-keyframes bugfix{from{padding:0}to{padding:0}}.header{position:relative}#toggle,.toggle{display:none}.menu li{list-style:none;float:left}@media only screen and (max-width: 790px){.menu{display:none;opacity:0;width:100%;position:absolute;right:0}.menu li{display:block;width:100%;margin:0}.menu li a{display:block;width:100%;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.toggle{display:block;position:relative;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#toggle:checked ~ .menu{display:block;opacity:1;z-index:999}}ul.menu li{position:relative}ul.menu li:hover ul{display:block}ul.menu li ul{display:none;z-index:10;position:absolute;top:68px;margin-left:0;background-color:white}ul.menu li ul li{white-space:nowrap;float:none}ul.menu li ul li a{display:block;padding:20px 10px}ul.menu li ul li a:hover,ul.menu li ul li a:focus{background:#eee}header .grid{height:68px}.menu{margin:0;top:68px}.menu li a{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all 0.25s linear;-moz-transition:all 0.25s linear;-o-transition:all 0.25s linear;transition:all 0.25s linear;display:block;padding:32px 20px;text-decoration:none;font-weight:normal;font-size:16px;line-height:1}.menu>li>a:hover,.menu>li>a:focus{background:#f5f5f5;box-shadow:inset 0px 5px #049cdb;color:#049cdb;padding:40px 20px 24px}.toggle{z-index:20}@media only screen and (max-width: 790px){.menu{background:#fff;border-top:1px solid #049cdb;border-bottom:4px solid #049cdb}.menu,.menu li,.menu li a{height:auto}.menu li a{padding:15px 15px !important}.menu li a:hover,.menu li a:focus{background:#eee;box-shadow:inset 5px 0px #049cdb;padding:15px 15px 15px 25px}.toggle{position:absolute;top:17px;right:10px}.toggle::after{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all 0.5s linear;-moz-transition:all 0.5s linear;-o-transition:all 0.5s linear;transition:all 0.5s linear;font-family:"FontAwesome";content:"\f0c9";display:inline-block;width:100%;padding:10px 15px;background:#049cdb;text-align:center;font-size:12px;color:#fff;white-space:nowrap}.toggle:hover::after{background:#0383b8}#toggle:checked+.toggle::after{content:attr(data-close)}ul.menu li ul{display:block;position:relative;top:0}}#page-wrap{min-height:100%;margin-bottom:-100px}#page-wrap::after{content:"";display:block;height:100px}body>footer{-webkit-box-shadow:0 0 3px rgba(0,0,0,0.25);-moz-box-shadow:0 0 3px rgba(0,0,0,0.25);-ms-box-shadow:0 0 3px rgba(0,0,0,0.25);-o-box-shadow:0 0 3px rgba(0,0,0,0.25);box-shadow:0 0 3px rgba(0,0,0,0.25);background-color:#fff;margin-top:3em}.copyright{margin:0;padding:20px 0;text-align:center}article blockquote{border-left:2px solid #049cdb;color:#484848;font-family:Georgia,"Times New Roman",Times,serif;font-size:1.25em;font-style:italic;padding-left:15px}article blockquote footer{float:right;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:0.8em}article blockquote footer strong::after{content:" \2014 "}article blockquote footer a{text-decoration:underline}article .pullquote-left::before,article .pullquote-right::before{border:medium none;color:#049cdb;content:"\201C" attr(data-pullquote) "\201D";float:right;font-family:Georgia,"Times New Roman",Times,serif;font-size:1.4em;font-style:italic;line-height:1.45em;margin:0.3em 0 1em 1.5em;padding:0;position:relative;top:7px;width:45%}@media only screen and (max-width: 480px){article .pullquote-left::before,article .pullquote-right::before{border-top:1px dotted #049cdb;border-bottom:1px dotted #049cdb;padding:0 10px;width:100%}}article .tags{display:inline}article .tags li{margin-right:2px}article .tags li::after{content:","}article .tags li:last-child::after{content:""}article .tags li a{color:#555;text-decoration:none}article .tags li a:hover{text-decoration:underline}article .meta{font-size:12px;padding:0 0 5px}article .meta>*{margin-right:15px;white-space:nowrap}article .meta>*:last-child{margin-right:0}article .meta .comments::before{content:"\f075";font-family:"FontAwesome";padding-right:3px}article.listing{margin-bottom:20px}article.listing h1{margin-bottom:0}article.listing h1 a{color:#049cdb;text-decoration:none}article.listing .entry-content{margin:10px 0}article.listing+hr{border:none;border-bottom:1px solid #049cdb}@media only screen and (max-width: 480px){article.post .tags{clear:both;margin-top:7px}}article.post h1{margin-bottom:0}article.post .meta{border-bottom:1px solid #049cdb;margin-bottom:20px}#archive-list article h1{margin-bottom:0}.sans,html .gist .gist-file .gist-meta{font-family:"Helvetica Neue",Arial,sans-serif}.mono,pre,p code,li code{font-family:Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace}.highlight table{margin-bottom:0}.highlight .gutter,.highlight .code{padding:0}.highlight .gutter .line-number{display:block}.highlight,html .gist .gist-file .gist-syntax .gist-highlight{border:1px solid #05232b !important}.highlight table td.code,html .gist .gist-file .gist-syntax .gist-highlight table td.code{width:100%}.highlight .line-numbers,html .gist .gist-file .gist-syntax .highlight .line_numbers{text-align:right;font-size:13px;line-height:1.45em;background:#073642 url('/images/noise.png?1419195603') top left !important;border-right:1px solid #00232c !important;-webkit-box-shadow:#083e4b -1px 0 inset;-moz-box-shadow:#083e4b -1px 0 inset;-ms-box-shadow:#083e4b -1px 0 inset;-o-box-shadow:#083e4b -1px 0 inset;box-shadow:#083e4b -1px 0 inset;text-shadow:#021014 0 -1px;padding:.8em !important;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.highlight .line-numbers span,html .gist .gist-file .gist-syntax .highlight .line_numbers span{color:#586e75 !important}figure.code,.gist-file,pre{-webkit-box-shadow:rgba(0,0,0,0.06) 0 0 10px;-moz-box-shadow:rgba(0,0,0,0.06) 0 0 10px;-ms-box-shadow:rgba(0,0,0,0.06) 0 0 10px;-o-box-shadow:rgba(0,0,0,0.06) 0 0 10px;box-shadow:rgba(0,0,0,0.06) 0 0 10px}figure.code .highlight pre,.gist-file .highlight pre,pre .highlight pre{-webkit-box-shadow:none;-moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;box-shadow:none}.gist .highlight *::-moz-selection,figure.code .highlight *::-moz-selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}.gist .highlight *::-webkit-selection,figure.code .highlight *::-webkit-selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}.gist .highlight *::selection,figure.code .highlight *::selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}html .gist .gist-file{margin-bottom:1.8em;position:relative;border:none;padding-top:26px !important}html .gist .gist-file .highlight{margin-bottom:0}html .gist .gist-file .gist-syntax{border-bottom:0 !important;background:none !important}html .gist .gist-file .gist-syntax .gist-highlight{background:#002b36 !important}html .gist .gist-file .gist-syntax .highlight pre{padding:0}html .gist .gist-file .gist-meta{padding:.6em 0.8em;border:1px solid #083e4b !important;color:#586e75;font-size:.7em !important;background:#073642 url('/images/noise.png?1419195603') top left;line-height:1.5em}html .gist .gist-file .gist-meta a{color:#75878b !important}html .gist .gist-file .gist-meta a:hover{color:#93a1a1 !important}html .gist .gist-file .gist-meta a[href*='#file']{position:absolute;top:0;left:0;right:-10px;color:#474747 !important}html .gist .gist-file .gist-meta a[href*='#file']:hover{color:#049cdb !important}html .gist .gist-file .gist-meta a[href*=raw]{top:.4em}pre{background:#002b36 url('/images/noise.png?1419195603') top left;-webkit-border-radius:0.4em;-moz-border-radius:0.4em;border-radius:0.4em;border:1px solid #05232b;line-height:1.45em;font-size:13px;margin-bottom:2.1em;padding:.8em 1em;color:#93a1a1;overflow:auto}h3.filename+pre{-webkit-border-radius:0px;-moz-border-radius:0px;border-radius:0px}p code,li code{display:inline-block;white-space:no-wrap;background:#fff;font-size:.8em;line-height:1.5em;color:#555;border:1px solid #ddd;-webkit-border-radius:0.4em;-moz-border-radius:0.4em;border-radius:0.4em;padding:0 .3em;margin:-1px 0}p pre code,li pre code{font-size:1em !important;background:none;border:none}.pre-code,html .gist .gist-file .gist-syntax .highlight pre,.highlight code{font-family:Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace !important;overflow:scroll;overflow-y:hidden;display:block;padding:.8em;overflow-x:auto;line-height:1.45em;background:#002b36 url('/images/noise.png?1419195603') top left !important;color:#93a1a1 !important}.pre-code span,html .gist .gist-file .gist-syntax .highlight pre span,.highlight code span{color:#93a1a1 !important}.pre-code span,html .gist .gist-file .gist-syntax .highlight pre span,.highlight code span{font-style:normal !important;font-weight:normal !important}.pre-code .c,html .gist .gist-file .gist-syntax .highlight pre .c,.highlight code .c{color:#586e75 !important;font-style:italic !important}.pre-code .cm,html .gist .gist-file .gist-syntax .highlight pre .cm,.highlight code .cm{color:#586e75 !important;font-style:italic !important}.pre-code .cp,html .gist .gist-file .gist-syntax .highlight pre .cp,.highlight code .cp{color:#586e75 !important;font-style:italic !important}.pre-code .c1,html .gist .gist-file .gist-syntax .highlight pre .c1,.highlight code .c1{color:#586e75 !important;font-style:italic !important}.pre-code .cs,html .gist .gist-file .gist-syntax .highlight pre .cs,.highlight code .cs{color:#586e75 !important;font-weight:bold !important;font-style:italic !important}.pre-code .err,html .gist .gist-file .gist-syntax .highlight pre .err,.highlight code .err{color:#dc322f !important;background:none !important}.pre-code .k,html .gist .gist-file .gist-syntax .highlight pre .k,.highlight code .k{color:#cb4b16 !important}.pre-code .o,html .gist .gist-file .gist-syntax .highlight pre .o,.highlight code .o{color:#93a1a1 !important;font-weight:bold !important}.pre-code .p,html .gist .gist-file .gist-syntax .highlight pre .p,.highlight code .p{color:#93a1a1 !important}.pre-code .ow,html .gist .gist-file .gist-syntax .highlight pre .ow,.highlight code .ow{color:#2aa198 !important;font-weight:bold !important}.pre-code .gd,html .gist .gist-file .gist-syntax .highlight pre .gd,.highlight code .gd{color:#93a1a1 !important;background-color:#372c34 !important;display:inline-block}.pre-code .gd .x,html .gist .gist-file .gist-syntax .highlight pre .gd .x,.highlight code .gd .x{color:#93a1a1 !important;background-color:#4d2d33 !important;display:inline-block}.pre-code .ge,html .gist .gist-file .gist-syntax .highlight pre .ge,.highlight code .ge{color:#93a1a1 !important;font-style:italic !important}.pre-code .gh,html .gist .gist-file .gist-syntax .highlight pre .gh,.highlight code .gh{color:#586e75 !important}.pre-code .gi,html .gist .gist-file .gist-syntax .highlight pre .gi,.highlight code .gi{color:#93a1a1 !important;background-color:#1a412b !important;display:inline-block}.pre-code .gi .x,html .gist .gist-file .gist-syntax .highlight pre .gi .x,.highlight code .gi .x{color:#93a1a1 !important;background-color:#355720 !important;display:inline-block}.pre-code .gs,html .gist .gist-file .gist-syntax .highlight pre .gs,.highlight code .gs{color:#93a1a1 !important;font-weight:bold !important}.pre-code .gu,html .gist .gist-file .gist-syntax .highlight pre .gu,.highlight code .gu{color:#6c71c4 !important}.pre-code .kc,html .gist .gist-file .gist-syntax .highlight pre .kc,.highlight code .kc{color:#859900 !important;font-weight:bold !important}.pre-code .kd,html .gist .gist-file .gist-syntax .highlight pre .kd,.highlight code .kd{color:#268bd2 !important}.pre-code .kp,html .gist .gist-file .gist-syntax .highlight pre .kp,.highlight code .kp{color:#cb4b16 !important;font-weight:bold !important}.pre-code .kr,html .gist .gist-file .gist-syntax .highlight pre .kr,.highlight code .kr{color:#d33682 !important;font-weight:bold !important}.pre-code .kt,html .gist .gist-file .gist-syntax .highlight pre .kt,.highlight code .kt{color:#2aa198 !important}.pre-code .n,html .gist .gist-file .gist-syntax .highlight pre .n,.highlight code .n{color:#268bd2 !important}.pre-code .na,html .gist .gist-file .gist-syntax .highlight pre .na,.highlight code .na{color:#268bd2 !important}.pre-code .nb,html .gist .gist-file .gist-syntax .highlight pre .nb,.highlight code .nb{color:#859900 !important}.pre-code .nc,html .gist .gist-file .gist-syntax .highlight pre .nc,.highlight code .nc{color:#d33682 !important}.pre-code .no,html .gist .gist-file .gist-syntax .highlight pre .no,.highlight code .no{color:#b58900 !important}.pre-code .nl,html .gist .gist-file .gist-syntax .highlight pre .nl,.highlight code .nl{color:#859900 !important}.pre-code .ne,html .gist .gist-file .gist-syntax .highlight pre .ne,.highlight code .ne{color:#268bd2 !important;font-weight:bold !important}.pre-code .nf,html .gist .gist-file .gist-syntax .highlight pre .nf,.highlight code .nf{color:#268bd2 !important;font-weight:bold !important}.pre-code .nn,html .gist .gist-file .gist-syntax .highlight pre .nn,.highlight code .nn{color:#b58900 !important}.pre-code .nt,html .gist .gist-file .gist-syntax .highlight pre .nt,.highlight code .nt{color:#268bd2 !important;font-weight:bold !important}.pre-code .nx,html .gist .gist-file .gist-syntax .highlight pre .nx,.highlight code .nx{color:#b58900 !important}.pre-code .vg,html .gist .gist-file .gist-syntax .highlight pre .vg,.highlight code .vg{color:#268bd2 !important}.pre-code .vi,html .gist .gist-file .gist-syntax .highlight pre .vi,.highlight code .vi{color:#268bd2 !important}.pre-code .nv,html .gist .gist-file .gist-syntax .highlight pre .nv,.highlight code .nv{color:#268bd2 !important}.pre-code .mf,html .gist .gist-file .gist-syntax .highlight pre .mf,.highlight code .mf{color:#2aa198 !important}.pre-code .m,html .gist .gist-file .gist-syntax .highlight pre .m,.highlight code .m{color:#2aa198 !important}.pre-code .mh,html .gist .gist-file .gist-syntax .highlight pre .mh,.highlight code .mh{color:#2aa198 !important}.pre-code .mi,html .gist .gist-file .gist-syntax .highlight pre .mi,.highlight code .mi{color:#2aa198 !important}.pre-code .s,html .gist .gist-file .gist-syntax .highlight pre .s,.highlight code .s{color:#2aa198 !important}.pre-code .sd,html .gist .gist-file .gist-syntax .highlight pre .sd,.highlight code .sd{color:#2aa198 !important}.pre-code .s2,html .gist .gist-file .gist-syntax .highlight pre .s2,.highlight code .s2{color:#2aa198 !important}.pre-code .se,html .gist .gist-file .gist-syntax .highlight pre .se,.highlight code .se{color:#dc322f !important}.pre-code .si,html .gist .gist-file .gist-syntax .highlight pre .si,.highlight code .si{color:#268bd2 !important}.pre-code .sr,html .gist .gist-file .gist-syntax .highlight pre .sr,.highlight code .sr{color:#2aa198 !important}.pre-code .s1,html .gist .gist-file .gist-syntax .highlight pre .s1,.highlight code .s1{color:#2aa198 !important}.pre-code div .gd,html .gist .gist-file .gist-syntax .highlight pre div .gd,.highlight code div .gd,.pre-code div .gd .x,html .gist .gist-file .gist-syntax .highlight pre div .gd .x,.highlight code div .gd .x,.pre-code div .gi,html .gist .gist-file .gist-syntax .highlight pre div .gi,.highlight code div .gi,.pre-code div .gi .x,html .gist .gist-file .gist-syntax .highlight pre div .gi .x,.highlight code div .gi .x{display:inline-block;width:100%}.highlight,.gist-highlight{margin-bottom:1.8em;background:#002b36;overflow-y:hidden;overflow-x:auto}.highlight pre,.gist-highlight pre{background:none;-webkit-border-radius:0px;-moz-border-radius:0px;border-radius:0px;border:none;padding:0;margin-bottom:0}pre::-webkit-scrollbar,.highlight::-webkit-scrollbar,.gist-highlight::-webkit-scrollbar{height:.5em;background:rgba(255,255,255,0.15)}pre::-webkit-scrollbar-thumb:horizontal,.highlight::-webkit-scrollbar-thumb:horizontal,.gist-highlight::-webkit-scrollbar-thumb:horizontal{background:rgba(255,255,255,0.2);-webkit-border-radius:4px;border-radius:4px}.highlight code{background:#000}figure.code{background:none;padding:0;border:0;margin-bottom:1.5em}figure.code pre{margin-bottom:0}figure.code figcaption{position:relative}figure.code .highlight{margin-bottom:0}.code-title,html .gist .gist-file .gist-meta a[href*='#file'],h3.filename,figure.code figcaption{text-align:center;font-size:13px;line-height:2em;text-shadow:#cbcccc 0 1px 0;color:#474747;font-weight:normal;margin-bottom:0;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;font-family:"Helvetica Neue", Arial, "Lucida Grande", "Lucida Sans Unicode", Lucida, sans-serif;background:#aaa url('/images/code_bg.png?1419195603') top repeat-x;border:1px solid #565656;border-top-color:#cbcbcb;border-left-color:#a5a5a5;border-right-color:#a5a5a5;border-bottom:0}.download-source,html .gist .gist-file .gist-meta a[href*=raw],figure.code figcaption a{position:absolute;right:.8em;color:#666 !important;z-index:1;font-size:13px;text-shadow:#cbcccc 0 1px 0;padding-left:3em}@media only screen and (min-width: 1024px){.aside-module:first-child .title{margin-top:0}}.aside-module .title{border-bottom:1px solid #049cdb;color:#333;margin:1em 0 0.5em;padding-bottom:5px}.aside-module .title .btn{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:5px 10px;text-decoration:none}.aside-module .loading{display:block;font-size:2em;text-align:center}#github-repos li p{font-size:0.6em;margin-bottom:0}#pinboard .pin-item>p{margin-bottom:0}#pinboard .pin-item>p a:hover{text-decoration:underline}#pinboard .pin-item>p a::after{content:","}#pinboard .pin-item>p a:last-child::after{content:""}@media only screen and (min-width: 481px){.social ul{-webkit-column-count:2;-moz-column-count:2;column-count:2;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px}}.social a{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#e8e8e8;border:1px solid #dcdcdc;border-radius:4px;color:#222;display:inline-block;font-size:0.8em;margin-bottom:7px;padding:1em;padding-right:0.5em;position:relative;text-decoration:none;width:100%;z-index:5;-webkit-transition:box-shadow 200ms,color 400ms,transform 400ms;-moz-transition:box-shadow 200ms,color 400ms,transform 400ms;-o-transition:box-shadow 200ms,color 400ms,transform 400ms;transition:box-shadow 200ms,color 400ms,transform 400ms}.social a:hover{color:#fff !important;text-decoration:none;text-shadow:1px 1px 0 rgba(0,0,0,0.25);z-index:7}.social a:hover::before{border:1px solid #000;height:100%;top:0;width:100%}.social a::before{background-color:#222;border-radius:4px;content:"";height:1px;position:absolute;top:50%;left:0%;width:0;z-index:-1;-webkit-transition:border 200ms,height 200ms 200ms,top 200ms 200ms,width 200ms;-moz-transition:border 200ms,height 200ms 200ms,top 200ms 200ms,width 200ms;-o-transition:border 200ms,height 200ms 200ms,top 200ms 200ms,width 200ms;transition:border 200ms,height 200ms 200ms,top 200ms 200ms,width 200ms}.social a i{font-size:2em;line-height:0.8em;margin-right:0.35em}.social a.adn{color:#4a484c}.social a.adn::before{background-color:#4a484c;border-color:#3d3c3f}.social a.dribbble{color:#ea4c89}.social a.dribbble::before{background-color:#ea4c89;border-color:#e7357a}.social a.facebook{color:#3b5998}.social a.facebook::before{background-color:#3b5998;border-color:#344e86}.social a.github{color:#333}.social a.github::before{background-color:#333;border-color:#262626}.social a.gplus{color:#db4a39}.social a.gplus::before{background-color:#db4a39;border-color:#d43927}.social a.linkedin{color:#4875b4}.social a.linkedin::before{background-color:#4875b4;border-color:#4169a2}.social a.pinterest{color:#cc2127}.social a.pinterest::before{background-color:#cc2127;border-color:#b61d23}.social a.stackoverflow{color:#fe7a15}.social a.stackoverflow::before{background-color:#fe7a15;border-color:#f86c01}.social a.twitter{color:#00a0d1}.social a.twitter::before{background-color:#00a0d1;border-color:#008cb7}.social a.youtube{color:#cc181e}.social a.youtube::before{background-color:#cc181e;border-color:#b5151b}.usp{text-align:center}@media only screen and (min-width: 481px) and (max-width: 1023px){.usp{margin-bottom:25px}}.usp .icon i{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;border:10px solid #049cdb;color:#222;display:inline-block;font-size:6em;height:1.85em;line-height:normal;padding:0.3em;width:1.85em}.usp .title{color:#222;font-size:1.1em;line-height:3em;margin:0;text-align:center;text-transform:capitalize}.usp .title+hr{margin:0;margin-bottom:1em}.usp hr{margin-bottom:1em}.usp p{text-align:left}.hero{background-color:#0b6b94;background-position:0 50%;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;border-bottom:1px solid #fff;color:#fff;font-weight:bold;margin-top:-2em;margin-bottom:1.5em;padding:50px 0;position:relative}.hero>.grid-wrapper{position:relative;z-index:7}.hero .credit{font-size:0.75em;font-style:italic;position:absolute;bottom:0;right:10px;z-index:7}.hero .credit a{border-bottom:1px solid;color:#fff;text-decoration:none}.hero .credit .licence{border:none}.hero .avatar{text-align:center}@media only screen and (max-width: 1023px){.hero .avatar{margin-bottom:30px}}.hero .avatar img{-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;border:10px solid #049cdb}.hero h1{font-size:3.5em;line-height:1em;text-shadow:2px 2px 0 rgba(0,0,0,0.75)}.hero hr{box-shadow:1px 1px 0 rgba(0,0,0,0.75)}.hero p{text-shadow:1px 1px 0 rgba(0,0,0,0.75)}.hero p small{color:#eee;font-size:.65em}.pull-left{float:left}.pull-right{float:right}.clearfix,article blockquote{*zoom:1}.clearfix::before,article blockquote::before,.clearfix::after,article blockquote::after{display:table;content:"";line-height:0}.clearfix::after,article blockquote::after{clear:both}ul.unstyled,ul.inline,article ul.tags,ul.divided,ol.unstyled,ol.inline,article ol.tags,ol.divided{list-style-type:none;margin:0}ul.inline,article ul.tags,ol.inline,article ol.tags{list-style-type:none}ul.inline>li,article ul.tags>li,ol.inline>li,article ol.tags>li{display:inline}ul.divided>li,ol.divided>li{border-top:1px solid #fff;border-bottom:1px solid #e8e8e8;padding:0.5em 0}ul.divided>li:first-child,ol.divided>li:first-child{border-top:none;padding-top:0}ul.divided>li:last-child,ol.divided>li:last-child{border-bottom:none}.btn{background-color:#0494d1;background-image:-moz-linear-gradient(top, #049cdb, #048ac2);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#049cdb), to(#048ac2));background-image:-webkit-linear-gradient(top, #049cdb, #048ac2);background-image:-o-linear-gradient(top, #049cdb, #048ac2);background-image:linear-gradient(to bottom, #049cdb,#048ac2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF049CDB', endColorstr='#FF048AC2', GradientType=0);-webkit-box-shadow:0 0 3px rgba(0,0,0,0.25);-moz-box-shadow:0 0 3px rgba(0,0,0,0.25);-ms-box-shadow:0 0 3px rgba(0,0,0,0.25);-o-box-shadow:0 0 3px rgba(0,0,0,0.25);box-shadow:0 0 3px rgba(0,0,0,0.25);border-radius:3px;color:#fff;display:inline-block;padding:7px 15px;text-decoration:none;text-shadow:1px 1px 0 rgba(0,0,0,0.25)}.btn:hover{text-decoration:underline}.btn:visited{color:#fff}.grid{letter-spacing:-1rem}.opera:-o-prefocus,.grid{word-spacing:-1rem}.grid__item{letter-spacing:normal;word-spacing:normal}@media only screen and (min-width: 481px){.flex{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-moz-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-box-align:start;-moz-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.flex__item{-webkit-box-ordinal-group:1;-moz-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0;-webkit-box-flex:0;-moz-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}}.supported-brands{text-align:center}.supported-brands img{border:none !important;box-shadow:none !important;max-height:50px;max-width:200px;margin:10px}.brand{border:none !important;box-shadow:none !important;max-height:50px;max-width:200px;margin:10px}.brand.overview{max-width:100px}h1:hover a.title-link,h2:hover a.title-link,h3:hover a.title-link,h4:hover a.title-link,h5:hover a.title-link,h6:hover a.title-link{position:relative}h1:hover a.title-link::before,h2:hover a.title-link::before,h3:hover a.title-link::before,h4:hover a.title-link::before,h5:hover a.title-link::before,h6:hover a.title-link::before{position:absolute;left:-50px;padding-right:40px;font-family:"FontAwesome";content:"\f0c1"}.ha-title{white-space:nowrap}.ha-title img{width:40px;vertical-align:middle}.usp ul{text-align:left;margin-left:27px;margin-top:-18px}.usp .icon i{border:none !important}.hero-buttons a{margin:0 30px 10px 0}.hero-buttons a:last-child{margin:0}article.post img,article.post table,article.page img,article.page table,article.listing img,article.listing table{border-radius:3px;box-shadow:rgba(0,0,0,0.06) 0 0 10px}article.post img.no-shadow,article.page img.no-shadow,article.listing img.no-shadow{border:0;box-shadow:none}article.post>table,article.page>table,article.listing>table{background-color:#F3FCF5}article.post p.img,article.page p.img,article.listing p.img{background-color:#FFF;border-radius:5px;text-align:center;padding-bottom:3px;font-size:.9rem;box-shadow:rgba(0,0,0,0.06) 0 0 10px}article.post p.img img,article.page p.img img,article.listing p.img img{display:block;box-shadow:none;margin:0 auto}article.post li,article.page li,article.listing li{margin-bottom:10px}article.post li>p,article.page li>p,article.listing li>p{margin-bottom:0}article.post li:last-child,article.page li:last-child,article.listing li:last-child{margin-bottom:0}p.note{position:relative;background:#e7f2fa;padding:40px 12px 6px 12px;box-shadow:rgba(0,0,0,0.06) 0 0 10px}p.note::before{font-family:"FontAwesome";content:"\f05a" " Note " attr(data-title);background-color:#6ab0de;color:white;font-weight:bold;border-top-left-radius:3px;border-top-right-radius:3px;padding:6px 14px;line-height:1.5em;position:absolute;top:0;left:0;right:0}p.note.warning{background-color:#F7F9E1}p.note.warning::before{background-color:#bbb90d;content:"\f071" " Warning " attr(data-title)}.install-instructions-container #normal-install,.install-instructions-container #raspberry-install,.install-instructions-container #docker-install,.install-instructions-container .install-instructions{display:none}.install-instructions-container label.menu-selector{display:inline-block;text-align:center;padding:20px;white-space:nowrap;border-bottom:5px solid #999;transition:border-bottom-color .5s}.install-instructions-container label.menu-selector+label.menu-selector{margin-left:10px}.install-instructions-container #normal-install:checked ~ .menu-selector.normal,.install-instructions-container #raspberry-install:checked ~ .menu-selector.raspberry,.install-instructions-container #docker-install:checked ~ .menu-selector.docker{border-bottom-color:#049cdb}.install-instructions-container #normal-install:checked ~ .install-instructions.normal,.install-instructions-container #raspberry-install:checked ~ .install-instructions.raspberry,.install-instructions-container #docker-install:checked ~ .install-instructions.docker{display:block}.install-instructions-container .install-instructions{margin-top:30px}.prep-instructions-container #generic-prep,.prep-instructions-container #fedora-prep,.prep-instructions-container #centos-prep,.prep-instructions-container .prep-instructions{display:none}.prep-instructions-container label.menu-selector{display:inline-block;text-align:center;padding:10px;white-space:nowrap;border-bottom:2px solid #999;transition:border-bottom-color .5s}.prep-instructions-container label.menu-selector+label.menu-selector{margin-left:10px}.prep-instructions-container #generic-prep:checked ~ .menu-selector.generic,.prep-instructions-container #fedora-prep:checked ~ .menu-selector.fedora,.prep-instructions-container #centos-prep:checked ~ .menu-selector.centos{border-bottom-color:#049cdb}.prep-instructions-container #generic-prep:checked ~ .prep-instructions.generic,.prep-instructions-container #fedora-prep:checked ~ .prep-instructions.fedora,.prep-instructions-container #centos-prep:checked ~ .prep-instructions.centos{display:block}.prep-instructions-container .prep-instructions{margin-top:20px}.post-instructions-container #generic-post,.post-instructions-container #fedora-post,.post-instructions-container #debian-post,.post-instructions-container .post-instructions{display:none}.post-instructions-container label.menu-selector{display:inline-block;text-align:center;padding:10px;white-space:nowrap;border-bottom:2px solid #999;transition:border-bottom-color .5s}.post-instructions-container label.menu-selector+label.menu-selector{margin-left:10px}.post-instructions-container #generic-post:checked ~ .menu-selector.generic-post,.post-instructions-container #fedora-post:checked ~ .menu-selector.fedora-post,.post-instructions-container #debian-post:checked ~ .menu-selector.debian-post{border-bottom-color:#049cdb}.post-instructions-container #generic-post:checked ~ .post-instructions.generic-post,.post-instructions-container #fedora-post:checked ~ .post-instructions.fedora-post,.post-instructions-container #debian-post:checked ~ .post-instructions.debian-post{display:block}.post-instructions-container .post-instructions{margin-top:20px} + */@font-face{font-family:'FontAwesome';src:url("../font/fontawesome-webfont.eot?v=3.2.1");src:url("../font/fontawesome-webfont.eot?#iefix&v=3.2.1") format("embedded-opentype"),url("../font/fontawesome-webfont.woff?v=3.2.1") format("woff"),url("../font/fontawesome-webfont.ttf?v=3.2.1") format("truetype"),url("../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1") format("svg");font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em}[class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none}.icon-large:before{vertical-align:-10%;font-size:1.33333em}a [class^="icon-"],a [class*=" icon-"]{display:inline}[class^="icon-"].icon-fixed-width,[class*=" icon-"].icon-fixed-width{display:inline-block;width:1.14286em;text-align:right;padding-right:0.28571em}[class^="icon-"].icon-fixed-width.icon-large,[class*=" icon-"].icon-fixed-width.icon-large{width:1.42857em}.icons-ul{margin-left:2.14286em;list-style-type:none}.icons-ul>li{position:relative}.icons-ul .icon-li{position:absolute;left:-2.14286em;width:2.14286em;text-align:center;line-height:inherit}[class^="icon-"].hide,[class*=" icon-"].hide{display:none}.icon-muted{color:#eee}.icon-light{color:#fff}.icon-dark{color:#333}.icon-border{border:solid 1px #eee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.icon-2x{font-size:2em}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.icon-3x{font-size:3em}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.icon-4x{font-size:4em}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.icon-5x{font-size:5em}.icon-5x.icon-border{border-width:5px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.pull-right{float:right}.pull-left{float:left}[class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em}[class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em}.icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:-35%}.icon-stack [class^="icon-"],.icon-stack [class*=" icon-"]{display:block;text-align:center;position:absolute;width:100%;height:100%;font-size:1em;line-height:inherit;*line-height:2em}.icon-stack .icon-stack-base{font-size:2em;*line-height:1em}.icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear}a .icon-stack,a .icon-spin{display:inline-block;text-decoration:none}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.icon-rotate-90:before{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1)}.icon-rotate-180:before{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2)}.icon-rotate-270:before{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3)}.icon-flip-horizontal:before{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.icon-flip-vertical:before{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}a .icon-rotate-90:before,a .icon-rotate-180:before,a .icon-rotate-270:before,a .icon-flip-horizontal:before,a .icon-flip-vertical:before{display:inline-block}.icon-glass:before{content:"\f000"}.icon-music:before{content:"\f001"}.icon-search:before{content:"\f002"}.icon-envelope-alt:before{content:"\f003"}.icon-heart:before{content:"\f004"}.icon-star:before{content:"\f005"}.icon-star-empty:before{content:"\f006"}.icon-user:before{content:"\f007"}.icon-film:before{content:"\f008"}.icon-th-large:before{content:"\f009"}.icon-th:before{content:"\f00a"}.icon-th-list:before{content:"\f00b"}.icon-ok:before{content:"\f00c"}.icon-remove:before{content:"\f00d"}.icon-zoom-in:before{content:"\f00e"}.icon-zoom-out:before{content:"\f010"}.icon-power-off:before,.icon-off:before{content:"\f011"}.icon-signal:before{content:"\f012"}.icon-gear:before,.icon-cog:before{content:"\f013"}.icon-trash:before{content:"\f014"}.icon-home:before{content:"\f015"}.icon-file-alt:before{content:"\f016"}.icon-time:before{content:"\f017"}.icon-road:before{content:"\f018"}.icon-download-alt:before{content:"\f019"}.icon-download:before{content:"\f01a"}.icon-upload:before{content:"\f01b"}.icon-inbox:before{content:"\f01c"}.icon-play-circle:before{content:"\f01d"}.icon-rotate-right:before,.icon-repeat:before{content:"\f01e"}.icon-refresh:before{content:"\f021"}.icon-list-alt:before{content:"\f022"}.icon-lock:before{content:"\f023"}.icon-flag:before{content:"\f024"}.icon-headphones:before{content:"\f025"}.icon-volume-off:before{content:"\f026"}.icon-volume-down:before{content:"\f027"}.icon-volume-up:before{content:"\f028"}.icon-qrcode:before{content:"\f029"}.icon-barcode:before{content:"\f02a"}.icon-tag:before{content:"\f02b"}.icon-tags:before{content:"\f02c"}.icon-book:before{content:"\f02d"}.icon-bookmark:before{content:"\f02e"}.icon-print:before{content:"\f02f"}.icon-camera:before{content:"\f030"}.icon-font:before{content:"\f031"}.icon-bold:before{content:"\f032"}.icon-italic:before{content:"\f033"}.icon-text-height:before{content:"\f034"}.icon-text-width:before{content:"\f035"}.icon-align-left:before{content:"\f036"}.icon-align-center:before{content:"\f037"}.icon-align-right:before{content:"\f038"}.icon-align-justify:before{content:"\f039"}.icon-list:before{content:"\f03a"}.icon-indent-left:before{content:"\f03b"}.icon-indent-right:before{content:"\f03c"}.icon-facetime-video:before{content:"\f03d"}.icon-picture:before{content:"\f03e"}.icon-pencil:before{content:"\f040"}.icon-map-marker:before{content:"\f041"}.icon-adjust:before{content:"\f042"}.icon-tint:before{content:"\f043"}.icon-edit:before{content:"\f044"}.icon-share:before{content:"\f045"}.icon-check:before{content:"\f046"}.icon-move:before{content:"\f047"}.icon-step-backward:before{content:"\f048"}.icon-fast-backward:before{content:"\f049"}.icon-backward:before{content:"\f04a"}.icon-play:before{content:"\f04b"}.icon-pause:before{content:"\f04c"}.icon-stop:before{content:"\f04d"}.icon-forward:before{content:"\f04e"}.icon-fast-forward:before{content:"\f050"}.icon-step-forward:before{content:"\f051"}.icon-eject:before{content:"\f052"}.icon-chevron-left:before{content:"\f053"}.icon-chevron-right:before{content:"\f054"}.icon-plus-sign:before{content:"\f055"}.icon-minus-sign:before{content:"\f056"}.icon-remove-sign:before{content:"\f057"}.icon-ok-sign:before{content:"\f058"}.icon-question-sign:before{content:"\f059"}.icon-info-sign:before{content:"\f05a"}.icon-screenshot:before{content:"\f05b"}.icon-remove-circle:before{content:"\f05c"}.icon-ok-circle:before{content:"\f05d"}.icon-ban-circle:before{content:"\f05e"}.icon-arrow-left:before{content:"\f060"}.icon-arrow-right:before{content:"\f061"}.icon-arrow-up:before{content:"\f062"}.icon-arrow-down:before{content:"\f063"}.icon-mail-forward:before,.icon-share-alt:before{content:"\f064"}.icon-resize-full:before{content:"\f065"}.icon-resize-small:before{content:"\f066"}.icon-plus:before{content:"\f067"}.icon-minus:before{content:"\f068"}.icon-asterisk:before{content:"\f069"}.icon-exclamation-sign:before{content:"\f06a"}.icon-gift:before{content:"\f06b"}.icon-leaf:before{content:"\f06c"}.icon-fire:before{content:"\f06d"}.icon-eye-open:before{content:"\f06e"}.icon-eye-close:before{content:"\f070"}.icon-warning-sign:before{content:"\f071"}.icon-plane:before{content:"\f072"}.icon-calendar:before{content:"\f073"}.icon-random:before{content:"\f074"}.icon-comment:before{content:"\f075"}.icon-magnet:before{content:"\f076"}.icon-chevron-up:before{content:"\f077"}.icon-chevron-down:before{content:"\f078"}.icon-retweet:before{content:"\f079"}.icon-shopping-cart:before{content:"\f07a"}.icon-folder-close:before{content:"\f07b"}.icon-folder-open:before{content:"\f07c"}.icon-resize-vertical:before{content:"\f07d"}.icon-resize-horizontal:before{content:"\f07e"}.icon-bar-chart:before{content:"\f080"}.icon-twitter-sign:before{content:"\f081"}.icon-facebook-sign:before{content:"\f082"}.icon-camera-retro:before{content:"\f083"}.icon-key:before{content:"\f084"}.icon-gears:before,.icon-cogs:before{content:"\f085"}.icon-comments:before{content:"\f086"}.icon-thumbs-up-alt:before{content:"\f087"}.icon-thumbs-down-alt:before{content:"\f088"}.icon-star-half:before{content:"\f089"}.icon-heart-empty:before{content:"\f08a"}.icon-signout:before{content:"\f08b"}.icon-linkedin-sign:before{content:"\f08c"}.icon-pushpin:before{content:"\f08d"}.icon-external-link:before{content:"\f08e"}.icon-signin:before{content:"\f090"}.icon-trophy:before{content:"\f091"}.icon-github-sign:before{content:"\f092"}.icon-upload-alt:before{content:"\f093"}.icon-lemon:before{content:"\f094"}.icon-phone:before{content:"\f095"}.icon-unchecked:before,.icon-check-empty:before{content:"\f096"}.icon-bookmark-empty:before{content:"\f097"}.icon-phone-sign:before{content:"\f098"}.icon-twitter:before{content:"\f099"}.icon-facebook:before{content:"\f09a"}.icon-github:before{content:"\f09b"}.icon-unlock:before{content:"\f09c"}.icon-credit-card:before{content:"\f09d"}.icon-rss:before{content:"\f09e"}.icon-hdd:before{content:"\f0a0"}.icon-bullhorn:before{content:"\f0a1"}.icon-bell:before{content:"\f0a2"}.icon-certificate:before{content:"\f0a3"}.icon-hand-right:before{content:"\f0a4"}.icon-hand-left:before{content:"\f0a5"}.icon-hand-up:before{content:"\f0a6"}.icon-hand-down:before{content:"\f0a7"}.icon-circle-arrow-left:before{content:"\f0a8"}.icon-circle-arrow-right:before{content:"\f0a9"}.icon-circle-arrow-up:before{content:"\f0aa"}.icon-circle-arrow-down:before{content:"\f0ab"}.icon-globe:before{content:"\f0ac"}.icon-wrench:before{content:"\f0ad"}.icon-tasks:before{content:"\f0ae"}.icon-filter:before{content:"\f0b0"}.icon-briefcase:before{content:"\f0b1"}.icon-fullscreen:before{content:"\f0b2"}.icon-group:before{content:"\f0c0"}.icon-link:before{content:"\f0c1"}.icon-cloud:before{content:"\f0c2"}.icon-beaker:before{content:"\f0c3"}.icon-cut:before{content:"\f0c4"}.icon-copy:before{content:"\f0c5"}.icon-paperclip:before,.icon-paper-clip:before{content:"\f0c6"}.icon-save:before{content:"\f0c7"}.icon-sign-blank:before{content:"\f0c8"}.icon-reorder:before{content:"\f0c9"}.icon-list-ul:before{content:"\f0ca"}.icon-list-ol:before{content:"\f0cb"}.icon-strikethrough:before{content:"\f0cc"}.icon-underline:before{content:"\f0cd"}.icon-table:before{content:"\f0ce"}.icon-magic:before{content:"\f0d0"}.icon-truck:before{content:"\f0d1"}.icon-pinterest:before{content:"\f0d2"}.icon-pinterest-sign:before{content:"\f0d3"}.icon-google-plus-sign:before{content:"\f0d4"}.icon-google-plus:before{content:"\f0d5"}.icon-money:before{content:"\f0d6"}.icon-caret-down:before{content:"\f0d7"}.icon-caret-up:before{content:"\f0d8"}.icon-caret-left:before{content:"\f0d9"}.icon-caret-right:before{content:"\f0da"}.icon-columns:before{content:"\f0db"}.icon-sort:before{content:"\f0dc"}.icon-sort-down:before{content:"\f0dd"}.icon-sort-up:before{content:"\f0de"}.icon-envelope:before{content:"\f0e0"}.icon-linkedin:before{content:"\f0e1"}.icon-rotate-left:before,.icon-undo:before{content:"\f0e2"}.icon-legal:before{content:"\f0e3"}.icon-dashboard:before{content:"\f0e4"}.icon-comment-alt:before{content:"\f0e5"}.icon-comments-alt:before{content:"\f0e6"}.icon-bolt:before{content:"\f0e7"}.icon-sitemap:before{content:"\f0e8"}.icon-umbrella:before{content:"\f0e9"}.icon-paste:before{content:"\f0ea"}.icon-lightbulb:before{content:"\f0eb"}.icon-exchange:before{content:"\f0ec"}.icon-cloud-download:before{content:"\f0ed"}.icon-cloud-upload:before{content:"\f0ee"}.icon-user-md:before{content:"\f0f0"}.icon-stethoscope:before{content:"\f0f1"}.icon-suitcase:before{content:"\f0f2"}.icon-bell-alt:before{content:"\f0f3"}.icon-coffee:before{content:"\f0f4"}.icon-food:before{content:"\f0f5"}.icon-file-text-alt:before{content:"\f0f6"}.icon-building:before{content:"\f0f7"}.icon-hospital:before{content:"\f0f8"}.icon-ambulance:before{content:"\f0f9"}.icon-medkit:before{content:"\f0fa"}.icon-fighter-jet:before{content:"\f0fb"}.icon-beer:before{content:"\f0fc"}.icon-h-sign:before{content:"\f0fd"}.icon-plus-sign-alt:before{content:"\f0fe"}.icon-double-angle-left:before{content:"\f100"}.icon-double-angle-right:before{content:"\f101"}.icon-double-angle-up:before{content:"\f102"}.icon-double-angle-down:before{content:"\f103"}.icon-angle-left:before{content:"\f104"}.icon-angle-right:before{content:"\f105"}.icon-angle-up:before{content:"\f106"}.icon-angle-down:before{content:"\f107"}.icon-desktop:before{content:"\f108"}.icon-laptop:before{content:"\f109"}.icon-tablet:before{content:"\f10a"}.icon-mobile-phone:before{content:"\f10b"}.icon-circle-blank:before{content:"\f10c"}.icon-quote-left:before{content:"\f10d"}.icon-quote-right:before{content:"\f10e"}.icon-spinner:before{content:"\f110"}.icon-circle:before{content:"\f111"}.icon-mail-reply:before,.icon-reply:before{content:"\f112"}.icon-github-alt:before{content:"\f113"}.icon-folder-close-alt:before{content:"\f114"}.icon-folder-open-alt:before{content:"\f115"}.icon-expand-alt:before{content:"\f116"}.icon-collapse-alt:before{content:"\f117"}.icon-smile:before{content:"\f118"}.icon-frown:before{content:"\f119"}.icon-meh:before{content:"\f11a"}.icon-gamepad:before{content:"\f11b"}.icon-keyboard:before{content:"\f11c"}.icon-flag-alt:before{content:"\f11d"}.icon-flag-checkered:before{content:"\f11e"}.icon-terminal:before{content:"\f120"}.icon-code:before{content:"\f121"}.icon-reply-all:before{content:"\f122"}.icon-mail-reply-all:before{content:"\f122"}.icon-star-half-full:before,.icon-star-half-empty:before{content:"\f123"}.icon-location-arrow:before{content:"\f124"}.icon-crop:before{content:"\f125"}.icon-code-fork:before{content:"\f126"}.icon-unlink:before{content:"\f127"}.icon-question:before{content:"\f128"}.icon-info:before{content:"\f129"}.icon-exclamation:before{content:"\f12a"}.icon-superscript:before{content:"\f12b"}.icon-subscript:before{content:"\f12c"}.icon-eraser:before{content:"\f12d"}.icon-puzzle-piece:before{content:"\f12e"}.icon-microphone:before{content:"\f130"}.icon-microphone-off:before{content:"\f131"}.icon-shield:before{content:"\f132"}.icon-calendar-empty:before{content:"\f133"}.icon-fire-extinguisher:before{content:"\f134"}.icon-rocket:before{content:"\f135"}.icon-maxcdn:before{content:"\f136"}.icon-chevron-sign-left:before{content:"\f137"}.icon-chevron-sign-right:before{content:"\f138"}.icon-chevron-sign-up:before{content:"\f139"}.icon-chevron-sign-down:before{content:"\f13a"}.icon-html5:before{content:"\f13b"}.icon-css3:before{content:"\f13c"}.icon-anchor:before{content:"\f13d"}.icon-unlock-alt:before{content:"\f13e"}.icon-bullseye:before{content:"\f140"}.icon-ellipsis-horizontal:before{content:"\f141"}.icon-ellipsis-vertical:before{content:"\f142"}.icon-rss-sign:before{content:"\f143"}.icon-play-sign:before{content:"\f144"}.icon-ticket:before{content:"\f145"}.icon-minus-sign-alt:before{content:"\f146"}.icon-check-minus:before{content:"\f147"}.icon-level-up:before{content:"\f148"}.icon-level-down:before{content:"\f149"}.icon-check-sign:before{content:"\f14a"}.icon-edit-sign:before{content:"\f14b"}.icon-external-link-sign:before{content:"\f14c"}.icon-share-sign:before{content:"\f14d"}.icon-compass:before{content:"\f14e"}.icon-collapse:before{content:"\f150"}.icon-collapse-top:before{content:"\f151"}.icon-expand:before{content:"\f152"}.icon-euro:before,.icon-eur:before{content:"\f153"}.icon-gbp:before{content:"\f154"}.icon-dollar:before,.icon-usd:before{content:"\f155"}.icon-rupee:before,.icon-inr:before{content:"\f156"}.icon-yen:before,.icon-jpy:before{content:"\f157"}.icon-renminbi:before,.icon-cny:before{content:"\f158"}.icon-won:before,.icon-krw:before{content:"\f159"}.icon-bitcoin:before,.icon-btc:before{content:"\f15a"}.icon-file:before{content:"\f15b"}.icon-file-text:before{content:"\f15c"}.icon-sort-by-alphabet:before{content:"\f15d"}.icon-sort-by-alphabet-alt:before{content:"\f15e"}.icon-sort-by-attributes:before{content:"\f160"}.icon-sort-by-attributes-alt:before{content:"\f161"}.icon-sort-by-order:before{content:"\f162"}.icon-sort-by-order-alt:before{content:"\f163"}.icon-thumbs-up:before{content:"\f164"}.icon-thumbs-down:before{content:"\f165"}.icon-youtube-sign:before{content:"\f166"}.icon-youtube:before{content:"\f167"}.icon-xing:before{content:"\f168"}.icon-xing-sign:before{content:"\f169"}.icon-youtube-play:before{content:"\f16a"}.icon-dropbox:before{content:"\f16b"}.icon-stackexchange:before{content:"\f16c"}.icon-instagram:before{content:"\f16d"}.icon-flickr:before{content:"\f16e"}.icon-adn:before{content:"\f170"}.icon-bitbucket:before{content:"\f171"}.icon-bitbucket-sign:before{content:"\f172"}.icon-tumblr:before{content:"\f173"}.icon-tumblr-sign:before{content:"\f174"}.icon-long-arrow-down:before{content:"\f175"}.icon-long-arrow-up:before{content:"\f176"}.icon-long-arrow-left:before{content:"\f177"}.icon-long-arrow-right:before{content:"\f178"}.icon-apple:before{content:"\f179"}.icon-windows:before{content:"\f17a"}.icon-android:before{content:"\f17b"}.icon-linux:before{content:"\f17c"}.icon-dribbble:before{content:"\f17d"}.icon-skype:before{content:"\f17e"}.icon-foursquare:before{content:"\f180"}.icon-trello:before{content:"\f181"}.icon-female:before{content:"\f182"}.icon-male:before{content:"\f183"}.icon-gittip:before{content:"\f184"}.icon-sun:before{content:"\f185"}.icon-moon:before{content:"\f186"}.icon-archive:before{content:"\f187"}.icon-bug:before{content:"\f188"}.icon-vk:before{content:"\f189"}.icon-weibo:before{content:"\f18a"}.icon-renren:before{content:"\f18b"}body,html{background-color:#f5f5f5;color:#222;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;height:100%}a{color:#049cdb;text-decoration:none}a:visited{color:#0378a9}.menu a{color:#049cdb}.gist{font-size:0.75em}@media only screen and (max-width: 480px){.title.indent::before{display:none}}.title.indent::before{content:"// ";color:#049cdb}.divider,.usp hr,.hero hr{border:none;border-bottom:2px solid #049cdb;clear:both;margin:2em 0}article.post img,article.page img,article.listing img{border:5px solid #fff;border-radius:3px;box-shadow:0 0 3px rgba(0,0,0,0.25)}article.post img.right,article.page img.right,article.listing img.right{float:right;margin:0 0 10px 20px}article.post img.left,article.page img.left,article.listing img.left{float:left;margin:0 20px 10px 0}.grid-wrapper{margin:auto;max-width:1100px;padding:0 25px}.grid-center{text-align:center}.grid-center>.grid__item{text-align:left}body>header{-webkit-box-shadow:0 0 3px rgba(0,0,0,0.25);-moz-box-shadow:0 0 3px rgba(0,0,0,0.25);-ms-box-shadow:0 0 3px rgba(0,0,0,0.25);-o-box-shadow:0 0 3px rgba(0,0,0,0.25);box-shadow:0 0 3px rgba(0,0,0,0.25);background-color:#fff;margin-bottom:2em}body>header .site-title{color:#222;font-size:1.7em;font-weight:bold;line-height:2.5em}body{-webkit-animation:bugfix infinite 1s}@-webkit-keyframes bugfix{from{padding:0}to{padding:0}}.header{position:relative}#toggle,.toggle{display:none}.menu li{list-style:none;float:left}@media only screen and (max-width: 790px){.menu{display:none;opacity:0;width:100%;position:absolute;right:0}.menu li{display:block;width:100%;margin:0}.menu li a{display:block;width:100%;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.toggle{display:block;position:relative;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#toggle:checked ~ .menu{display:block;opacity:1;z-index:999}}ul.menu li{position:relative}ul.menu li:hover ul{display:block}ul.menu li ul{display:none;z-index:10;position:absolute;top:68px;margin-left:0;background-color:white}ul.menu li ul li{white-space:nowrap;float:none}ul.menu li ul li a{display:block;padding:20px 10px}ul.menu li ul li a:hover,ul.menu li ul li a:focus{background:#eee}header .grid{height:68px}.menu{margin:0;top:68px}.menu li a{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all 0.25s linear;-moz-transition:all 0.25s linear;-o-transition:all 0.25s linear;transition:all 0.25s linear;display:block;padding:32px 20px;text-decoration:none;font-weight:normal;font-size:16px;line-height:1}.menu>li>a:hover,.menu>li>a:focus{background:#f5f5f5;box-shadow:inset 0px 5px #049cdb;color:#049cdb;padding:40px 20px 24px}.toggle{z-index:20}@media only screen and (max-width: 790px){.menu{background:#fff;border-top:1px solid #049cdb;border-bottom:4px solid #049cdb}.menu,.menu li,.menu li a{height:auto}.menu li a{padding:15px 15px !important}.menu li a:hover,.menu li a:focus{background:#eee;box-shadow:inset 5px 0px #049cdb;padding:15px 15px 15px 25px}.toggle{position:absolute;top:17px;right:10px}.toggle::after{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all 0.5s linear;-moz-transition:all 0.5s linear;-o-transition:all 0.5s linear;transition:all 0.5s linear;font-family:"FontAwesome";content:"\f0c9";display:inline-block;width:100%;padding:10px 15px;background:#049cdb;text-align:center;font-size:12px;color:#fff;white-space:nowrap}.toggle:hover::after{background:#0383b8}#toggle:checked+.toggle::after{content:attr(data-close)}ul.menu li ul{display:block;position:relative;top:0}}#page-wrap{min-height:100%;margin-bottom:-100px}#page-wrap::after{content:"";display:block;height:100px}body>footer{-webkit-box-shadow:0 0 3px rgba(0,0,0,0.25);-moz-box-shadow:0 0 3px rgba(0,0,0,0.25);-ms-box-shadow:0 0 3px rgba(0,0,0,0.25);-o-box-shadow:0 0 3px rgba(0,0,0,0.25);box-shadow:0 0 3px rgba(0,0,0,0.25);background-color:#fff;margin-top:3em}.copyright{margin:0;padding:20px 0;text-align:center}article blockquote{border-left:2px solid #049cdb;color:#484848;font-family:Georgia,"Times New Roman",Times,serif;font-size:1.25em;font-style:italic;padding-left:15px}article blockquote footer{float:right;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:0.8em}article blockquote footer strong::after{content:" \2014 "}article blockquote footer a{text-decoration:underline}article .pullquote-left::before,article .pullquote-right::before{border:medium none;color:#049cdb;content:"\201C" attr(data-pullquote) "\201D";float:right;font-family:Georgia,"Times New Roman",Times,serif;font-size:1.4em;font-style:italic;line-height:1.45em;margin:0.3em 0 1em 1.5em;padding:0;position:relative;top:7px;width:45%}@media only screen and (max-width: 480px){article .pullquote-left::before,article .pullquote-right::before{border-top:1px dotted #049cdb;border-bottom:1px dotted #049cdb;padding:0 10px;width:100%}}article .tags{display:inline}article .tags li{margin-right:2px}article .tags li::after{content:","}article .tags li:last-child::after{content:""}article .tags li a{color:#555;text-decoration:none}article .tags li a:hover{text-decoration:underline}article .meta{font-size:12px;padding:0 0 5px}article .meta>*{margin-right:15px;white-space:nowrap}article .meta>*:last-child{margin-right:0}article .meta .comments::before{content:"\f075";font-family:"FontAwesome";padding-right:3px}article.listing{margin-bottom:20px}article.listing h1{margin-bottom:0}article.listing h1 a{color:#049cdb;text-decoration:none}article.listing .entry-content{margin:10px 0}article.listing+hr{border:none;border-bottom:1px solid #049cdb}@media only screen and (max-width: 480px){article.post .tags{clear:both;margin-top:7px}}article.post h1{margin-bottom:0}article.post .meta{border-bottom:1px solid #049cdb;margin-bottom:20px}#archive-list article h1{margin-bottom:0}.sans,html .gist .gist-file .gist-meta{font-family:"Helvetica Neue",Arial,sans-serif}.mono,pre,p code,li code{font-family:Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace}.highlight table{margin-bottom:0}.highlight .gutter,.highlight .code{padding:0}.highlight .gutter .line-number{display:block}.highlight,html .gist .gist-file .gist-syntax .gist-highlight{border:1px solid #05232b !important}.highlight table td.code,html .gist .gist-file .gist-syntax .gist-highlight table td.code{width:100%}.highlight .line-numbers,html .gist .gist-file .gist-syntax .highlight .line_numbers{text-align:right;font-size:13px;line-height:1.45em;background:#073642 url('/images/noise.png?1419195603') top left !important;border-right:1px solid #00232c !important;-webkit-box-shadow:#083e4b -1px 0 inset;-moz-box-shadow:#083e4b -1px 0 inset;-ms-box-shadow:#083e4b -1px 0 inset;-o-box-shadow:#083e4b -1px 0 inset;box-shadow:#083e4b -1px 0 inset;text-shadow:#021014 0 -1px;padding:.8em !important;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.highlight .line-numbers span,html .gist .gist-file .gist-syntax .highlight .line_numbers span{color:#586e75 !important}figure.code,.gist-file,pre{-webkit-box-shadow:rgba(0,0,0,0.06) 0 0 10px;-moz-box-shadow:rgba(0,0,0,0.06) 0 0 10px;-ms-box-shadow:rgba(0,0,0,0.06) 0 0 10px;-o-box-shadow:rgba(0,0,0,0.06) 0 0 10px;box-shadow:rgba(0,0,0,0.06) 0 0 10px}figure.code .highlight pre,.gist-file .highlight pre,pre .highlight pre{-webkit-box-shadow:none;-moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;box-shadow:none}.gist .highlight *::-moz-selection,figure.code .highlight *::-moz-selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}.gist .highlight *::-webkit-selection,figure.code .highlight *::-webkit-selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}.gist .highlight *::selection,figure.code .highlight *::selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}html .gist .gist-file{margin-bottom:1.8em;position:relative;border:none;padding-top:26px !important}html .gist .gist-file .highlight{margin-bottom:0}html .gist .gist-file .gist-syntax{border-bottom:0 !important;background:none !important}html .gist .gist-file .gist-syntax .gist-highlight{background:#002b36 !important}html .gist .gist-file .gist-syntax .highlight pre{padding:0}html .gist .gist-file .gist-meta{padding:.6em 0.8em;border:1px solid #083e4b !important;color:#586e75;font-size:.7em !important;background:#073642 url('/images/noise.png?1419195603') top left;line-height:1.5em}html .gist .gist-file .gist-meta a{color:#75878b !important}html .gist .gist-file .gist-meta a:hover{color:#93a1a1 !important}html .gist .gist-file .gist-meta a[href*='#file']{position:absolute;top:0;left:0;right:-10px;color:#474747 !important}html .gist .gist-file .gist-meta a[href*='#file']:hover{color:#049cdb !important}html .gist .gist-file .gist-meta a[href*=raw]{top:.4em}pre{background:#002b36 url('/images/noise.png?1419195603') top left;-webkit-border-radius:0.4em;-moz-border-radius:0.4em;border-radius:0.4em;border:1px solid #05232b;line-height:1.45em;font-size:13px;margin-bottom:2.1em;padding:.8em 1em;color:#93a1a1;overflow:auto}h3.filename+pre{-webkit-border-radius:0px;-moz-border-radius:0px;border-radius:0px}p code,li code{display:inline-block;white-space:no-wrap;background:#fff;font-size:.8em;line-height:1.5em;color:#555;border:1px solid #ddd;-webkit-border-radius:0.4em;-moz-border-radius:0.4em;border-radius:0.4em;padding:0 .3em;margin:-1px 0}p pre code,li pre code{font-size:1em !important;background:none;border:none}.pre-code,html .gist .gist-file .gist-syntax .highlight pre,.highlight code{font-family:Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace !important;overflow:scroll;overflow-y:hidden;display:block;padding:.8em;overflow-x:auto;line-height:1.45em;background:#002b36 url('/images/noise.png?1419195603') top left !important;color:#93a1a1 !important}.pre-code span,html .gist .gist-file .gist-syntax .highlight pre span,.highlight code span{color:#93a1a1 !important}.pre-code span,html .gist .gist-file .gist-syntax .highlight pre span,.highlight code span{font-style:normal !important;font-weight:normal !important}.pre-code .c,html .gist .gist-file .gist-syntax .highlight pre .c,.highlight code .c{color:#586e75 !important;font-style:italic !important}.pre-code .cm,html .gist .gist-file .gist-syntax .highlight pre .cm,.highlight code .cm{color:#586e75 !important;font-style:italic !important}.pre-code .cp,html .gist .gist-file .gist-syntax .highlight pre .cp,.highlight code .cp{color:#586e75 !important;font-style:italic !important}.pre-code .c1,html .gist .gist-file .gist-syntax .highlight pre .c1,.highlight code .c1{color:#586e75 !important;font-style:italic !important}.pre-code .cs,html .gist .gist-file .gist-syntax .highlight pre .cs,.highlight code .cs{color:#586e75 !important;font-weight:bold !important;font-style:italic !important}.pre-code .err,html .gist .gist-file .gist-syntax .highlight pre .err,.highlight code .err{color:#dc322f !important;background:none !important}.pre-code .k,html .gist .gist-file .gist-syntax .highlight pre .k,.highlight code .k{color:#cb4b16 !important}.pre-code .o,html .gist .gist-file .gist-syntax .highlight pre .o,.highlight code .o{color:#93a1a1 !important;font-weight:bold !important}.pre-code .p,html .gist .gist-file .gist-syntax .highlight pre .p,.highlight code .p{color:#93a1a1 !important}.pre-code .ow,html .gist .gist-file .gist-syntax .highlight pre .ow,.highlight code .ow{color:#2aa198 !important;font-weight:bold !important}.pre-code .gd,html .gist .gist-file .gist-syntax .highlight pre .gd,.highlight code .gd{color:#93a1a1 !important;background-color:#372c34 !important;display:inline-block}.pre-code .gd .x,html .gist .gist-file .gist-syntax .highlight pre .gd .x,.highlight code .gd .x{color:#93a1a1 !important;background-color:#4d2d33 !important;display:inline-block}.pre-code .ge,html .gist .gist-file .gist-syntax .highlight pre .ge,.highlight code .ge{color:#93a1a1 !important;font-style:italic !important}.pre-code .gh,html .gist .gist-file .gist-syntax .highlight pre .gh,.highlight code .gh{color:#586e75 !important}.pre-code .gi,html .gist .gist-file .gist-syntax .highlight pre .gi,.highlight code .gi{color:#93a1a1 !important;background-color:#1a412b !important;display:inline-block}.pre-code .gi .x,html .gist .gist-file .gist-syntax .highlight pre .gi .x,.highlight code .gi .x{color:#93a1a1 !important;background-color:#355720 !important;display:inline-block}.pre-code .gs,html .gist .gist-file .gist-syntax .highlight pre .gs,.highlight code .gs{color:#93a1a1 !important;font-weight:bold !important}.pre-code .gu,html .gist .gist-file .gist-syntax .highlight pre .gu,.highlight code .gu{color:#6c71c4 !important}.pre-code .kc,html .gist .gist-file .gist-syntax .highlight pre .kc,.highlight code .kc{color:#859900 !important;font-weight:bold !important}.pre-code .kd,html .gist .gist-file .gist-syntax .highlight pre .kd,.highlight code .kd{color:#268bd2 !important}.pre-code .kp,html .gist .gist-file .gist-syntax .highlight pre .kp,.highlight code .kp{color:#cb4b16 !important;font-weight:bold !important}.pre-code .kr,html .gist .gist-file .gist-syntax .highlight pre .kr,.highlight code .kr{color:#d33682 !important;font-weight:bold !important}.pre-code .kt,html .gist .gist-file .gist-syntax .highlight pre .kt,.highlight code .kt{color:#2aa198 !important}.pre-code .n,html .gist .gist-file .gist-syntax .highlight pre .n,.highlight code .n{color:#268bd2 !important}.pre-code .na,html .gist .gist-file .gist-syntax .highlight pre .na,.highlight code .na{color:#268bd2 !important}.pre-code .nb,html .gist .gist-file .gist-syntax .highlight pre .nb,.highlight code .nb{color:#859900 !important}.pre-code .nc,html .gist .gist-file .gist-syntax .highlight pre .nc,.highlight code .nc{color:#d33682 !important}.pre-code .no,html .gist .gist-file .gist-syntax .highlight pre .no,.highlight code .no{color:#b58900 !important}.pre-code .nl,html .gist .gist-file .gist-syntax .highlight pre .nl,.highlight code .nl{color:#859900 !important}.pre-code .ne,html .gist .gist-file .gist-syntax .highlight pre .ne,.highlight code .ne{color:#268bd2 !important;font-weight:bold !important}.pre-code .nf,html .gist .gist-file .gist-syntax .highlight pre .nf,.highlight code .nf{color:#268bd2 !important;font-weight:bold !important}.pre-code .nn,html .gist .gist-file .gist-syntax .highlight pre .nn,.highlight code .nn{color:#b58900 !important}.pre-code .nt,html .gist .gist-file .gist-syntax .highlight pre .nt,.highlight code .nt{color:#268bd2 !important;font-weight:bold !important}.pre-code .nx,html .gist .gist-file .gist-syntax .highlight pre .nx,.highlight code .nx{color:#b58900 !important}.pre-code .vg,html .gist .gist-file .gist-syntax .highlight pre .vg,.highlight code .vg{color:#268bd2 !important}.pre-code .vi,html .gist .gist-file .gist-syntax .highlight pre .vi,.highlight code .vi{color:#268bd2 !important}.pre-code .nv,html .gist .gist-file .gist-syntax .highlight pre .nv,.highlight code .nv{color:#268bd2 !important}.pre-code .mf,html .gist .gist-file .gist-syntax .highlight pre .mf,.highlight code .mf{color:#2aa198 !important}.pre-code .m,html .gist .gist-file .gist-syntax .highlight pre .m,.highlight code .m{color:#2aa198 !important}.pre-code .mh,html .gist .gist-file .gist-syntax .highlight pre .mh,.highlight code .mh{color:#2aa198 !important}.pre-code .mi,html .gist .gist-file .gist-syntax .highlight pre .mi,.highlight code .mi{color:#2aa198 !important}.pre-code .s,html .gist .gist-file .gist-syntax .highlight pre .s,.highlight code .s{color:#2aa198 !important}.pre-code .sd,html .gist .gist-file .gist-syntax .highlight pre .sd,.highlight code .sd{color:#2aa198 !important}.pre-code .s2,html .gist .gist-file .gist-syntax .highlight pre .s2,.highlight code .s2{color:#2aa198 !important}.pre-code .se,html .gist .gist-file .gist-syntax .highlight pre .se,.highlight code .se{color:#dc322f !important}.pre-code .si,html .gist .gist-file .gist-syntax .highlight pre .si,.highlight code .si{color:#268bd2 !important}.pre-code .sr,html .gist .gist-file .gist-syntax .highlight pre .sr,.highlight code .sr{color:#2aa198 !important}.pre-code .s1,html .gist .gist-file .gist-syntax .highlight pre .s1,.highlight code .s1{color:#2aa198 !important}.pre-code div .gd,html .gist .gist-file .gist-syntax .highlight pre div .gd,.highlight code div .gd,.pre-code div .gd .x,html .gist .gist-file .gist-syntax .highlight pre div .gd .x,.highlight code div .gd .x,.pre-code div .gi,html .gist .gist-file .gist-syntax .highlight pre div .gi,.highlight code div .gi,.pre-code div .gi .x,html .gist .gist-file .gist-syntax .highlight pre div .gi .x,.highlight code div .gi .x{display:inline-block;width:100%}.highlight,.gist-highlight{margin-bottom:1.8em;background:#002b36;overflow-y:hidden;overflow-x:auto}.highlight pre,.gist-highlight pre{background:none;-webkit-border-radius:0px;-moz-border-radius:0px;border-radius:0px;border:none;padding:0;margin-bottom:0}pre::-webkit-scrollbar,.highlight::-webkit-scrollbar,.gist-highlight::-webkit-scrollbar{height:.5em;background:rgba(255,255,255,0.15)}pre::-webkit-scrollbar-thumb:horizontal,.highlight::-webkit-scrollbar-thumb:horizontal,.gist-highlight::-webkit-scrollbar-thumb:horizontal{background:rgba(255,255,255,0.2);-webkit-border-radius:4px;border-radius:4px}.highlight code{background:#000}figure.code{background:none;padding:0;border:0;margin-bottom:1.5em}figure.code pre{margin-bottom:0}figure.code figcaption{position:relative}figure.code .highlight{margin-bottom:0}.code-title,html .gist .gist-file .gist-meta a[href*='#file'],h3.filename,figure.code figcaption{text-align:center;font-size:13px;line-height:2em;text-shadow:#cbcccc 0 1px 0;color:#474747;font-weight:normal;margin-bottom:0;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;font-family:"Helvetica Neue", Arial, "Lucida Grande", "Lucida Sans Unicode", Lucida, sans-serif;background:#aaa url('/images/code_bg.png?1419195603') top repeat-x;border:1px solid #565656;border-top-color:#cbcbcb;border-left-color:#a5a5a5;border-right-color:#a5a5a5;border-bottom:0}.download-source,html .gist .gist-file .gist-meta a[href*=raw],figure.code figcaption a{position:absolute;right:.8em;color:#666 !important;z-index:1;font-size:13px;text-shadow:#cbcccc 0 1px 0;padding-left:3em}@media only screen and (min-width: 1024px){.aside-module:first-child .title{margin-top:0}}.aside-module .title{border-bottom:1px solid #049cdb;color:#333;margin:1em 0 0.5em;padding-bottom:5px}.aside-module .title .btn{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:5px 10px;text-decoration:none}.aside-module .loading{display:block;font-size:2em;text-align:center}#github-repos li p{font-size:0.6em;margin-bottom:0}#pinboard .pin-item>p{margin-bottom:0}#pinboard .pin-item>p a:hover{text-decoration:underline}#pinboard .pin-item>p a::after{content:","}#pinboard .pin-item>p a:last-child::after{content:""}@media only screen and (min-width: 481px){.social ul{-webkit-column-count:2;-moz-column-count:2;column-count:2;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px}}.social a{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#e8e8e8;border:1px solid #dcdcdc;border-radius:4px;color:#222;display:inline-block;font-size:0.8em;margin-bottom:7px;padding:1em;padding-right:0.5em;position:relative;text-decoration:none;width:100%;z-index:5;-webkit-transition:box-shadow 200ms,color 400ms,transform 400ms;-moz-transition:box-shadow 200ms,color 400ms,transform 400ms;-o-transition:box-shadow 200ms,color 400ms,transform 400ms;transition:box-shadow 200ms,color 400ms,transform 400ms}.social a:hover{color:#fff !important;text-decoration:none;text-shadow:1px 1px 0 rgba(0,0,0,0.25);z-index:7}.social a:hover::before{border:1px solid #000;height:100%;top:0;width:100%}.social a::before{background-color:#222;border-radius:4px;content:"";height:1px;position:absolute;top:50%;left:0%;width:0;z-index:-1;-webkit-transition:border 200ms,height 200ms 200ms,top 200ms 200ms,width 200ms;-moz-transition:border 200ms,height 200ms 200ms,top 200ms 200ms,width 200ms;-o-transition:border 200ms,height 200ms 200ms,top 200ms 200ms,width 200ms;transition:border 200ms,height 200ms 200ms,top 200ms 200ms,width 200ms}.social a i{font-size:2em;line-height:0.8em;margin-right:0.35em}.social a.adn{color:#4a484c}.social a.adn::before{background-color:#4a484c;border-color:#3d3c3f}.social a.dribbble{color:#ea4c89}.social a.dribbble::before{background-color:#ea4c89;border-color:#e7357a}.social a.facebook{color:#3b5998}.social a.facebook::before{background-color:#3b5998;border-color:#344e86}.social a.github{color:#333}.social a.github::before{background-color:#333;border-color:#262626}.social a.gplus{color:#db4a39}.social a.gplus::before{background-color:#db4a39;border-color:#d43927}.social a.linkedin{color:#4875b4}.social a.linkedin::before{background-color:#4875b4;border-color:#4169a2}.social a.pinterest{color:#cc2127}.social a.pinterest::before{background-color:#cc2127;border-color:#b61d23}.social a.stackoverflow{color:#fe7a15}.social a.stackoverflow::before{background-color:#fe7a15;border-color:#f86c01}.social a.twitter{color:#00a0d1}.social a.twitter::before{background-color:#00a0d1;border-color:#008cb7}.social a.youtube{color:#cc181e}.social a.youtube::before{background-color:#cc181e;border-color:#b5151b}.usp{text-align:center}@media only screen and (min-width: 481px) and (max-width: 1023px){.usp{margin-bottom:25px}}.usp .icon i{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;border:10px solid #049cdb;color:#222;display:inline-block;font-size:6em;height:1.85em;line-height:normal;padding:0.3em;width:1.85em}.usp .title{color:#222;font-size:1.1em;line-height:3em;margin:0;text-align:center;text-transform:capitalize}.usp .title+hr{margin:0;margin-bottom:1em}.usp hr{margin-bottom:1em}.usp p{text-align:left}.hero{background-color:#0b6b94;background-position:0 50%;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;border-bottom:1px solid #fff;color:#fff;font-weight:bold;margin-top:-2em;margin-bottom:1.5em;padding:50px 0;position:relative}.hero>.grid-wrapper{position:relative;z-index:7}.hero .credit{font-size:0.75em;font-style:italic;position:absolute;bottom:0;right:10px;z-index:7}.hero .credit a{border-bottom:1px solid;color:#fff;text-decoration:none}.hero .credit .licence{border:none}.hero .avatar{text-align:center}@media only screen and (max-width: 1023px){.hero .avatar{margin-bottom:30px}}.hero .avatar img{-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;border:10px solid #049cdb}.hero h1{font-size:3.5em;line-height:1em;text-shadow:2px 2px 0 rgba(0,0,0,0.75)}.hero hr{box-shadow:1px 1px 0 rgba(0,0,0,0.75)}.hero p{text-shadow:1px 1px 0 rgba(0,0,0,0.75)}.hero p small{color:#eee;font-size:.65em}.pull-left{float:left}.pull-right{float:right}.clearfix,article blockquote{*zoom:1}.clearfix::before,article blockquote::before,.clearfix::after,article blockquote::after{display:table;content:"";line-height:0}.clearfix::after,article blockquote::after{clear:both}ul.unstyled,ul.inline,article ul.tags,ul.divided,ol.unstyled,ol.inline,article ol.tags,ol.divided{list-style-type:none;margin:0}ul.inline,article ul.tags,ol.inline,article ol.tags{list-style-type:none}ul.inline>li,article ul.tags>li,ol.inline>li,article ol.tags>li{display:inline}ul.divided>li,ol.divided>li{border-top:1px solid #fff;border-bottom:1px solid #e8e8e8;padding:0.5em 0}ul.divided>li:first-child,ol.divided>li:first-child{border-top:none;padding-top:0}ul.divided>li:last-child,ol.divided>li:last-child{border-bottom:none}.btn{background-color:#0494d1;background-image:-moz-linear-gradient(top, #049cdb, #048ac2);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#049cdb), to(#048ac2));background-image:-webkit-linear-gradient(top, #049cdb, #048ac2);background-image:-o-linear-gradient(top, #049cdb, #048ac2);background-image:linear-gradient(to bottom, #049cdb,#048ac2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF049CDB', endColorstr='#FF048AC2', GradientType=0);-webkit-box-shadow:0 0 3px rgba(0,0,0,0.25);-moz-box-shadow:0 0 3px rgba(0,0,0,0.25);-ms-box-shadow:0 0 3px rgba(0,0,0,0.25);-o-box-shadow:0 0 3px rgba(0,0,0,0.25);box-shadow:0 0 3px rgba(0,0,0,0.25);border-radius:3px;color:#fff;display:inline-block;padding:7px 15px;text-decoration:none;text-shadow:1px 1px 0 rgba(0,0,0,0.25)}.btn:hover{text-decoration:underline}.btn:visited{color:#fff}.grid{letter-spacing:-1rem}.opera:-o-prefocus,.grid{word-spacing:-1rem}.grid__item{letter-spacing:normal;word-spacing:normal}@media only screen and (min-width: 481px){.flex{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-moz-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-box-align:start;-moz-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.flex__item{-webkit-box-ordinal-group:1;-moz-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0;-webkit-box-flex:0;-moz-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}}.hero{background-color:#038FC7;padding-bottom:0}.hero .lead{margin-bottom:16px}.hero .hero-buttons a{color:white;text-transform:uppercase;white-space:nowrap;display:inline-block}.hero .front-install{background-color:#333;margin-bottom:16px;display:inline-block;padding:8px;color:#DDD}.hero .front-install .sh{color:#c82829}.supported-brands{text-align:center}.supported-brands img{border:none !important;box-shadow:none !important;max-height:50px;max-width:200px;margin:10px}.brand{border:none !important;box-shadow:none !important;max-height:50px;max-width:200px;margin:10px}.brand.overview{max-width:100px}h1:hover a.title-link,h2:hover a.title-link,h3:hover a.title-link,h4:hover a.title-link,h5:hover a.title-link,h6:hover a.title-link{position:relative}h1:hover a.title-link::before,h2:hover a.title-link::before,h3:hover a.title-link::before,h4:hover a.title-link::before,h5:hover a.title-link::before,h6:hover a.title-link::before{position:absolute;left:-50px;padding-right:40px;font-family:"FontAwesome";content:"\f0c1"}.ha-title{white-space:nowrap}.ha-title img{width:40px;vertical-align:middle}.usp ul{text-align:left;margin-left:27px;margin-top:-18px}.usp .icon i{border:none !important}.hero-buttons a{margin:0 30px 10px 0}.hero-buttons a:last-child{margin:0}article.post img,article.post table,article.page img,article.page table,article.listing img,article.listing table{border-radius:3px;box-shadow:rgba(0,0,0,0.06) 0 0 10px}article.post img.no-shadow,article.page img.no-shadow,article.listing img.no-shadow{border:0;box-shadow:none}article.post>table,article.page>table,article.listing>table{background-color:#F3FCF5}article.post p.img,article.page p.img,article.listing p.img{background-color:#FFF;border-radius:5px;text-align:center;padding-bottom:3px;font-size:.9rem;box-shadow:rgba(0,0,0,0.06) 0 0 10px}article.post p.img img,article.page p.img img,article.listing p.img img{display:block;box-shadow:none;margin:0 auto}article.post li,article.page li,article.listing li{margin-bottom:10px}article.post li>p,article.page li>p,article.listing li>p{margin-bottom:0}article.post li:last-child,article.page li:last-child,article.listing li:last-child{margin-bottom:0}p.note{position:relative;background:#e7f2fa;padding:40px 12px 6px 12px;box-shadow:rgba(0,0,0,0.06) 0 0 10px}p.note::before{font-family:"FontAwesome";content:"\f05a" " Note " attr(data-title);background-color:#6ab0de;color:white;font-weight:bold;border-top-left-radius:3px;border-top-right-radius:3px;padding:6px 14px;line-height:1.5em;position:absolute;top:0;left:0;right:0}p.note.warning{background-color:#F7F9E1}p.note.warning::before{background-color:#bbb90d;content:"\f071" " Warning " attr(data-title)}.install-instructions-container #normal-install,.install-instructions-container #raspberry-install,.install-instructions-container #docker-install,.install-instructions-container .install-instructions{display:none}.install-instructions-container label.menu-selector{display:inline-block;text-align:center;padding:20px;white-space:nowrap;border-bottom:5px solid #999;transition:border-bottom-color .5s}.install-instructions-container label.menu-selector+label.menu-selector{margin-left:10px}.install-instructions-container #normal-install:checked ~ .menu-selector.normal,.install-instructions-container #raspberry-install:checked ~ .menu-selector.raspberry,.install-instructions-container #docker-install:checked ~ .menu-selector.docker{border-bottom-color:#049cdb}.install-instructions-container #normal-install:checked ~ .install-instructions.normal,.install-instructions-container #raspberry-install:checked ~ .install-instructions.raspberry,.install-instructions-container #docker-install:checked ~ .install-instructions.docker{display:block}.install-instructions-container .install-instructions{margin-top:30px}.prep-instructions-container #generic-prep,.prep-instructions-container #fedora-prep,.prep-instructions-container #centos-prep,.prep-instructions-container .prep-instructions{display:none}.prep-instructions-container label.menu-selector{display:inline-block;text-align:center;padding:10px;white-space:nowrap;border-bottom:2px solid #999;transition:border-bottom-color .5s}.prep-instructions-container label.menu-selector+label.menu-selector{margin-left:10px}.prep-instructions-container #generic-prep:checked ~ .menu-selector.generic,.prep-instructions-container #fedora-prep:checked ~ .menu-selector.fedora,.prep-instructions-container #centos-prep:checked ~ .menu-selector.centos{border-bottom-color:#049cdb}.prep-instructions-container #generic-prep:checked ~ .prep-instructions.generic,.prep-instructions-container #fedora-prep:checked ~ .prep-instructions.fedora,.prep-instructions-container #centos-prep:checked ~ .prep-instructions.centos{display:block}.prep-instructions-container .prep-instructions{margin-top:20px}.post-instructions-container #generic-post,.post-instructions-container #fedora-post,.post-instructions-container #debian-post,.post-instructions-container .post-instructions{display:none}.post-instructions-container label.menu-selector{display:inline-block;text-align:center;padding:10px;white-space:nowrap;border-bottom:2px solid #999;transition:border-bottom-color .5s}.post-instructions-container label.menu-selector+label.menu-selector{margin-left:10px}.post-instructions-container #generic-post:checked ~ .menu-selector.generic-post,.post-instructions-container #fedora-post:checked ~ .menu-selector.fedora-post,.post-instructions-container #debian-post:checked ~ .menu-selector.debian-post{border-bottom-color:#049cdb}.post-instructions-container #generic-post:checked ~ .post-instructions.generic-post,.post-instructions-container #fedora-post:checked ~ .post-instructions.fedora-post,.post-instructions-container #debian-post:checked ~ .post-instructions.debian-post{display:block}.post-instructions-container .post-instructions{margin-top:20px}