From 4c1ee490683138d01be8a0f051b847195d9a866b Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 5 Nov 2018 16:20:01 +0100 Subject: [PATCH 01/16] Bump version 140 --- hassio/const.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hassio/const.py b/hassio/const.py index a7304524a..6e5b32f2b 100644 --- a/hassio/const.py +++ b/hassio/const.py @@ -2,7 +2,7 @@ from pathlib import Path from ipaddress import ip_network -HASSIO_VERSION = '139' +HASSIO_VERSION = '140' URL_HASSIO_ADDONS = "https://github.com/home-assistant/hassio-addons" URL_HASSIO_VERSION = \ From bf28227b91b1fda64e266fa136eb0ff3c0b6fe2b Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 9 Nov 2018 10:25:29 +0100 Subject: [PATCH 02/16] Add developer guide --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index e4101e998..750f3ce76 100644 --- a/README.md +++ b/README.md @@ -16,3 +16,16 @@ and updating software. ## Installation Installation instructions can be found at . + +## Development + +The development of the supervisor is a bit tricky. Not difficult but tricky. + +- You can use the builder to build your supervisor: https://github.com/home-assistant/hassio-build/tree/master/builder +- Go into a HassOS device or VM and pull your supervisor. +- Set the developer modus on updater.json +- Tag it as homeassistant/xy-hassio-supervisor:latest +- Restart the service like systemctl restart hassos-supervisor | journalctl -fu hassos-supervisor +- Test your changes + +Small Bugfix or improvements, make a PR. Significant change makes first an RFC. From 9de71472d48358ac6cc5896ea0ebbfc1d173916e Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 9 Nov 2018 10:26:01 +0100 Subject: [PATCH 03/16] Remove links they are not needed --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 750f3ce76..0ab6a1983 100644 --- a/README.md +++ b/README.md @@ -10,9 +10,6 @@ and updating software. ![](misc/hassio.png?raw=true) -- [Hass.io Addons](https://github.com/home-assistant/hassio-addons) -- [Hass.io Build](https://github.com/home-assistant/hassio-build) - ## Installation Installation instructions can be found at . From 644d13e3fa0d8a5e159609ca5aa6eecd0eb8fc1f Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 9 Nov 2018 23:53:41 +0100 Subject: [PATCH 04/16] Bugfix Add-on validate on RO (#803) --- hassio/addons/validate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hassio/addons/validate.py b/hassio/addons/validate.py index 946b07d25..d8afca19a 100644 --- a/hassio/addons/validate.py +++ b/hassio/addons/validate.py @@ -32,7 +32,7 @@ from ..services.validate import DISCOVERY_SERVICES _LOGGER = logging.getLogger(__name__) -RE_VOLUME = re.compile(r"^(config|ssl|addons|backup|share)(?::(rw|:ro))?$") +RE_VOLUME = re.compile(r"^(config|ssl|addons|backup|share)(?::(rw|ro))?$") RE_SERVICE = re.compile(r"^(?Pmqtt):(?Pprovide|want|need)$") V_STR = 'str' From 05b58d76b9446d29164fddaa028197a34bd7fbc1 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sun, 18 Nov 2018 12:08:46 +0100 Subject: [PATCH 05/16] Add tests for hass.io (#817) * Add tests for hass.io * Fix folder * Fix test command --- tests/__init__.py | 1 + tests/addons/__init__.py | 1 + tests/addons/test_config.py | 41 ++++++++++++++++++++++++++ tests/common.py | 9 ++++++ tests/fixtures/basic-addon-config.json | 14 +++++++++ tox.ini | 8 ++++- 6 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 tests/__init__.py create mode 100644 tests/addons/__init__.py create mode 100644 tests/addons/test_config.py create mode 100644 tests/common.py create mode 100644 tests/fixtures/basic-addon-config.json diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 000000000..7a37e62ba --- /dev/null +++ b/tests/__init__.py @@ -0,0 +1 @@ +"""Hass.io Testframework.""" \ No newline at end of file diff --git a/tests/addons/__init__.py b/tests/addons/__init__.py new file mode 100644 index 000000000..5221b9624 --- /dev/null +++ b/tests/addons/__init__.py @@ -0,0 +1 @@ +"""Add-ons tests.""" \ No newline at end of file diff --git a/tests/addons/test_config.py b/tests/addons/test_config.py new file mode 100644 index 000000000..6e444d901 --- /dev/null +++ b/tests/addons/test_config.py @@ -0,0 +1,41 @@ +"""Validate Add-on configs.""" + +import voluptuous as vol +import pytest + +from hassio.addons import validate as vd + +from ..common import load_json_fixture + + +def test_basic_config(): + """Validate basic config and check the default values.""" + config = load_json_fixture("basic-addon-config.json") + + valid_config = vd.SCHEMA_ADDON_CONFIG(config) + + assert valid_config['name'] == "Test Add-on" + assert valid_config['image'] == "test/{arch}-my-custom-addon" + + # Check defaults + assert not valid_config['host_network'] + assert not valid_config['host_ipc'] + assert not valid_config['host_dbus'] + assert not valid_config['host_pid'] + + assert not valid_config['hassio_api'] + assert not valid_config['homeassistant_api'] + assert not valid_config['docker_api'] + + +def test_invalid_repository(): + """Validate basic config with invalid repository.""" + config = load_json_fixture("basic-addon-config.json") + + config['image'] = "home-assistant/no-valid-repo" + with pytest.raises(vol.Invalid): + vd.SCHEMA_ADDON_CONFIG(config) + + config['image'] = "homeassistant/no-valid-repo:no-tag-allow" + with pytest.raises(vol.Invalid): + vd.SCHEMA_ADDON_CONFIG(config) diff --git a/tests/common.py b/tests/common.py new file mode 100644 index 000000000..c432bc037 --- /dev/null +++ b/tests/common.py @@ -0,0 +1,9 @@ +"""Common test functions.""" +import json +from pathlib import Path + + +def load_json_fixture(filename): + """Load a fixture.""" + path = Path(Path(__file__).parent.joinpath("fixtures"), filename) + return json.loads(path.read_text()) diff --git a/tests/fixtures/basic-addon-config.json b/tests/fixtures/basic-addon-config.json new file mode 100644 index 000000000..18b4890c8 --- /dev/null +++ b/tests/fixtures/basic-addon-config.json @@ -0,0 +1,14 @@ +{ + "name": "Test Add-on", + "version": "1.0.1", + "slug": "test_addon", + "description": "This is a basic Test Add-on", + "arch": ["amd64"], + "url": "https://www.home-assistant.io/", + "startup": "application", + "boot": "auto", + "map": ["config:rw", "ssl"], + "options": {}, + "schema": {}, + "image": "test/{arch}-my-custom-addon" +} \ No newline at end of file diff --git a/tox.ini b/tox.ini index 16c09e69f..70f3d55f4 100644 --- a/tox.ini +++ b/tox.ini @@ -1,10 +1,11 @@ [tox] -envlist = lint +envlist = lint, tests [testenv] deps = flake8==3.6.0 pylint==2.1.1 + pytest==4.0.0 -r{toxinidir}/requirements.txt [testenv:lint] @@ -13,3 +14,8 @@ ignore_errors = True commands = flake8 hassio pylint --rcfile pylintrc hassio + +[testenv:tests] +basepython = python3 +commands = + pytest --duration=10 tests From e23f6f699884fbc82c908b38ac4caeac4d7efdbb Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sun, 18 Nov 2018 12:08:59 +0100 Subject: [PATCH 06/16] Update uvloop to version 0.11.3 (#818) --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 6be677b2e..f9773dfdc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,5 +9,5 @@ pytz==2018.5 pyudev==0.21.0 pycryptodome==3.6.6 cpe==1.2.1 -uvloop==0.11.2 +uvloop==0.11.3 cchardet==2.1.1 From b8818788c96eb73dec3009b5722dd75821eaa632 Mon Sep 17 00:00:00 2001 From: Christian Date: Sun, 18 Nov 2018 19:29:23 +0100 Subject: [PATCH 07/16] Bugfix Add-on validate correct image url (#810) * Bugfix Add-on validate correct image path * Add tests for different add-on image urls --- hassio/addons/validate.py | 2 +- tests/addons/test_config.py | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/hassio/addons/validate.py b/hassio/addons/validate.py index d8afca19a..593b1112e 100644 --- a/hassio/addons/validate.py +++ b/hassio/addons/validate.py @@ -160,7 +160,7 @@ SCHEMA_ADDON_CONFIG = vol.Schema({ })) }), False), vol.Optional(ATTR_IMAGE): - vol.Match(r"^([a-zA-Z.:\d{}]+/)*?([\w{}]+)/([\-\w{}]+)$"), + vol.Match(r"^([a-zA-Z\-\.:\d{}]+/)*?([\-\w{}]+)/([\-\w{}]+)$"), vol.Optional(ATTR_TIMEOUT, default=10): vol.All(vol.Coerce(int), vol.Range(min=10, max=120)), }, extra=vol.REMOVE_EXTRA) diff --git a/tests/addons/test_config.py b/tests/addons/test_config.py index 6e444d901..7e132e521 100644 --- a/tests/addons/test_config.py +++ b/tests/addons/test_config.py @@ -29,13 +29,26 @@ def test_basic_config(): def test_invalid_repository(): - """Validate basic config with invalid repository.""" + """Validate basic config with invalid repositories.""" config = load_json_fixture("basic-addon-config.json") - config['image'] = "home-assistant/no-valid-repo" + config['image'] = "something" with pytest.raises(vol.Invalid): vd.SCHEMA_ADDON_CONFIG(config) config['image'] = "homeassistant/no-valid-repo:no-tag-allow" with pytest.raises(vol.Invalid): vd.SCHEMA_ADDON_CONFIG(config) + + config['image'] = "registry.gitlab.com/company/add-ons/test-example/text-example:no-tag-allow" + with pytest.raises(vol.Invalid): + vd.SCHEMA_ADDON_CONFIG(config) + +def test_valid_repository(): + """Validate basic config with different valid repositories""" + config = load_json_fixture("basic-addon-config.json") + + custom_registry = "registry.gitlab.com/company/add-ons/core/test-example" + config['image'] = custom_registry + valid_config = vd.SCHEMA_ADDON_CONFIG(config) + assert valid_config['image'] == custom_registry From ec366d81121f95725ba1dcdb915c0b9e03ba39b7 Mon Sep 17 00:00:00 2001 From: Christian Date: Mon, 19 Nov 2018 12:05:12 +0100 Subject: [PATCH 08/16] Provide options for legacy add-ons (#814) * Provide options for legacy add-ons * Remove whitespace from blank line * Only provide primitive data types as Docker environment variable * Fix linting issues * Update addon.py --- hassio/docker/addon.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/hassio/docker/addon.py b/hassio/docker/addon.py index 4f389194d..fb7e601fc 100644 --- a/hassio/docker/addon.py +++ b/hassio/docker/addon.py @@ -81,12 +81,14 @@ class DockerAddon(DockerInterface): """Return environment for Docker add-on.""" addon_env = self.addon.environment or {} - # Need audio settings - if self.addon.with_audio: - addon_env.update({ - 'ALSA_OUTPUT': self.addon.audio_output, - 'ALSA_INPUT': self.addon.audio_input, - }) + # Provide options for legacy add-ons + if self.addon.legacy: + for key, value in self.addon.options.items(): + if isinstance(value, (int, str)): + addon_env[key] = value + else: + _LOGGER.warning( + "Can not set nested option %s as Docker env", key) return { **addon_env, From a5ecd597ed6578d4a22b3d51a7493552304418d2 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 19 Nov 2018 16:43:24 +0100 Subject: [PATCH 09/16] Add tests for add-ons map (#821) --- tests/addons/test_config.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/addons/test_config.py b/tests/addons/test_config.py index 7e132e521..c421b8d94 100644 --- a/tests/addons/test_config.py +++ b/tests/addons/test_config.py @@ -52,3 +52,11 @@ def test_valid_repository(): config['image'] = custom_registry valid_config = vd.SCHEMA_ADDON_CONFIG(config) assert valid_config['image'] == custom_registry + + +def test_valid_map(): + """Validate basic config with different valid maps""" + config = load_json_fixture("basic-addon-config.json") + + config['map'] = ['backup:rw', 'ssl:ro', 'config'] + valid_config = vd.SCHEMA_ADDON_CONFIG(config) From 254d6aee3243d46484f766023b7c81cc05d3342c Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 19 Nov 2018 16:44:21 +0100 Subject: [PATCH 10/16] Small code cleanups (#822) * Small code cleanups * Update homeassistant.py --- hassio/homeassistant.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/hassio/homeassistant.py b/hassio/homeassistant.py index a4b8e57fb..91c47ce4a 100644 --- a/hassio/homeassistant.py +++ b/hassio/homeassistant.py @@ -471,21 +471,18 @@ class HomeAssistant(JsonConfig, CoreSysAttributes): while True: await asyncio.sleep(10) - # 1 - # Check if Container is is_running + # 1: Check if Container is is_running if not await self.instance.is_running(): _LOGGER.error("Home Assistant has crashed!") break - # 2 - # Check if API response + # 2: Check if API response if await self.sys_run_in_executor(check_port): _LOGGER.info("Detect a running Home Assistant instance") self._error_state = False return - # 3 - # Running DB Migration + # 3: Running DB Migration if migration_file.exists(): if not migration_progress: migration_progress = True @@ -496,8 +493,7 @@ class HomeAssistant(JsonConfig, CoreSysAttributes): start_time = time.monotonic() _LOGGER.info("Home Assistant record migration done") - # 4 - # Timeout + # 4: Timeout if time.monotonic() - start_time > self.wait_boot: _LOGGER.warning( "Don't wait anymore of Home Assistant startup!") From f33434fb01fdd5d6237e735b805cbb0eb5efaf73 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 19 Nov 2018 21:05:51 +0100 Subject: [PATCH 11/16] Downgrade discovery duplicate logging (#824) --- hassio/discovery.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hassio/discovery.py b/hassio/discovery.py index 27b9a25e7..116e4e4cd 100644 --- a/hassio/discovery.py +++ b/hassio/discovery.py @@ -74,7 +74,7 @@ class Discovery(CoreSysAttributes, JsonConfig): for old_message in self.list_messages: if old_message != message: continue - _LOGGER.warning("Duplicate discovery message from %s", addon.slug) + _LOGGER.info("Duplicate discovery message from %s", addon.slug) return old_message _LOGGER.info("Send discovery to Home Assistant %s from %s", From 62f675e6133a6ea1e4eeb1744e8e97495ea73fa0 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 19 Nov 2018 22:37:46 +0100 Subject: [PATCH 12/16] Fix documentation --- hassio/addons/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hassio/addons/utils.py b/hassio/addons/utils.py index e64761f21..90878d659 100644 --- a/hassio/addons/utils.py +++ b/hassio/addons/utils.py @@ -15,10 +15,10 @@ _LOGGER = logging.getLogger(__name__) def rating_security(addon): - """Return 1-5 for security rating. + """Return 1-6 for security rating. 1 = not secure - 5 = high secure + 6 = high secure """ rating = 5 From 790818d1aa27cbad4c9d4d779f6bf2787f0dffb6 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 20 Nov 2018 10:56:19 +0100 Subject: [PATCH 13/16] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0ab6a1983..2f355e419 100644 --- a/README.md +++ b/README.md @@ -21,8 +21,8 @@ The development of the supervisor is a bit tricky. Not difficult but tricky. - You can use the builder to build your supervisor: https://github.com/home-assistant/hassio-build/tree/master/builder - Go into a HassOS device or VM and pull your supervisor. - Set the developer modus on updater.json -- Tag it as homeassistant/xy-hassio-supervisor:latest -- Restart the service like systemctl restart hassos-supervisor | journalctl -fu hassos-supervisor +- Tag it as `homeassistant/xy-hassio-supervisor:latest` +- Restart the service like `systemctl restart hassos-supervisor | journalctl -fu hassos-supervisor` - Test your changes Small Bugfix or improvements, make a PR. Significant change makes first an RFC. From f49970ce2c4f9abdd31bf547ed85dab8c03ebbdc Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 20 Nov 2018 12:25:45 +0100 Subject: [PATCH 14/16] Update .gitmodules --- .gitmodules | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitmodules b/.gitmodules index aba78f6b5..178ea35a3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,4 @@ [submodule "home-assistant-polymer"] path = home-assistant-polymer url = https://github.com/home-assistant/home-assistant-polymer + branch = dev From 95179c30f79a7d3cd0094b8aeab9d6a2d6a5c764 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 20 Nov 2018 17:13:55 +0100 Subject: [PATCH 15/16] Update Panel with new security functions (#826) --- .../api/panel/chunk.0853908528652fbc5d4f.js | 2 + .../panel/chunk.0853908528652fbc5d4f.js.gz | Bin 0 -> 12681 bytes .../panel/chunk.0853908528652fbc5d4f.js.map | 1 + .../api/panel/chunk.0cb8b788b03dcc48da14.js | 2 + .../panel/chunk.0cb8b788b03dcc48da14.js.gz | Bin 0 -> 339689 bytes .../panel/chunk.0cb8b788b03dcc48da14.js.map | 1 + .../api/panel/chunk.457ac71b0904d7243237.js | 2 - .../panel/chunk.457ac71b0904d7243237.js.gz | Bin 2756 -> 0 bytes .../panel/chunk.457ac71b0904d7243237.js.map | 1 - .../api/panel/chunk.57f5b43a82b988080555.js | 2 - .../panel/chunk.57f5b43a82b988080555.js.gz | Bin 19495 -> 0 bytes .../panel/chunk.57f5b43a82b988080555.js.map | 1 - .../api/panel/chunk.72a6da063fe4cb6308e8.js | 3 - .../panel/chunk.72a6da063fe4cb6308e8.js.gz | Bin 76069 -> 0 bytes .../panel/chunk.72a6da063fe4cb6308e8.js.map | 1 - .../api/panel/chunk.762ffcdfd97d94779103.js | 3 + ... => chunk.762ffcdfd97d94779103.js.LICENSE} | 212 ++++++++++++++++-- .../panel/chunk.762ffcdfd97d94779103.js.gz | Bin 0 -> 79523 bytes .../panel/chunk.762ffcdfd97d94779103.js.map | 1 + .../api/panel/chunk.7ee37c2565bcf2d88182.js | 2 - .../panel/chunk.7ee37c2565bcf2d88182.js.gz | Bin 225 -> 0 bytes .../panel/chunk.7ee37c2565bcf2d88182.js.map | 1 - .../api/panel/chunk.8c049a124b9397e54c16.js | 2 + .../panel/chunk.8c049a124b9397e54c16.js.gz | Bin 0 -> 3738 bytes .../panel/chunk.8c049a124b9397e54c16.js.map | 1 + .../api/panel/chunk.9e3883f96f68b3ce89f5.js | 2 + .../panel/chunk.9e3883f96f68b3ce89f5.js.gz | Bin 0 -> 255 bytes .../panel/chunk.9e3883f96f68b3ce89f5.js.map | 1 + .../api/panel/chunk.a11f1ea4fdc02a5118f5.js | 3 + ... => chunk.a11f1ea4fdc02a5118f5.js.LICENSE} | 130 ++++++++--- .../panel/chunk.a11f1ea4fdc02a5118f5.js.gz | Bin 0 -> 34321 bytes .../panel/chunk.a11f1ea4fdc02a5118f5.js.map | 1 + .../api/panel/chunk.a8fa5591357cce978816.js | 3 - .../panel/chunk.a8fa5591357cce978816.js.gz | Bin 32883 -> 0 bytes .../panel/chunk.a8fa5591357cce978816.js.map | 1 - .../api/panel/chunk.ad9001ac29bd3acbb520.js | 2 - .../panel/chunk.ad9001ac29bd3acbb520.js.gz | Bin 12608 -> 0 bytes .../panel/chunk.ad9001ac29bd3acbb520.js.map | 1 - .../api/panel/chunk.c46dad04f4e2184b0607.js | 2 + .../panel/chunk.c46dad04f4e2184b0607.js.gz | Bin 0 -> 25086 bytes .../panel/chunk.c46dad04f4e2184b0607.js.map | 1 + hassio/api/panel/entrypoint.js | 2 +- hassio/api/panel/entrypoint.js.gz | Bin 1229 -> 1265 bytes hassio/api/panel/entrypoint.js.map | 2 +- home-assistant-polymer | 2 +- 45 files changed, 316 insertions(+), 75 deletions(-) create mode 100644 hassio/api/panel/chunk.0853908528652fbc5d4f.js create mode 100644 hassio/api/panel/chunk.0853908528652fbc5d4f.js.gz create mode 100644 hassio/api/panel/chunk.0853908528652fbc5d4f.js.map create mode 100644 hassio/api/panel/chunk.0cb8b788b03dcc48da14.js create mode 100644 hassio/api/panel/chunk.0cb8b788b03dcc48da14.js.gz create mode 100644 hassio/api/panel/chunk.0cb8b788b03dcc48da14.js.map delete mode 100644 hassio/api/panel/chunk.457ac71b0904d7243237.js delete mode 100644 hassio/api/panel/chunk.457ac71b0904d7243237.js.gz delete mode 100644 hassio/api/panel/chunk.457ac71b0904d7243237.js.map delete mode 100644 hassio/api/panel/chunk.57f5b43a82b988080555.js delete mode 100644 hassio/api/panel/chunk.57f5b43a82b988080555.js.gz delete mode 100644 hassio/api/panel/chunk.57f5b43a82b988080555.js.map delete mode 100644 hassio/api/panel/chunk.72a6da063fe4cb6308e8.js delete mode 100644 hassio/api/panel/chunk.72a6da063fe4cb6308e8.js.gz delete mode 100644 hassio/api/panel/chunk.72a6da063fe4cb6308e8.js.map create mode 100644 hassio/api/panel/chunk.762ffcdfd97d94779103.js rename hassio/api/panel/{chunk.72a6da063fe4cb6308e8.js.LICENSE => chunk.762ffcdfd97d94779103.js.LICENSE} (82%) create mode 100644 hassio/api/panel/chunk.762ffcdfd97d94779103.js.gz create mode 100644 hassio/api/panel/chunk.762ffcdfd97d94779103.js.map delete mode 100644 hassio/api/panel/chunk.7ee37c2565bcf2d88182.js delete mode 100644 hassio/api/panel/chunk.7ee37c2565bcf2d88182.js.gz delete mode 100644 hassio/api/panel/chunk.7ee37c2565bcf2d88182.js.map create mode 100644 hassio/api/panel/chunk.8c049a124b9397e54c16.js create mode 100644 hassio/api/panel/chunk.8c049a124b9397e54c16.js.gz create mode 100644 hassio/api/panel/chunk.8c049a124b9397e54c16.js.map create mode 100644 hassio/api/panel/chunk.9e3883f96f68b3ce89f5.js create mode 100644 hassio/api/panel/chunk.9e3883f96f68b3ce89f5.js.gz create mode 100644 hassio/api/panel/chunk.9e3883f96f68b3ce89f5.js.map create mode 100644 hassio/api/panel/chunk.a11f1ea4fdc02a5118f5.js rename hassio/api/panel/{chunk.a8fa5591357cce978816.js.LICENSE => chunk.a11f1ea4fdc02a5118f5.js.LICENSE} (85%) create mode 100644 hassio/api/panel/chunk.a11f1ea4fdc02a5118f5.js.gz create mode 100644 hassio/api/panel/chunk.a11f1ea4fdc02a5118f5.js.map delete mode 100644 hassio/api/panel/chunk.a8fa5591357cce978816.js delete mode 100644 hassio/api/panel/chunk.a8fa5591357cce978816.js.gz delete mode 100644 hassio/api/panel/chunk.a8fa5591357cce978816.js.map delete mode 100644 hassio/api/panel/chunk.ad9001ac29bd3acbb520.js delete mode 100644 hassio/api/panel/chunk.ad9001ac29bd3acbb520.js.gz delete mode 100644 hassio/api/panel/chunk.ad9001ac29bd3acbb520.js.map create mode 100644 hassio/api/panel/chunk.c46dad04f4e2184b0607.js create mode 100644 hassio/api/panel/chunk.c46dad04f4e2184b0607.js.gz create mode 100644 hassio/api/panel/chunk.c46dad04f4e2184b0607.js.map diff --git a/hassio/api/panel/chunk.0853908528652fbc5d4f.js b/hassio/api/panel/chunk.0853908528652fbc5d4f.js new file mode 100644 index 000000000..a0e06f777 --- /dev/null +++ b/hassio/api/panel/chunk.0853908528652fbc5d4f.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{46:function(e,t,r){var n=r(70),i=r(92);for(var o in(t=e.exports=function(e,t){return new i(t).process(e)}).FilterCSS=i,n)t[o]=n[o];"undefined"!=typeof window&&(window.filterCSS=e.exports)},47:function(e,t){e.exports={indexOf:function(e,t){var r,n;if(Array.prototype.indexOf)return e.indexOf(t);for(r=0,n=e.length;r/g,p=/"/g,u=/"/g,h=/&#([a-zA-Z0-9]*);?/gim,g=/:?/gim,f=/&newline;?/gim,d=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,m=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,b=/u\s*r\s*l\s*\(.*/gi;function x(e){return e.replace(p,""")}function k(e){return e.replace(u,'"')}function y(e){return e.replace(h,function(e,t){return"x"===t[0]||"X"===t[0]?String.fromCharCode(parseInt(t.substr(1),16)):String.fromCharCode(parseInt(t,10))})}function w(e){return e.replace(g,":").replace(f," ")}function v(e){for(var t="",r=0,n=e.length;r/g;t.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},t.getDefaultWhiteList=function(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}},t.onTag=function(e,t,r){},t.onIgnoreTag=function(e,t,r){},t.onTagAttr=function(e,t,r){},t.onIgnoreTagAttr=function(e,t,r){},t.safeAttrValue=function(e,t,r,n){if(r=_(r),"href"===t||"src"===t){if("#"===(r=o.trim(r)))return"#";if("http://"!==r.substr(0,7)&&"https://"!==r.substr(0,8)&&"mailto:"!==r.substr(0,7)&&"tel:"!==r.substr(0,4)&&"#"!==r[0]&&"/"!==r[0])return""}else if("background"===t){if(d.lastIndex=0,d.test(r))return""}else if("style"===t){if(m.lastIndex=0,m.test(r))return"";if(b.lastIndex=0,b.test(r)&&(d.lastIndex=0,d.test(r)))return"";!1!==n&&(r=(n=n||s).process(r))}return A(r)},t.escapeHtml=a,t.escapeQuote=x,t.unescapeQuote=k,t.escapeHtmlEntities=y,t.escapeDangerHtml5Entities=w,t.clearNonPrintableCharacter=v,t.friendlyAttrValue=_,t.escapeAttrValue=A,t.onIgnoreTagStripAll=function(){return""},t.StripTagBody=function(e,t){"function"!=typeof t&&(t=function(){});var r=!Array.isArray(e),n=[],i=!1;return{onIgnoreTag:function(s,a,l){if(function(t){return!!r||-1!==o.indexOf(e,t)}(s)){if(l.isClosing){var c="[/removed]",p=l.position+c.length;return n.push([!1!==i?i:l.position,p]),i=!1,c}return i||(i=l.position),"[removed]"}return t(s,a,l)},remove:function(e){var t="",r=0;return o.forEach(n,function(n){t+=e.slice(r,n[0]),r=n[1]}),t+=e.slice(r)}}},t.stripCommentTag=function(e){return e.replace(S,"")},t.stripBlankChar=function(e){var t=e.split("");return(t=t.filter(function(e){var t=e.charCodeAt(0);return!(127===t||t<=31&&10!==t&&13!==t)})).join("")},t.cssFilter=s,t.getDefaultCSSWhiteList=i},70:function(e,t){function r(){return{"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1}}var n=/javascript\s*\:/gim;t.whiteList={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1},t.getDefaultWhiteList=r,t.onAttr=function(e,t,r){},t.onIgnoreAttr=function(e,t,r){},t.safeAttrValue=function(e,t){return n.test(t)?"":t}},71:function(e,t){e.exports={indexOf:function(e,t){var r,n;if(Array.prototype.indexOf)return e.indexOf(t);for(r=0,n=e.length;r0;t--){var r=e[t];if(" "!==r)return"="===r?t:-1}}function c(e){return function(e){return'"'===e[0]&&'"'===e[e.length-1]||"'"===e[0]&&"'"===e[e.length-1]}(e)?e.substr(1,e.length-2):e}t.parseTag=function(e,t,r){"user strict";var n="",s=0,a=!1,l=!1,c=0,p=e.length,u="",h="";for(c=0;c"===g){n+=r(e.slice(s,a)),u=i(h=e.slice(a,c+1)),n+=t(a,n.length,u,h,o(h)),s=c+1,a=!1;continue}if(('"'===g||"'"===g)&&"="===e.charAt(c-1)){l=g;continue}}else if(g===l){l=!1;continue}}return s ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$)|(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:k,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/,text:/^[^\n]+/};function a(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||_.defaults,this.rules=s.normal,this.options.pedantic?this.rules=s.pedantic:this.options.gfm&&(this.options.tables?this.rules=s.tables:this.rules=s.gfm)}s._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,s._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,s.def=d(s.def).replace("label",s._label).replace("title",s._title).getRegex(),s.bullet=/(?:[*+-]|\d+\.)/,s.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,s.item=d(s.item,"gm").replace(/bull/g,s.bullet).getRegex(),s.list=d(s.list).replace(/bull/g,s.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+s.def.source+")").getRegex(),s._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",s._comment=//,s.html=d(s.html,"i").replace("comment",s._comment).replace("tag",s._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),s.paragraph=d(s.paragraph).replace("hr",s.hr).replace("heading",s.heading).replace("lheading",s.lheading).replace("tag",s._tag).getRegex(),s.blockquote=d(s.blockquote).replace("paragraph",s.paragraph).getRegex(),s.normal=y({},s),s.gfm=y({},s.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),s.gfm.paragraph=d(s.paragraph).replace("(?!","(?!"+s.gfm.fences.source.replace("\\1","\\2")+"|"+s.list.source.replace("\\1","\\3")+"|").getRegex(),s.tables=y({},s.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),s.pedantic=y({},s.normal,{html:d("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",s._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),a.rules=s,a.lex=function(e,t){return new a(t).lex(e)},a.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},a.prototype.token=function(e,t){var r,n,i,o,a,l,c,p,u,h,g,f,d,m,b,x;for(e=e.replace(/^ +$/gm,"");e;)if((i=this.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"})),i=this.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?i:v(i,"\n")});else if(i=this.rules.fences.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=this.rules.heading.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=this.rules.nptable.exec(e))&&(l={type:"table",header:w(i[1].replace(/^ *| *\| *$/g,"")),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3]?i[3].replace(/\n$/,"").split("\n"):[]}).header.length===l.align.length){for(e=e.substring(i[0].length),g=0;g ?/gm,""),this.token(i,t),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(e)){for(e=e.substring(i[0].length),c={type:"list_start",ordered:m=(o=i[2]).length>1,start:m?+o:"",loose:!1},this.tokens.push(c),p=[],r=!1,d=(i=i[0].match(this.rules.item)).length,g=0;g1&&a.length>1||(e=i.slice(g+1).join("\n")+e,g=d-1)),n=r||/\n\n(?!\s*$)/.test(l),g!==d-1&&(r="\n"===l.charAt(l.length-1),n||(n=r)),n&&(c.loose=!0),x=void 0,(b=/^\[[ xX]\] /.test(l))&&(x=" "!==l[1],l=l.replace(/^\[[ xX]\] +/,"")),u={type:"list_item_start",task:b,checked:x,loose:n},p.push(u),this.tokens.push(u),this.token(l,!1),this.tokens.push({type:"list_item_end"});if(c.loose)for(d=p.length,g=0;g?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:k,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s])__(?!_)|^\*\*([^\s])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*"<\[])\*(?!\*)|^_([^\s][\s\S]*?[^\s_])_(?!_)|^_([^\s_][\s\S]*?[^\s])_(?!_)|^\*([^\s"<\[][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:k,text:/^[\s\S]+?(?=[\\/g,">").replace(/"/g,""").replace(/'/g,"'")}function f(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}function d(e,t){return e=e.source||e,t=t||"",{replace:function(t,r){return r=(r=r.source||r).replace(/(^|[^\[])\^/g,"$1"),e=e.replace(t,r),this},getRegex:function(){return new RegExp(e,t)}}}function m(e,t){return b[" "+e]||(/^[^:]+:\/*[^/]*$/.test(e)?b[" "+e]=e+"/":b[" "+e]=v(e,"/",!0)),e=b[" "+e],"//"===t.slice(0,2)?e.replace(/:[\s\S]*/,":")+t:"/"===t.charAt(0)?e.replace(/(:\/*[^/]*)[\s\S]*/,"$1")+t:e+t}l._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,l._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,l._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,l.autolink=d(l.autolink).replace("scheme",l._scheme).replace("email",l._email).getRegex(),l._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,l.tag=d(l.tag).replace("comment",s._comment).replace("attribute",l._attribute).getRegex(),l._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|[^\[\]\\])*?/,l._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|(?:\\[()]?|\([^\s\x00-\x1f\\]*\)|[^\s\x00-\x1f()\\])*?)/,l._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,l.link=d(l.link).replace("label",l._label).replace("href",l._href).replace("title",l._title).getRegex(),l.reflink=d(l.reflink).replace("label",l._label).getRegex(),l.normal=y({},l),l.pedantic=y({},l.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:d(/^!?\[(label)\]\((.*?)\)/).replace("label",l._label).getRegex(),reflink:d(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",l._label).getRegex()}),l.gfm=y({},l.normal,{escape:d(l.escape).replace("])","~|])").getRegex(),url:d(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("email",l._email).getRegex(),_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:d(l.text).replace("]|","~]|").replace("|","|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|").getRegex()}),l.breaks=y({},l.gfm,{br:d(l.br).replace("{2,}","*").getRegex(),text:d(l.gfm.text).replace("{2,}","*").getRegex()}),c.rules=l,c.output=function(e,t,r){return new c(t,r).output(e)},c.prototype.output=function(e){for(var t,r,n,i,o,s,a="";e;)if(o=this.rules.escape.exec(e))e=e.substring(o[0].length),a+=o[1];else if(o=this.rules.autolink.exec(e))e=e.substring(o[0].length),n="@"===o[2]?"mailto:"+(r=g(this.mangle(o[1]))):r=g(o[1]),a+=this.renderer.link(n,null,r);else if(this.inLink||!(o=this.rules.url.exec(e))){if(o=this.rules.tag.exec(e))!this.inLink&&/^/i.test(o[0])&&(this.inLink=!1),e=e.substring(o[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(o[0]):g(o[0]):o[0];else if(o=this.rules.link.exec(e))e=e.substring(o[0].length),this.inLink=!0,n=o[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n))?(n=t[1],i=t[3]):i="":i=o[3]?o[3].slice(1,-1):"",n=n.trim().replace(/^<([\s\S]*)>$/,"$1"),a+=this.outputLink(o,{href:c.escapes(n),title:c.escapes(i)}),this.inLink=!1;else if((o=this.rules.reflink.exec(e))||(o=this.rules.nolink.exec(e))){if(e=e.substring(o[0].length),t=(o[2]||o[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=o[0].charAt(0),e=o[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(o,t),this.inLink=!1}else if(o=this.rules.strong.exec(e))e=e.substring(o[0].length),a+=this.renderer.strong(this.output(o[4]||o[3]||o[2]||o[1]));else if(o=this.rules.em.exec(e))e=e.substring(o[0].length),a+=this.renderer.em(this.output(o[6]||o[5]||o[4]||o[3]||o[2]||o[1]));else if(o=this.rules.code.exec(e))e=e.substring(o[0].length),a+=this.renderer.codespan(g(o[2].trim(),!0));else if(o=this.rules.br.exec(e))e=e.substring(o[0].length),a+=this.renderer.br();else if(o=this.rules.del.exec(e))e=e.substring(o[0].length),a+=this.renderer.del(this.output(o[1]));else if(o=this.rules.text.exec(e))e=e.substring(o[0].length),a+=this.renderer.text(g(this.smartypants(o[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{do{s=o[0],o[0]=this.rules._backpedal.exec(o[0])[0]}while(s!==o[0]);e=e.substring(o[0].length),"@"===o[2]?n="mailto:"+(r=g(o[0])):(r=g(o[0]),n="www."===o[1]?"http://"+r:r),a+=this.renderer.link(n,null,r)}return a},c.escapes=function(e){return e?e.replace(c.rules._escapes,"$1"):e},c.prototype.outputLink=function(e,t){var r=t.href,n=t.title?g(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(r,n,this.output(e[1])):this.renderer.image(r,n,g(e[1]))},c.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},c.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,r="",n=e.length,i=0;i.5&&(t="x"+t.toString(16)),r+="&#"+t+";";return r},p.prototype.code=function(e,t,r){if(this.options.highlight){var n=this.options.highlight(e,t);null!=n&&n!==e&&(r=!0,e=n)}return t?'
'+(r?e:g(e,!0))+"
\n":"
"+(r?e:g(e,!0))+"
"},p.prototype.blockquote=function(e){return"
\n"+e+"
\n"},p.prototype.html=function(e){return e},p.prototype.heading=function(e,t,r){return this.options.headerIds?"'+e+"\n":""+e+"\n"},p.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},p.prototype.list=function(e,t,r){var n=t?"ol":"ul";return"<"+n+(t&&1!==r?' start="'+r+'"':"")+">\n"+e+"\n"},p.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},p.prototype.checkbox=function(e){return" "},p.prototype.paragraph=function(e){return"

    "+e+"

    \n"},p.prototype.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},p.prototype.tablerow=function(e){return"\n"+e+"\n"},p.prototype.tablecell=function(e,t){var r=t.header?"th":"td";return(t.align?"<"+r+' align="'+t.align+'">':"<"+r+">")+e+"\n"},p.prototype.strong=function(e){return""+e+""},p.prototype.em=function(e){return""+e+""},p.prototype.codespan=function(e){return""+e+""},p.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},p.prototype.del=function(e){return""+e+""},p.prototype.link=function(e,t,r){if(this.options.sanitize){try{var n=decodeURIComponent(f(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return r}if(0===n.indexOf("javascript:")||0===n.indexOf("vbscript:")||0===n.indexOf("data:"))return r}this.options.baseUrl&&!x.test(e)&&(e=m(this.options.baseUrl,e));try{e=encodeURI(e).replace(/%25/g,"%")}catch(e){return r}var i='
    "+r+""},p.prototype.image=function(e,t,r){this.options.baseUrl&&!x.test(e)&&(e=m(this.options.baseUrl,e));var n=''+r+'":">")},p.prototype.text=function(e){return e},u.prototype.strong=u.prototype.em=u.prototype.codespan=u.prototype.del=u.prototype.text=function(e){return e},u.prototype.link=u.prototype.image=function(e,t,r){return""+r},u.prototype.br=function(){return""},h.parse=function(e,t){return new h(t).parse(e)},h.prototype.parse=function(e){this.inline=new c(e.links,this.options),this.inlineText=new c(e.links,y({},this.options,{renderer:new u})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},h.prototype.next=function(){return this.token=this.tokens.pop()},h.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},h.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},h.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,f(this.inlineText.output(this.token.text)));case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,r,n,i="",o="";for(r="",e=0;e=0&&"\\"===r[i];)n=!n;return n?"|":" |"}).split(/ \|/),n=0;if(r.length>t)r.splice(t);else for(;r.lengthAn error occurred:

    "+g(e.message+"",!0)+"
    ";throw e}}k.exec=k,_.options=_.setOptions=function(e){return y(_.defaults,e),_},_.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new p,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tables:!0,xhtml:!1}},_.defaults=_.getDefaults(),_.Parser=h,_.parser=h.parse,_.Renderer=p,_.TextRenderer=u,_.Lexer=a,_.lexer=a.lex,_.InlineLexer=c,_.inlineLexer=c.output,_.parse=_,void 0!==e&&"object"===o(t)?e.exports=_:void 0===(i=function(){return _}.call(t,r,t,e))||(e.exports=i)}(this||"undefined"!=typeof window&&window)}).call(this,r(90))},90:function(e,t){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"===("undefined"==typeof window?"undefined":r(window))&&(n=window)}e.exports=n},91:function(e,t,r){var n=r(69),i=r(72),o=r(94);for(var s in(t=e.exports=function(e,t){return new o(t).process(e)}).FilterXSS=o,n)t[s]=n[s];for(var s in i)t[s]=i[s];"undefined"!=typeof window&&(window.filterXSS=e.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=e.exports)},92:function(e,t,r){var n=r(70),i=r(93);function o(e){return void 0===e||null===e}function s(e){(e=function(e){var t={};for(var r in e)t[r]=e[r];return t}(e||{})).whiteList=e.whiteList||n.whiteList,e.onAttr=e.onAttr||n.onAttr,e.onIgnoreAttr=e.onIgnoreAttr||n.onIgnoreAttr,e.safeAttrValue=e.safeAttrValue||n.safeAttrValue,this.options=e}r(71),s.prototype.process=function(e){if(!(e=(e=e||"").toString()))return"";var t=this.options,r=t.whiteList,n=t.onAttr,s=t.onIgnoreAttr,a=t.safeAttrValue;return i(e,function(e,t,i,l,c){var p=r[i],u=!1;if(!0===p?u=p:"function"==typeof p?u=p(l):p instanceof RegExp&&(u=p.test(l)),!0!==u&&(u=!1),l=a(i,l)){var h,g={position:t,sourcePosition:e,source:c,isWhite:u};return u?o(h=n(i,l,g))?i+":"+l:h:o(h=s(i,l,g))?void 0:h}})},e.exports=s},93:function(e,t,r){var n=r(71);e.exports=function(e,t){";"!==(e=n.trimRight(e))[e.length-1]&&(e+=";");var r=e.length,i=!1,o=0,s=0,a="";function l(){if(!i){var r=n.trim(e.slice(o,s)),l=r.indexOf(":");if(-1!==l){var c=n.trim(r.slice(0,l)),p=n.trim(r.slice(l+1));if(c){var u=t(o,a.length,c,p,r);u&&(a+=u+"; ")}}}o=s+1}for(;s";var x=function(e){var t=l.spaceIndex(e);if(-1===t)return{html:"",closing:"/"===e[e.length-2]};var r="/"===(e=l.trim(e.slice(t+1,-1)))[e.length-1];return r&&(e=l.trim(e.slice(0,-1))),{html:e,closing:r}}(s),k=r[i],y=a(x.html,function(e,t){var r,n=-1!==l.indexOf(k,e);return c(r=p(i,e,t,n))?n?(t=h(i,e,t,f))?e+'="'+t+'"':e:c(r=u(i,e,t,n))?void 0:r:r});return s="<"+i,y&&(s+=" "+y),x.closing&&(s+=" /"),s+">"}return c(m=o(i,s,b))?g(s):m},g);return d&&(m=d.remove(m)),m},e.exports=p}}]); +//# sourceMappingURL=chunk.0853908528652fbc5d4f.js.map \ No newline at end of file diff --git a/hassio/api/panel/chunk.0853908528652fbc5d4f.js.gz b/hassio/api/panel/chunk.0853908528652fbc5d4f.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..841bf7282ac3a3d43440f94c0647a7d172adf2cd GIT binary patch literal 12681 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 Z)+tZ9vS9y;+EjgZ+${=eR%rqP`X6zKcjy2B literal 0 HcmV?d00001 diff --git a/hassio/api/panel/chunk.0853908528652fbc5d4f.js.map b/hassio/api/panel/chunk.0853908528652fbc5d4f.js.map new file mode 100644 index 000000000..af575c0cf --- /dev/null +++ b/hassio/api/panel/chunk.0853908528652fbc5d4f.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///../node_modules/cssfilter/lib/index.js","webpack:///../node_modules/xss/lib/util.js","webpack:///../node_modules/xss/lib/default.js","webpack:///../node_modules/cssfilter/lib/default.js","webpack:///../node_modules/cssfilter/lib/util.js","webpack:///../node_modules/xss/lib/parser.js","webpack:///../node_modules/marked/lib/marked.js","webpack:///../node_modules/webpack/buildin/global.js","webpack:///../node_modules/xss/lib/index.js","webpack:///../node_modules/cssfilter/lib/css.js","webpack:///../node_modules/cssfilter/lib/parser.js","webpack:///../node_modules/xss/lib/xss.js"],"names":["DEFAULT","require","FilterCSS","i","exports","module","html","options","process","window","filterCSS","indexOf","arr","item","j","Array","prototype","length","forEach","fn","scope","call","trim","str","String","replace","spaceIndex","match","exec","index","69","__webpack_require__","getDefaultCSSWhiteList","getDefaultWhiteList","_","defaultCSSFilter","escapeHtml","REGEXP_LT","REGEXP_GT","REGEXP_QUOTE","REGEXP_QUOTE_2","REGEXP_ATTR_VALUE_1","REGEXP_ATTR_VALUE_COLON","REGEXP_ATTR_VALUE_NEWLINE","REGEXP_DEFAULT_ON_TAG_ATTR_4","REGEXP_DEFAULT_ON_TAG_ATTR_7","REGEXP_DEFAULT_ON_TAG_ATTR_8","escapeQuote","unescapeQuote","escapeHtmlEntities","code","fromCharCode","parseInt","substr","escapeDangerHtml5Entities","clearNonPrintableCharacter","str2","len","charCodeAt","charAt","friendlyAttrValue","escapeAttrValue","STRIP_COMMENT_TAG_REGEXP","whiteList","a","abbr","address","area","article","aside","audio","b","bdi","bdo","big","blockquote","br","caption","center","cite","col","colgroup","dd","del","details","div","dl","dt","em","font","footer","h1","h2","h3","h4","h5","h6","header","hr","img","ins","li","mark","nav","ol","p","pre","s","section","small","span","sub","sup","strong","table","tbody","td","tfoot","th","thead","tr","tt","u","ul","video","onTag","tag","onIgnoreTag","onTagAttr","name","value","onIgnoreTagAttr","safeAttrValue","cssFilter","lastIndex","test","onIgnoreTagStripAll","StripTagBody","tags","next","isRemoveAllTag","isArray","removeList","posStart","isClosing","ret","end","position","push","remove","rethtml","lastPos","pos","slice","stripCommentTag","stripBlankChar","chars","split","filter","char","c","join","REGEXP_URL_JAVASCRIPT","onAttr","onIgnoreAttr","trimRight","72","getTagName","tagName","toLowerCase","REGEXP_ILLEGAL_ATTR_NAME","findNextEqual","findBeforeEqual","stripQuoteWrap","text","parseTag","tagStart","quoteStart","currentPos","currentTagName","currentHtml","parseAttr","retAttrs","tmpName","addAttr","89","global","__WEBPACK_AMD_DEFINE_RESULT__","_typeof","obj","Symbol","iterator","constructor","root","block","newline","fences","noop","heading","nptable","list","def","lheading","paragraph","Lexer","this","tokens","links","Object","create","marked","defaults","rules","normal","pedantic","gfm","tables","_label","_title","edit","getRegex","bullet","source","_tag","_comment","merge","lex","src","token","top","loose","cap","bull","listStart","listItems","t","space","l","isordered","istask","ischecked","substring","type","rtrim","lang","depth","splitCells","align","cells","ordered","start","RegExp","smartLists","task","checked","sanitize","sanitizer","href","title","Error","inline","escape","autolink","url","link","reflink","nolink","InlineLexer","renderer","Renderer","breaks","TextRenderer","Parser","encode","unescape","n","regex","opt","val","resolveUrl","base","baseUrls","_escapes","_scheme","_email","_attribute","_href","_backpedal","output","prevCapZero","out","mangle","inLink","outputLink","escapes","codespan","smartypants","image","ch","Math","random","toString","escaped","highlight","langPrefix","quote","level","raw","headerIds","headerPrefix","xhtml","body","listitem","checkbox","tablerow","content","tablecell","flags","prot","decodeURIComponent","e","baseUrl","originIndependentUrl","encodeURI","parse","inlineText","reverse","tok","pop","peek","parseText","row","cell","target","key","arguments","hasOwnProperty","tableRow","count","offset","curr","splice","invert","suffLen","currChar","callback","pending","done","err","message","silent","setOptions","getDefaults","parser","lexer","inlineLexer","define","g","Function","eval","FilterXSS","filterXSS","self","DedicatedWorkerGlobalScope","parseStyle","isNull","css","sourcePosition","check","isWhite","opts","cssLength","isParenthesisOpen","retCSS","addNewAttr","stripIgnoreTag","console","error","allowCommentTag","stripIgnoreTagBody","retHtml","info","attrs","closing","whiteAttrList","attrsHtml","isWhiteAttr"],"mappings":"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,SAASU,GAC7BF,GAAWhJ,EAAKmJ,MAAMF,EAASC,EAAI,IACnCD,EAAUC,EAAI,KAEhBF,GAAWhJ,EAAKmJ,MAAMF,MAsD5BnJ,EAAQsJ,gBA1CR,SAAyBpJ,GACvB,OAAOA,EAAKmB,QAAQqC,EAA0B,KA0ChD1D,EAAQuJ,eAhCR,SAAwBrJ,GACtB,IAAIsJ,EAAQtJ,EAAKuJ,MAAM,IAUvB,OATAD,EAAQA,EAAME,OAAO,SAASC,GAC5B,IAAIC,EAAID,EAAKrG,WAAW,GACxB,QAAU,MAANsG,GACAA,GAAK,IACG,KAANA,GAAkB,KAANA,MAKPC,KAAK,KAsBpB7J,EAAQiI,UAAYlG,EACpB/B,EAAQ4B,uBAAyBA,oBCxZjC,SAASC,IAwVP,OAhVA8B,mBACAA,iBACAA,gBACAA,sBACAA,wBACAA,OACAA,kBACAA,aACAA,qBACAA,yBACAA,wBACAA,yBACAA,+BACAA,oBACAA,0BACAA,+BACAA,WACAA,yBACAA,cACAA,2BACAA,qBACAA,sBACAA,sBACAA,uBACAA,yBACAA,uBACAA,qBACAA,oBACAA,WACAA,SACAA,oBACAA,oBACAA,oBACAA,UACAA,mBACAA,yBACAA,+BACAA,gCACAA,yBACAA,yBACAA,qBACAA,kBACAA,kBACAA,yBACAA,yBACAA,wBACAA,yBACAA,wBACAA,iBACAA,uBACAA,uBACAA,uBACAA,mBACAA,kBACAA,wBACAA,wBACAA,wBACAA,oBACAA,kBACAA,gBACAA,sBACAA,4BACAA,6BACAA,sBACAA,sBACAA,kBACAA,UACAA,0BACAA,gBACAA,gBACAA,cACAA,kBACAA,iBACAA,kBACAA,kBACAA,kBACAA,UACAA,SACAA,QACAA,eACAA,eACAA,SACAA,iCACAA,kBACAA,iBACAA,gBACAA,iBACAA,uBACAA,uBACAA,uBACAA,iBACAA,kBACAA,WACAA,WACAA,WACAA,uBACAA,mBACAA,iBACAA,QACAA,OACAA,eACAA,gBACAA,UACAA,aACAA,WACAA,oBACAA,kBACAA,qBACAA,uBACAA,aACAA,iBACAA,UACAA,QACAA,gBACAA,oBACAA,eACAA,eACAA,iBACAA,eACAA,SACAA,kBACAA,iBACAA,mBACAA,eACAA,eACAA,QACAA,iBACAA,2BACAA,kBACAA,4BACAA,eACAA,sBACAA,kBACAA,gBACAA,oBACAA,kBACAA,6BACAA,uBACAA,6BACAA,4BACAA,0BACAA,2BACAA,iBACAA,QACAA,eACAA,uBACAA,oBACAA,oBACAA,iBACAA,qBACAA,uBACAA,cACAA,kBACAA,oBACAA,mBACAA,yBACAA,2BACAA,wBACAA,yBACAA,UACAA,WACAA,QACAA,uBACAA,sBACAA,cACAA,qBACAA,sBACAA,qBACAA,mBACAA,kBACAA,QACAA,oBACAA,oBACAA,sBACAA,gBACAA,eACAA,iBACAA,eACAA,mBACAA,wBACAA,yBACAA,4BACAA,gBACAA,sBACAA,yBACAA,qBACAA,UACAA,mBACAA,iBACAA,kBACAA,gBACAA,mBACAA,iBACAA,SACAA,QACAA,cACAA,qBACAA,qBACAA,oBACAA,qBACAA,oBACAA,eACAA,gBACAA,iBACAA,mBACAA,iBACAA,eACAA,sBACAA,eACAA,gBACAA,eACAA,eACAA,gBACAA,eACAA,aACAA,cACAA,eACAA,cACAA,eACAA,YACAA,gBACAA,qBACAA,WACAA,SACAA,WACAA,WACAA,mBACAA,oBACAA,mBACAA,mBACAA,YACAA,mBACAA,gBACAA,gBACAA,WACAA,oBACAA,kBACAA,mBACAA,iBACAA,QACAA,sBACAA,uBACAA,uBACAA,iBACAA,SACAA,iBACAA,kBACAA,eACAA,wBACAA,SACAA,iBACAA,iBACAA,YACAA,wBACAA,UACAA,qBACAA,UACAA,QACAA,gBACAA,iBACAA,YACAA,SACAA,YACAA,oBACAA,gBACAA,gBACAA,mBACAA,2BACAA,mBACAA,kBACAA,QACAA,SACAA,cACAA,kBACAA,mBACAA,uBACAA,iBACAA,UACAA,gBACAA,cACAA,kBACAA,gBACAA,qBACAA,0BACAA,qBACAA,2BACAA,0BACAA,0BACAA,2BACAA,mBACAA,yBACAA,4BACAA,yBACAA,iBACAA,iBACAA,kBACAA,sBACAA,mBACAA,iBACAA,yBACAA,oBACAA,6BACAA,eACAA,OACAA,aACAA,sBACAA,qBACAA,cACAA,sBACAA,yBACAA,yBACAA,gCACAA,kBACAA,oBACAA,cACAA,mBACAA,oBACAA,kBACAA,iBACAA,iBACAA,gBACAA,kBACAA,kBACAA,UACAA,iBACAA,UACAA,SACAA,iBACAA,gBACAA,kBACAA,eACAA,eACAA,kBACAA,kBACAA,cA8BF,IAAImG,EAAwB,qBAe5B9J,EAAQ2D,WA3XNA,mBACAA,iBACAA,gBACAA,sBACAA,wBACAA,OACAA,kBACAA,aACAA,qBACAA,yBACAA,wBACAA,yBACAA,+BACAA,oBACAA,0BACAA,+BACAA,WACAA,yBACAA,cACAA,2BACAA,qBACAA,sBACAA,sBACAA,uBACAA,yBACAA,uBACAA,qBACAA,oBACAA,WACAA,SACAA,oBACAA,oBACAA,oBACAA,UACAA,mBACAA,yBACAA,+BACAA,gCACAA,yBACAA,yBACAA,qBACAA,kBACAA,kBACAA,yBACAA,yBACAA,wBACAA,yBACAA,wBACAA,iBACAA,uBACAA,uBACAA,uBACAA,mBACAA,kBACAA,wBACAA,wBACAA,wBACAA,oBACAA,kBACAA,gBACAA,sBACAA,4BACAA,6BACAA,sBACAA,sBACAA,kBACAA,UACAA,0BACAA,gBACAA,gBACAA,cACAA,kBACAA,iBACAA,kBACAA,kBACAA,kBACAA,UACAA,SACAA,QACAA,eACAA,eACAA,SACAA,iCACAA,kBACAA,iBACAA,gBACAA,iBACAA,uBACAA,uBACAA,uBACAA,iBACAA,kBACAA,WACAA,WACAA,WACAA,uBACAA,mBACAA,iBACAA,QACAA,OACAA,eACAA,gBACAA,UACAA,aACAA,WACAA,oBACAA,kBACAA,qBACAA,uBACAA,aACAA,iBACAA,UACAA,QACAA,gBACAA,oBACAA,eACAA,eACAA,iBACAA,eACAA,SACAA,kBACAA,iBACAA,mBACAA,eACAA,eACAA,QACAA,iBACAA,2BACAA,kBACAA,4BACAA,eACAA,sBACAA,kBACAA,gBACAA,oBACAA,kBACAA,6BACAA,uBACAA,6BACAA,4BACAA,0BACAA,2BACAA,iBACAA,QACAA,eACAA,uBACAA,oBACAA,oBACAA,iBACAA,qBACAA,uBACAA,cACAA,kBACAA,oBACAA,mBACAA,yBACAA,2BACAA,wBACAA,yBACAA,UACAA,WACAA,QACAA,uBACAA,sBACAA,cACAA,qBACAA,sBACAA,qBACAA,mBACAA,kBACAA,QACAA,oBACAA,oBACAA,sBACAA,gBACAA,eACAA,iBACAA,eACAA,mBACAA,wBACAA,yBACAA,4BACAA,gBACAA,sBACAA,yBACAA,qBACAA,UACAA,mBACAA,iBACAA,kBACAA,gBACAA,mBACAA,iBACAA,SACAA,QACAA,cACAA,qBACAA,qBACAA,oBACAA,qBACAA,oBACAA,eACAA,gBACAA,iBACAA,mBACAA,iBACAA,eACAA,sBACAA,eACAA,gBACAA,eACAA,eACAA,gBACAA,eACAA,aACAA,cACAA,eACAA,cACAA,eACAA,YACAA,gBACAA,qBACAA,WACAA,SACAA,WACAA,WACAA,mBACAA,oBACAA,mBACAA,mBACAA,YACAA,mBACAA,gBACAA,gBACAA,WACAA,oBACAA,kBACAA,mBACAA,iBACAA,QACAA,sBACAA,uBACAA,uBACAA,iBACAA,SACAA,iBACAA,kBACAA,eACAA,wBACAA,SACAA,iBACAA,iBACAA,YACAA,wBACAA,UACAA,qBACAA,UACAA,QACAA,gBACAA,iBACAA,YACAA,SACAA,YACAA,oBACAA,gBACAA,gBACAA,mBACAA,2BACAA,mBACAA,kBACAA,QACAA,SACAA,cACAA,kBACAA,mBACAA,uBACAA,iBACAA,UACAA,gBACAA,cACAA,kBACAA,gBACAA,qBACAA,0BACAA,qBACAA,2BACAA,0BACAA,0BACAA,2BACAA,mBACAA,yBACAA,4BACAA,yBACAA,iBACAA,iBACAA,kBACAA,sBACAA,mBACAA,iBACAA,yBACAA,oBACAA,6BACAA,eACAA,OACAA,aACAA,sBACAA,qBACAA,cACAA,sBACAA,yBACAA,yBACAA,gCACAA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","file":"chunk.0853908528652fbc5d4f.js","sourcesContent":["/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar DEFAULT = require('./default');\nvar FilterCSS = require('./css');\n\n\n/**\n * XSS过滤\n *\n * @param {String} css 要过滤的CSS代码\n * @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr\n * @return {String}\n */\nfunction filterCSS (html, options) {\n var xss = new FilterCSS(options);\n return xss.process(html);\n}\n\n\n// 输出\nexports = module.exports = filterCSS;\nexports.FilterCSS = FilterCSS;\nfor (var i in DEFAULT) exports[i] = DEFAULT[i];\n\n// 在浏览器端使用\nif (typeof window !== 'undefined') {\n window.filterCSS = module.exports;\n}\n","module.exports = {\n indexOf: function(arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function(arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function(str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, \"\");\n },\n spaceIndex: function(str) {\n var reg = /\\s|\\n|\\t/;\n var match = reg.exec(str);\n return match ? match.index : -1;\n }\n};\n","/**\n * default settings\n *\n * @author Zongmin Lei\n */\n\nvar FilterCSS = require(\"cssfilter\").FilterCSS;\nvar getDefaultCSSWhiteList = require(\"cssfilter\").getDefaultWhiteList;\nvar _ = require(\"./util\");\n\nfunction getDefaultWhiteList() {\n return {\n a: [\"target\", \"href\", \"title\"],\n abbr: [\"title\"],\n address: [],\n area: [\"shape\", \"coords\", \"href\", \"alt\"],\n article: [],\n aside: [],\n audio: [\"autoplay\", \"controls\", \"loop\", \"preload\", \"src\"],\n b: [],\n bdi: [\"dir\"],\n bdo: [\"dir\"],\n big: [],\n blockquote: [\"cite\"],\n br: [],\n caption: [],\n center: [],\n cite: [],\n code: [],\n col: [\"align\", \"valign\", \"span\", \"width\"],\n colgroup: [\"align\", \"valign\", \"span\", \"width\"],\n dd: [],\n del: [\"datetime\"],\n details: [\"open\"],\n div: [],\n dl: [],\n dt: [],\n em: [],\n font: [\"color\", \"size\", \"face\"],\n footer: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n header: [],\n hr: [],\n i: [],\n img: [\"src\", \"alt\", \"title\", \"width\", \"height\"],\n ins: [\"datetime\"],\n li: [],\n mark: [],\n nav: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n section: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n table: [\"width\", \"border\", \"align\", \"valign\"],\n tbody: [\"align\", \"valign\"],\n td: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n tfoot: [\"align\", \"valign\"],\n th: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n thead: [\"align\", \"valign\"],\n tr: [\"rowspan\", \"align\", \"valign\"],\n tt: [],\n u: [],\n ul: [],\n video: [\"autoplay\", \"controls\", \"loop\", \"preload\", \"src\", \"height\", \"width\"]\n };\n}\n\nvar defaultCSSFilter = new FilterCSS();\n\n/**\n * default onTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onIgnoreTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default onIgnoreTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onIgnoreTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default escapeHtml function\n *\n * @param {String} html\n */\nfunction escapeHtml(html) {\n return html.replace(REGEXP_LT, \"<\").replace(REGEXP_GT, \">\");\n}\n\n/**\n * default safeAttrValue function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @param {Object} cssFilter\n * @return {String}\n */\nfunction safeAttrValue(tag, name, value, cssFilter) {\n // unescape attribute value firstly\n value = friendlyAttrValue(value);\n\n if (name === \"href\" || name === \"src\") {\n // filter `href` and `src` attribute\n // only allow the value that starts with `http://` | `https://` | `mailto:` | `/` | `#`\n value = _.trim(value);\n if (value === \"#\") return \"#\";\n if (\n !(\n value.substr(0, 7) === \"http://\" ||\n value.substr(0, 8) === \"https://\" ||\n value.substr(0, 7) === \"mailto:\" ||\n value.substr(0, 4) === \"tel:\" ||\n value[0] === \"#\" ||\n value[0] === \"/\"\n )\n ) {\n return \"\";\n }\n } else if (name === \"background\") {\n // filter `background` attribute (maybe no use)\n // `javascript:`\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n } else if (name === \"style\") {\n // `expression()`\n REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) {\n return \"\";\n }\n // `url()`\n REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n }\n if (cssFilter !== false) {\n cssFilter = cssFilter || defaultCSSFilter;\n value = cssFilter.process(value);\n }\n }\n\n // escape `<>\"` before returns\n value = escapeAttrValue(value);\n return value;\n}\n\n// RegExp list\nvar REGEXP_LT = //g;\nvar REGEXP_QUOTE = /\"/g;\nvar REGEXP_QUOTE_2 = /"/g;\nvar REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;\nvar REGEXP_ATTR_VALUE_COLON = /:?/gim;\nvar REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_3 = /\\/\\*|\\*\\//gm;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_4 = /((j\\s*a\\s*v\\s*a|v\\s*b|l\\s*i\\s*v\\s*e)\\s*s\\s*c\\s*r\\s*i\\s*p\\s*t\\s*|m\\s*o\\s*c\\s*h\\s*a)\\:/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_5 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_6 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:\\s*image\\//gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_7 = /e\\s*x\\s*p\\s*r\\s*e\\s*s\\s*s\\s*i\\s*o\\s*n\\s*\\(.*/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\\s*r\\s*l\\s*\\(.*/gi;\n\n/**\n * escape doube quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction escapeQuote(str) {\n return str.replace(REGEXP_QUOTE, \""\");\n}\n\n/**\n * unescape double quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction unescapeQuote(str) {\n return str.replace(REGEXP_QUOTE_2, '\"');\n}\n\n/**\n * escape html entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeHtmlEntities(str) {\n return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str, code) {\n return code[0] === \"x\" || code[0] === \"X\"\n ? String.fromCharCode(parseInt(code.substr(1), 16))\n : String.fromCharCode(parseInt(code, 10));\n });\n}\n\n/**\n * escape html5 new danger entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeDangerHtml5Entities(str) {\n return str\n .replace(REGEXP_ATTR_VALUE_COLON, \":\")\n .replace(REGEXP_ATTR_VALUE_NEWLINE, \" \");\n}\n\n/**\n * clear nonprintable characters\n *\n * @param {String} str\n * @return {String}\n */\nfunction clearNonPrintableCharacter(str) {\n var str2 = \"\";\n for (var i = 0, len = str.length; i < len; i++) {\n str2 += str.charCodeAt(i) < 32 ? \" \" : str.charAt(i);\n }\n return _.trim(str2);\n}\n\n/**\n * get friendly attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction friendlyAttrValue(str) {\n str = unescapeQuote(str);\n str = escapeHtmlEntities(str);\n str = escapeDangerHtml5Entities(str);\n str = clearNonPrintableCharacter(str);\n return str;\n}\n\n/**\n * unescape attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeAttrValue(str) {\n str = escapeQuote(str);\n str = escapeHtml(str);\n return str;\n}\n\n/**\n * `onIgnoreTag` function for removing all the tags that are not in whitelist\n */\nfunction onIgnoreTagStripAll() {\n return \"\";\n}\n\n/**\n * remove tag body\n * specify a `tags` list, if the tag is not in the `tags` list then process by the specify function (optional)\n *\n * @param {array} tags\n * @param {function} next\n */\nfunction StripTagBody(tags, next) {\n if (typeof next !== \"function\") {\n next = function() {};\n }\n\n var isRemoveAllTag = !Array.isArray(tags);\n function isRemoveTag(tag) {\n if (isRemoveAllTag) return true;\n return _.indexOf(tags, tag) !== -1;\n }\n\n var removeList = [];\n var posStart = false;\n\n return {\n onIgnoreTag: function(tag, html, options) {\n if (isRemoveTag(tag)) {\n if (options.isClosing) {\n var ret = \"[/removed]\";\n var end = options.position + ret.length;\n removeList.push([\n posStart !== false ? posStart : options.position,\n end\n ]);\n posStart = false;\n return ret;\n } else {\n if (!posStart) {\n posStart = options.position;\n }\n return \"[removed]\";\n }\n } else {\n return next(tag, html, options);\n }\n },\n remove: function(html) {\n var rethtml = \"\";\n var lastPos = 0;\n _.forEach(removeList, function(pos) {\n rethtml += html.slice(lastPos, pos[0]);\n lastPos = pos[1];\n });\n rethtml += html.slice(lastPos);\n return rethtml;\n }\n };\n}\n\n/**\n * remove html comments\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripCommentTag(html) {\n return html.replace(STRIP_COMMENT_TAG_REGEXP, \"\");\n}\nvar STRIP_COMMENT_TAG_REGEXP = //g;\n\n/**\n * remove invisible characters\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripBlankChar(html) {\n var chars = html.split(\"\");\n chars = chars.filter(function(char) {\n var c = char.charCodeAt(0);\n if (c === 127) return false;\n if (c <= 31) {\n if (c === 10 || c === 13) return true;\n return false;\n }\n return true;\n });\n return chars.join(\"\");\n}\n\nexports.whiteList = getDefaultWhiteList();\nexports.getDefaultWhiteList = getDefaultWhiteList;\nexports.onTag = onTag;\nexports.onIgnoreTag = onIgnoreTag;\nexports.onTagAttr = onTagAttr;\nexports.onIgnoreTagAttr = onIgnoreTagAttr;\nexports.safeAttrValue = safeAttrValue;\nexports.escapeHtml = escapeHtml;\nexports.escapeQuote = escapeQuote;\nexports.unescapeQuote = unescapeQuote;\nexports.escapeHtmlEntities = escapeHtmlEntities;\nexports.escapeDangerHtml5Entities = escapeDangerHtml5Entities;\nexports.clearNonPrintableCharacter = clearNonPrintableCharacter;\nexports.friendlyAttrValue = friendlyAttrValue;\nexports.escapeAttrValue = escapeAttrValue;\nexports.onIgnoreTagStripAll = onIgnoreTagStripAll;\nexports.StripTagBody = StripTagBody;\nexports.stripCommentTag = stripCommentTag;\nexports.stripBlankChar = stripBlankChar;\nexports.cssFilter = defaultCSSFilter;\nexports.getDefaultCSSWhiteList = getDefaultCSSWhiteList;\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nfunction getDefaultWhiteList () {\n // 白名单值说明:\n // true: 允许该属性\n // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许\n // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许\n // 除上面列出的值外均表示不允许\n var whiteList = {};\n\n whiteList['align-content'] = false; // default: auto\n whiteList['align-items'] = false; // default: auto\n whiteList['align-self'] = false; // default: auto\n whiteList['alignment-adjust'] = false; // default: auto\n whiteList['alignment-baseline'] = false; // default: baseline\n whiteList['all'] = false; // default: depending on individual properties\n whiteList['anchor-point'] = false; // default: none\n whiteList['animation'] = false; // default: depending on individual properties\n whiteList['animation-delay'] = false; // default: 0\n whiteList['animation-direction'] = false; // default: normal\n whiteList['animation-duration'] = false; // default: 0\n whiteList['animation-fill-mode'] = false; // default: none\n whiteList['animation-iteration-count'] = false; // default: 1\n whiteList['animation-name'] = false; // default: none\n whiteList['animation-play-state'] = false; // default: running\n whiteList['animation-timing-function'] = false; // default: ease\n whiteList['azimuth'] = false; // default: center\n whiteList['backface-visibility'] = false; // default: visible\n whiteList['background'] = true; // default: depending on individual properties\n whiteList['background-attachment'] = true; // default: scroll\n whiteList['background-clip'] = true; // default: border-box\n whiteList['background-color'] = true; // default: transparent\n whiteList['background-image'] = true; // default: none\n whiteList['background-origin'] = true; // default: padding-box\n whiteList['background-position'] = true; // default: 0% 0%\n whiteList['background-repeat'] = true; // default: repeat\n whiteList['background-size'] = true; // default: auto\n whiteList['baseline-shift'] = false; // default: baseline\n whiteList['binding'] = false; // default: none\n whiteList['bleed'] = false; // default: 6pt\n whiteList['bookmark-label'] = false; // default: content()\n whiteList['bookmark-level'] = false; // default: none\n whiteList['bookmark-state'] = false; // default: open\n whiteList['border'] = true; // default: depending on individual properties\n whiteList['border-bottom'] = true; // default: depending on individual properties\n whiteList['border-bottom-color'] = true; // default: current color\n whiteList['border-bottom-left-radius'] = true; // default: 0\n whiteList['border-bottom-right-radius'] = true; // default: 0\n whiteList['border-bottom-style'] = true; // default: none\n whiteList['border-bottom-width'] = true; // default: medium\n whiteList['border-collapse'] = true; // default: separate\n whiteList['border-color'] = true; // default: depending on individual properties\n whiteList['border-image'] = true; // default: none\n whiteList['border-image-outset'] = true; // default: 0\n whiteList['border-image-repeat'] = true; // default: stretch\n whiteList['border-image-slice'] = true; // default: 100%\n whiteList['border-image-source'] = true; // default: none\n whiteList['border-image-width'] = true; // default: 1\n whiteList['border-left'] = true; // default: depending on individual properties\n whiteList['border-left-color'] = true; // default: current color\n whiteList['border-left-style'] = true; // default: none\n whiteList['border-left-width'] = true; // default: medium\n whiteList['border-radius'] = true; // default: 0\n whiteList['border-right'] = true; // default: depending on individual properties\n whiteList['border-right-color'] = true; // default: current color\n whiteList['border-right-style'] = true; // default: none\n whiteList['border-right-width'] = true; // default: medium\n whiteList['border-spacing'] = true; // default: 0\n whiteList['border-style'] = true; // default: depending on individual properties\n whiteList['border-top'] = true; // default: depending on individual properties\n whiteList['border-top-color'] = true; // default: current color\n whiteList['border-top-left-radius'] = true; // default: 0\n whiteList['border-top-right-radius'] = true; // default: 0\n whiteList['border-top-style'] = true; // default: none\n whiteList['border-top-width'] = true; // default: medium\n whiteList['border-width'] = true; // default: depending on individual properties\n whiteList['bottom'] = false; // default: auto\n whiteList['box-decoration-break'] = true; // default: slice\n whiteList['box-shadow'] = true; // default: none\n whiteList['box-sizing'] = true; // default: content-box\n whiteList['box-snap'] = true; // default: none\n whiteList['box-suppress'] = true; // default: show\n whiteList['break-after'] = true; // default: auto\n whiteList['break-before'] = true; // default: auto\n whiteList['break-inside'] = true; // default: auto\n whiteList['caption-side'] = false; // default: top\n whiteList['chains'] = false; // default: none\n whiteList['clear'] = true; // default: none\n whiteList['clip'] = false; // default: auto\n whiteList['clip-path'] = false; // default: none\n whiteList['clip-rule'] = false; // default: nonzero\n whiteList['color'] = true; // default: implementation dependent\n whiteList['color-interpolation-filters'] = true; // default: auto\n whiteList['column-count'] = false; // default: auto\n whiteList['column-fill'] = false; // default: balance\n whiteList['column-gap'] = false; // default: normal\n whiteList['column-rule'] = false; // default: depending on individual properties\n whiteList['column-rule-color'] = false; // default: current color\n whiteList['column-rule-style'] = false; // default: medium\n whiteList['column-rule-width'] = false; // default: medium\n whiteList['column-span'] = false; // default: none\n whiteList['column-width'] = false; // default: auto\n whiteList['columns'] = false; // default: depending on individual properties\n whiteList['contain'] = false; // default: none\n whiteList['content'] = false; // default: normal\n whiteList['counter-increment'] = false; // default: none\n whiteList['counter-reset'] = false; // default: none\n whiteList['counter-set'] = false; // default: none\n whiteList['crop'] = false; // default: auto\n whiteList['cue'] = false; // default: depending on individual properties\n whiteList['cue-after'] = false; // default: none\n whiteList['cue-before'] = false; // default: none\n whiteList['cursor'] = false; // default: auto\n whiteList['direction'] = false; // default: ltr\n whiteList['display'] = true; // default: depending on individual properties\n whiteList['display-inside'] = true; // default: auto\n whiteList['display-list'] = true; // default: none\n whiteList['display-outside'] = true; // default: inline-level\n whiteList['dominant-baseline'] = false; // default: auto\n whiteList['elevation'] = false; // default: level\n whiteList['empty-cells'] = false; // default: show\n whiteList['filter'] = false; // default: none\n whiteList['flex'] = false; // default: depending on individual properties\n whiteList['flex-basis'] = false; // default: auto\n whiteList['flex-direction'] = false; // default: row\n whiteList['flex-flow'] = false; // default: depending on individual properties\n whiteList['flex-grow'] = false; // default: 0\n whiteList['flex-shrink'] = false; // default: 1\n whiteList['flex-wrap'] = false; // default: nowrap\n whiteList['float'] = false; // default: none\n whiteList['float-offset'] = false; // default: 0 0\n whiteList['flood-color'] = false; // default: black\n whiteList['flood-opacity'] = false; // default: 1\n whiteList['flow-from'] = false; // default: none\n whiteList['flow-into'] = false; // default: none\n whiteList['font'] = true; // default: depending on individual properties\n whiteList['font-family'] = true; // default: implementation dependent\n whiteList['font-feature-settings'] = true; // default: normal\n whiteList['font-kerning'] = true; // default: auto\n whiteList['font-language-override'] = true; // default: normal\n whiteList['font-size'] = true; // default: medium\n whiteList['font-size-adjust'] = true; // default: none\n whiteList['font-stretch'] = true; // default: normal\n whiteList['font-style'] = true; // default: normal\n whiteList['font-synthesis'] = true; // default: weight style\n whiteList['font-variant'] = true; // default: normal\n whiteList['font-variant-alternates'] = true; // default: normal\n whiteList['font-variant-caps'] = true; // default: normal\n whiteList['font-variant-east-asian'] = true; // default: normal\n whiteList['font-variant-ligatures'] = true; // default: normal\n whiteList['font-variant-numeric'] = true; // default: normal\n whiteList['font-variant-position'] = true; // default: normal\n whiteList['font-weight'] = true; // default: normal\n whiteList['grid'] = false; // default: depending on individual properties\n whiteList['grid-area'] = false; // default: depending on individual properties\n whiteList['grid-auto-columns'] = false; // default: auto\n whiteList['grid-auto-flow'] = false; // default: none\n whiteList['grid-auto-rows'] = false; // default: auto\n whiteList['grid-column'] = false; // default: depending on individual properties\n whiteList['grid-column-end'] = false; // default: auto\n whiteList['grid-column-start'] = false; // default: auto\n whiteList['grid-row'] = false; // default: depending on individual properties\n whiteList['grid-row-end'] = false; // default: auto\n whiteList['grid-row-start'] = false; // default: auto\n whiteList['grid-template'] = false; // default: depending on individual properties\n whiteList['grid-template-areas'] = false; // default: none\n whiteList['grid-template-columns'] = false; // default: none\n whiteList['grid-template-rows'] = false; // default: none\n whiteList['hanging-punctuation'] = false; // default: none\n whiteList['height'] = true; // default: auto\n whiteList['hyphens'] = false; // default: manual\n whiteList['icon'] = false; // default: auto\n whiteList['image-orientation'] = false; // default: auto\n whiteList['image-resolution'] = false; // default: normal\n whiteList['ime-mode'] = false; // default: auto\n whiteList['initial-letters'] = false; // default: normal\n whiteList['inline-box-align'] = false; // default: last\n whiteList['justify-content'] = false; // default: auto\n whiteList['justify-items'] = false; // default: auto\n whiteList['justify-self'] = false; // default: auto\n whiteList['left'] = false; // default: auto\n whiteList['letter-spacing'] = true; // default: normal\n whiteList['lighting-color'] = true; // default: white\n whiteList['line-box-contain'] = false; // default: block inline replaced\n whiteList['line-break'] = false; // default: auto\n whiteList['line-grid'] = false; // default: match-parent\n whiteList['line-height'] = false; // default: normal\n whiteList['line-snap'] = false; // default: none\n whiteList['line-stacking'] = false; // default: depending on individual properties\n whiteList['line-stacking-ruby'] = false; // default: exclude-ruby\n whiteList['line-stacking-shift'] = false; // default: consider-shifts\n whiteList['line-stacking-strategy'] = false; // default: inline-line-height\n whiteList['list-style'] = true; // default: depending on individual properties\n whiteList['list-style-image'] = true; // default: none\n whiteList['list-style-position'] = true; // default: outside\n whiteList['list-style-type'] = true; // default: disc\n whiteList['margin'] = true; // default: depending on individual properties\n whiteList['margin-bottom'] = true; // default: 0\n whiteList['margin-left'] = true; // default: 0\n whiteList['margin-right'] = true; // default: 0\n whiteList['margin-top'] = true; // default: 0\n whiteList['marker-offset'] = false; // default: auto\n whiteList['marker-side'] = false; // default: list-item\n whiteList['marks'] = false; // default: none\n whiteList['mask'] = false; // default: border-box\n whiteList['mask-box'] = false; // default: see individual properties\n whiteList['mask-box-outset'] = false; // default: 0\n whiteList['mask-box-repeat'] = false; // default: stretch\n whiteList['mask-box-slice'] = false; // default: 0 fill\n whiteList['mask-box-source'] = false; // default: none\n whiteList['mask-box-width'] = false; // default: auto\n whiteList['mask-clip'] = false; // default: border-box\n whiteList['mask-image'] = false; // default: none\n whiteList['mask-origin'] = false; // default: border-box\n whiteList['mask-position'] = false; // default: center\n whiteList['mask-repeat'] = false; // default: no-repeat\n whiteList['mask-size'] = false; // default: border-box\n whiteList['mask-source-type'] = false; // default: auto\n whiteList['mask-type'] = false; // default: luminance\n whiteList['max-height'] = true; // default: none\n whiteList['max-lines'] = false; // default: none\n whiteList['max-width'] = true; // default: none\n whiteList['min-height'] = true; // default: 0\n whiteList['min-width'] = true; // default: 0\n whiteList['move-to'] = false; // default: normal\n whiteList['nav-down'] = false; // default: auto\n whiteList['nav-index'] = false; // default: auto\n whiteList['nav-left'] = false; // default: auto\n whiteList['nav-right'] = false; // default: auto\n whiteList['nav-up'] = false; // default: auto\n whiteList['object-fit'] = false; // default: fill\n whiteList['object-position'] = false; // default: 50% 50%\n whiteList['opacity'] = false; // default: 1\n whiteList['order'] = false; // default: 0\n whiteList['orphans'] = false; // default: 2\n whiteList['outline'] = false; // default: depending on individual properties\n whiteList['outline-color'] = false; // default: invert\n whiteList['outline-offset'] = false; // default: 0\n whiteList['outline-style'] = false; // default: none\n whiteList['outline-width'] = false; // default: medium\n whiteList['overflow'] = false; // default: depending on individual properties\n whiteList['overflow-wrap'] = false; // default: normal\n whiteList['overflow-x'] = false; // default: visible\n whiteList['overflow-y'] = false; // default: visible\n whiteList['padding'] = true; // default: depending on individual properties\n whiteList['padding-bottom'] = true; // default: 0\n whiteList['padding-left'] = true; // default: 0\n whiteList['padding-right'] = true; // default: 0\n whiteList['padding-top'] = true; // default: 0\n whiteList['page'] = false; // default: auto\n whiteList['page-break-after'] = false; // default: auto\n whiteList['page-break-before'] = false; // default: auto\n whiteList['page-break-inside'] = false; // default: auto\n whiteList['page-policy'] = false; // default: start\n whiteList['pause'] = false; // default: implementation dependent\n whiteList['pause-after'] = false; // default: implementation dependent\n whiteList['pause-before'] = false; // default: implementation dependent\n whiteList['perspective'] = false; // default: none\n whiteList['perspective-origin'] = false; // default: 50% 50%\n whiteList['pitch'] = false; // default: medium\n whiteList['pitch-range'] = false; // default: 50\n whiteList['play-during'] = false; // default: auto\n whiteList['position'] = false; // default: static\n whiteList['presentation-level'] = false; // default: 0\n whiteList['quotes'] = false; // default: text\n whiteList['region-fragment'] = false; // default: auto\n whiteList['resize'] = false; // default: none\n whiteList['rest'] = false; // default: depending on individual properties\n whiteList['rest-after'] = false; // default: none\n whiteList['rest-before'] = false; // default: none\n whiteList['richness'] = false; // default: 50\n whiteList['right'] = false; // default: auto\n whiteList['rotation'] = false; // default: 0\n whiteList['rotation-point'] = false; // default: 50% 50%\n whiteList['ruby-align'] = false; // default: auto\n whiteList['ruby-merge'] = false; // default: separate\n whiteList['ruby-position'] = false; // default: before\n whiteList['shape-image-threshold'] = false; // default: 0.0\n whiteList['shape-outside'] = false; // default: none\n whiteList['shape-margin'] = false; // default: 0\n whiteList['size'] = false; // default: auto\n whiteList['speak'] = false; // default: auto\n whiteList['speak-as'] = false; // default: normal\n whiteList['speak-header'] = false; // default: once\n whiteList['speak-numeral'] = false; // default: continuous\n whiteList['speak-punctuation'] = false; // default: none\n whiteList['speech-rate'] = false; // default: medium\n whiteList['stress'] = false; // default: 50\n whiteList['string-set'] = false; // default: none\n whiteList['tab-size'] = false; // default: 8\n whiteList['table-layout'] = false; // default: auto\n whiteList['text-align'] = true; // default: start\n whiteList['text-align-last'] = true; // default: auto\n whiteList['text-combine-upright'] = true; // default: none\n whiteList['text-decoration'] = true; // default: none\n whiteList['text-decoration-color'] = true; // default: currentColor\n whiteList['text-decoration-line'] = true; // default: none\n whiteList['text-decoration-skip'] = true; // default: objects\n whiteList['text-decoration-style'] = true; // default: solid\n whiteList['text-emphasis'] = true; // default: depending on individual properties\n whiteList['text-emphasis-color'] = true; // default: currentColor\n whiteList['text-emphasis-position'] = true; // default: over right\n whiteList['text-emphasis-style'] = true; // default: none\n whiteList['text-height'] = true; // default: auto\n whiteList['text-indent'] = true; // default: 0\n whiteList['text-justify'] = true; // default: auto\n whiteList['text-orientation'] = true; // default: mixed\n whiteList['text-overflow'] = true; // default: clip\n whiteList['text-shadow'] = true; // default: none\n whiteList['text-space-collapse'] = true; // default: collapse\n whiteList['text-transform'] = true; // default: none\n whiteList['text-underline-position'] = true; // default: auto\n whiteList['text-wrap'] = true; // default: normal\n whiteList['top'] = false; // default: auto\n whiteList['transform'] = false; // default: none\n whiteList['transform-origin'] = false; // default: 50% 50% 0\n whiteList['transform-style'] = false; // default: flat\n whiteList['transition'] = false; // default: depending on individual properties\n whiteList['transition-delay'] = false; // default: 0s\n whiteList['transition-duration'] = false; // default: 0s\n whiteList['transition-property'] = false; // default: all\n whiteList['transition-timing-function'] = false; // default: ease\n whiteList['unicode-bidi'] = false; // default: normal\n whiteList['vertical-align'] = false; // default: baseline\n whiteList['visibility'] = false; // default: visible\n whiteList['voice-balance'] = false; // default: center\n whiteList['voice-duration'] = false; // default: auto\n whiteList['voice-family'] = false; // default: implementation dependent\n whiteList['voice-pitch'] = false; // default: medium\n whiteList['voice-range'] = false; // default: medium\n whiteList['voice-rate'] = false; // default: normal\n whiteList['voice-stress'] = false; // default: normal\n whiteList['voice-volume'] = false; // default: medium\n whiteList['volume'] = false; // default: medium\n whiteList['white-space'] = false; // default: normal\n whiteList['widows'] = false; // default: 2\n whiteList['width'] = true; // default: auto\n whiteList['will-change'] = false; // default: auto\n whiteList['word-break'] = true; // default: normal\n whiteList['word-spacing'] = true; // default: normal\n whiteList['word-wrap'] = true; // default: normal\n whiteList['wrap-flow'] = false; // default: auto\n whiteList['wrap-through'] = false; // default: wrap\n whiteList['writing-mode'] = false; // default: horizontal-tb\n whiteList['z-index'] = false; // default: auto\n\n return whiteList;\n}\n\n\n/**\n * 匹配到白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onAttr (name, value, options) {\n // do nothing\n}\n\n/**\n * 匹配到不在白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreAttr (name, value, options) {\n // do nothing\n}\n\nvar REGEXP_URL_JAVASCRIPT = /javascript\\s*\\:/img;\n\n/**\n * 过滤属性值\n *\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction safeAttrValue(name, value) {\n if (REGEXP_URL_JAVASCRIPT.test(value)) return '';\n return value;\n}\n\n\nexports.whiteList = getDefaultWhiteList();\nexports.getDefaultWhiteList = getDefaultWhiteList;\nexports.onAttr = onAttr;\nexports.onIgnoreAttr = onIgnoreAttr;\nexports.safeAttrValue = safeAttrValue;\n","module.exports = {\n indexOf: function (arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function (arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function (str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, '');\n },\n trimRight: function (str) {\n if (String.prototype.trimRight) {\n return str.trimRight();\n }\n return str.replace(/(\\s*$)/g, '');\n }\n};\n","/**\n * Simple HTML Parser\n *\n * @author Zongmin Lei\n */\n\nvar _ = require(\"./util\");\n\n/**\n * get tag name\n *\n * @param {String} html e.g. ''\n * @return {String}\n */\nfunction getTagName(html) {\n var i = _.spaceIndex(html);\n if (i === -1) {\n var tagName = html.slice(1, -1);\n } else {\n var tagName = html.slice(1, i + 1);\n }\n tagName = _.trim(tagName).toLowerCase();\n if (tagName.slice(0, 1) === \"/\") tagName = tagName.slice(1);\n if (tagName.slice(-1) === \"/\") tagName = tagName.slice(0, -1);\n return tagName;\n}\n\n/**\n * is close tag?\n *\n * @param {String} html 如:''\n * @return {Boolean}\n */\nfunction isClosing(html) {\n return html.slice(0, 2) === \"\") {\n rethtml += escapeHtml(html.slice(lastPos, tagStart));\n currentHtml = html.slice(tagStart, currentPos + 1);\n currentTagName = getTagName(currentHtml);\n rethtml += onTag(\n tagStart,\n rethtml.length,\n currentTagName,\n currentHtml,\n isClosing(currentHtml)\n );\n lastPos = currentPos + 1;\n tagStart = false;\n continue;\n }\n if ((c === '\"' || c === \"'\") && html.charAt(currentPos - 1) === \"=\") {\n quoteStart = c;\n continue;\n }\n } else {\n if (c === quoteStart) {\n quoteStart = false;\n continue;\n }\n }\n }\n }\n if (lastPos < html.length) {\n rethtml += escapeHtml(html.substr(lastPos));\n }\n\n return rethtml;\n}\n\nvar REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9_:\\.\\-]/gim;\n\n/**\n * parse input attributes and returns processed attributes\n *\n * @param {String} html e.g. `href=\"#\" target=\"_blank\"`\n * @param {Function} onAttr e.g. `function (name, value)`\n * @return {String}\n */\nfunction parseAttr(html, onAttr) {\n \"user strict\";\n\n var lastPos = 0;\n var retAttrs = [];\n var tmpName = false;\n var len = html.length;\n\n function addAttr(name, value) {\n name = _.trim(name);\n name = name.replace(REGEXP_ILLEGAL_ATTR_NAME, \"\").toLowerCase();\n if (name.length < 1) return;\n var ret = onAttr(name, value || \"\");\n if (ret) retAttrs.push(ret);\n }\n\n // 逐个分析字符\n for (var i = 0; i < len; i++) {\n var c = html.charAt(i);\n var v, j;\n if (tmpName === false && c === \"=\") {\n tmpName = html.slice(lastPos, i);\n lastPos = i + 1;\n continue;\n }\n if (tmpName !== false) {\n if (\n i === lastPos &&\n (c === '\"' || c === \"'\") &&\n html.charAt(i - 1) === \"=\"\n ) {\n j = html.indexOf(c, i + 1);\n if (j === -1) {\n break;\n } else {\n v = _.trim(html.slice(lastPos + 1, j));\n addAttr(tmpName, v);\n tmpName = false;\n i = j;\n lastPos = i + 1;\n continue;\n }\n }\n }\n if (/\\s|\\n|\\t/.test(c)) {\n html = html.replace(/\\s|\\n|\\t/g, \" \");\n if (tmpName === false) {\n j = findNextEqual(html, i);\n if (j === -1) {\n v = _.trim(html.slice(lastPos, i));\n addAttr(v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n i = j - 1;\n continue;\n }\n } else {\n j = findBeforeEqual(html, i - 1);\n if (j === -1) {\n v = _.trim(html.slice(lastPos, i));\n v = stripQuoteWrap(v);\n addAttr(tmpName, v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n continue;\n }\n }\n }\n }\n\n if (lastPos < html.length) {\n if (tmpName === false) {\n addAttr(html.slice(lastPos));\n } else {\n addAttr(tmpName, stripQuoteWrap(_.trim(html.slice(lastPos))));\n }\n }\n\n return _.trim(retAttrs.join(\" \"));\n}\n\nfunction findNextEqual(str, i) {\n for (; i < str.length; i++) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction findBeforeEqual(str, i) {\n for (; i > 0; i--) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction isQuoteWrapString(text) {\n if (\n (text[0] === '\"' && text[text.length - 1] === '\"') ||\n (text[0] === \"'\" && text[text.length - 1] === \"'\")\n ) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction stripQuoteWrap(text) {\n if (isQuoteWrapString(text)) {\n return text.substr(1, text.length - 2);\n } else {\n return text;\n }\n}\n\nexports.parseTag = parseTag;\nexports.parseAttr = parseAttr;\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: noop,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n nptable: noop,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( *)(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=\\\\h*\\\\n)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=\\\\h*\\\\n)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n table: noop,\n lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading| {0,3}>|<\\/?(?:tag)(?: +|\\n|\\/?>)|<(?:script|pre|style|!--))[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d+\\.)/;\nblock.item = /^( *)(bull) [^\\n]*(?:\\n(?!\\1bull )[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = //;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block.paragraph)\n .replace('hr', block.hr)\n .replace('heading', block.heading)\n .replace('lheading', block.lheading)\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n fences: /^ *(`{3,}|~{3,})[ \\.]*(\\S+)? *\\n([\\s\\S]*?)\\n? *\\1 *(?:\\n+|$)/,\n paragraph: /^/,\n heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n});\n\nblock.gfm.paragraph = edit(block.paragraph)\n .replace('(?!', '(?!'\n + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|'\n + block.list.source.replace('\\\\1', '\\\\3') + '|')\n .getRegex();\n\n/**\n * GFM + Tables Block Grammar\n */\n\nblock.tables = merge({}, block.gfm, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n if (this.options.tables) {\n this.rules = block.tables;\n } else {\n this.rules = block.gfm;\n }\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n continue;\n }\n\n // fences (gfm)\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (top && (cap = this.rules.nptable.exec(src))) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) +/, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (this.options.smartLists && i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull !== b && !(bull.length > 1 && b.length > 1)) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (top && (cap = this.rules.table.exec(src))) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/(?: *\\| *)?\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2] === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(href(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s])__(?!_)|^\\*\\*([^\\s])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*\"<\\[])\\*(?!\\*)|^_([^\\s][\\s\\S]*?[^\\s_])_(?!_)|^_([^\\s_][\\s\\S]*?[^\\s])_(?!_)|^\\*([^\\s\"<\\[][\\s\\S]*?[^\\s*])\\*(?!\\*)|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)\\s*([\\s\\S]*?[^`]?)\\s*\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^[\\s\\S]+?(?=[\\\\?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]?|`[^`]*`|[^\\[\\]\\\\])*?/;\ninline._href = /\\s*(<(?:\\\\[<>]?|[^\\s<>\\\\])*>|(?:\\\\[()]?|\\([^\\s\\x00-\\x1f\\\\]*\\)|[^\\s\\x00-\\x1f()\\\\])*?)/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n url: edit(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/)\n .replace('email', inline._email)\n .getRegex(),\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: edit(inline.text)\n .replace(']|', '~]|')\n .replace('|', '|https?://|ftp://|www\\\\.|[a-zA-Z0-9.!#$%&\\'*+/=?^_`{\\\\|}~-]+@|')\n .getRegex()\n});\n\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = merge({}, inline.gfm, {\n br: edit(inline.br).replace('{2,}', '*').getRegex(),\n text: edit(inline.gfm.text).replace('{2,}', '*').getRegex()\n});\n\n/**\n * Inline Lexer & Compiler\n */\n\nfunction InlineLexer(links, options) {\n this.options = options || marked.defaults;\n this.links = links;\n this.rules = inline.normal;\n this.renderer = this.options.renderer || new Renderer();\n this.renderer.options = this.options;\n\n if (!this.links) {\n throw new Error('Tokens array requires a `links` property.');\n }\n\n if (this.options.pedantic) {\n this.rules = inline.pedantic;\n } else if (this.options.gfm) {\n if (this.options.breaks) {\n this.rules = inline.breaks;\n } else {\n this.rules = inline.gfm;\n }\n }\n}\n\n/**\n * Expose Inline Rules\n */\n\nInlineLexer.rules = inline;\n\n/**\n * Static Lexing/Compiling Method\n */\n\nInlineLexer.output = function(src, links, options) {\n var inline = new InlineLexer(links, options);\n return inline.output(src);\n};\n\n/**\n * Lexing/Compiling\n */\n\nInlineLexer.prototype.output = function(src) {\n var out = '',\n link,\n text,\n href,\n title,\n cap,\n prevCapZero;\n\n while (src) {\n // escape\n if (cap = this.rules.escape.exec(src)) {\n src = src.substring(cap[0].length);\n out += cap[1];\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // tag\n if (cap = this.rules.tag.exec(src)) {\n if (!this.inLink && /^/i.test(cap[0])) {\n this.inLink = false;\n }\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0]\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n}\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, lang, escaped) {\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '
    '\n      + (escaped ? code : escape(code, true))\n      + '
    ';\n }\n\n return '
    '\n    + (escaped ? code : escape(code, true))\n    + '
    \\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '
    \\n' + quote + '
    \\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw) {\n if (this.options.headerIds) {\n return ''\n + text\n + '\\n';\n }\n // ignore IDs\n return '' + text + '\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '
    \\n' : '
    \\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '
  • ' + text + '
  • \\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return ' ';\n}\n\nRenderer.prototype.paragraph = function(text) {\n return '

    ' + text + '

    \\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n if (body) body = '' + body + '';\n\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n return '\\n' + content + '\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.em = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? '
    ' : '
    ';\n};\n\nRenderer.prototype.del = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n if (this.options.sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return text;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return text;\n }\n }\n if (this.options.baseUrl && !originIndependentUrl.test(href)) {\n href = resolveUrl(this.options.baseUrl, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return text;\n }\n var out = '
    ';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n if (this.options.baseUrl && !originIndependentUrl.test(href)) {\n href = resolveUrl(this.options.baseUrl, href);\n }\n var out = '\"'' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\n\nfunction TextRenderer() {}\n\n// no need for block level renderers\n\nTextRenderer.prototype.strong =\nTextRenderer.prototype.em =\nTextRenderer.prototype.codespan =\nTextRenderer.prototype.del =\nTextRenderer.prototype.text = function (text) {\n return text;\n}\n\nTextRenderer.prototype.link =\nTextRenderer.prototype.image = function(href, title, text) {\n return '' + text;\n}\n\nTextRenderer.prototype.br = function() {\n return '';\n}\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options) {\n var parser = new Parser(options);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n src.links,\n merge({}, this.options, {renderer: new TextRenderer()})\n );\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n return this.token = this.tokens.pop();\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n unescape(this.inlineText.output(this.token.text)));\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = '',\n body = '',\n i,\n row,\n cell,\n j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n body = '';\n var ordered = this.token.ordered,\n start = this.token.start;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered, start);\n }\n case 'list_item_start': {\n body = '';\n var loose = this.token.loose;\n\n if (this.token.task) {\n body += this.renderer.checkbox(this.token.checked);\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n\n return this.renderer.listitem(body);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n }\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n return html\n .replace(!encode ? /&(?!#?\\w+;)/g : /&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n return {\n replace: function(name, val) {\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return this;\n },\n getRegex: function() {\n return new RegExp(regex, opt);\n }\n };\n}\n\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (/^[^:]+:\\/*[^/]*$/.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n\n if (href.slice(0, 2) === '//') {\n return base.replace(/:[\\s\\S]*/, ':') + href;\n } else if (href.charAt(0) === '/') {\n return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n } else {\n return base + href;\n }\n}\nvar baseUrls = {};\nvar originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/),\n i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n if (str.length === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n var suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < str.length) {\n var currChar = str.charAt(str.length - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, str.length - suffLen);\n}\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n\n var highlight = opt.highlight,\n tokens,\n pending,\n i = 0;\n\n try {\n tokens = Lexer.lex(src, opt)\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '

    An error occurred:

    '\n        + escape(e.message + '', true)\n        + '
    ';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function () {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tables: true,\n xhtml: false\n };\n}\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\r\n} catch (e) {\r\n\t// This works if the window reference is available\r\n\tif (typeof window === \"object\") g = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n","/**\n * xss\n *\n * @author Zongmin Lei\n */\n\nvar DEFAULT = require(\"./default\");\nvar parser = require(\"./parser\");\nvar FilterXSS = require(\"./xss\");\n\n/**\n * filter xss function\n *\n * @param {String} html\n * @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }\n * @return {String}\n */\nfunction filterXSS(html, options) {\n var xss = new FilterXSS(options);\n return xss.process(html);\n}\n\nexports = module.exports = filterXSS;\nexports.FilterXSS = FilterXSS;\nfor (var i in DEFAULT) exports[i] = DEFAULT[i];\nfor (var i in parser) exports[i] = parser[i];\n\n// using `xss` on the browser, output `filterXSS` to the globals\nif (typeof window !== \"undefined\") {\n window.filterXSS = module.exports;\n}\n\n// using `xss` on the WebWorker, output `filterXSS` to the globals\nfunction isWorkerEnv() {\n return typeof self !== 'undefined' && typeof DedicatedWorkerGlobalScope !== 'undefined' && self instanceof DedicatedWorkerGlobalScope;\n}\nif (isWorkerEnv()) {\n self.filterXSS = module.exports;\n}\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar DEFAULT = require('./default');\nvar parseStyle = require('./parser');\nvar _ = require('./util');\n\n\n/**\n * 返回值是否为空\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull (obj) {\n return (obj === undefined || obj === null);\n}\n\n/**\n * 浅拷贝对象\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject (obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\n/**\n * 创建CSS过滤器\n *\n * @param {Object} options\n * - {Object} whiteList\n * - {Function} onAttr\n * - {Function} onIgnoreAttr\n * - {Function} safeAttrValue\n */\nfunction FilterCSS (options) {\n options = shallowCopyObject(options || {});\n options.whiteList = options.whiteList || DEFAULT.whiteList;\n options.onAttr = options.onAttr || DEFAULT.onAttr;\n options.onIgnoreAttr = options.onIgnoreAttr || DEFAULT.onIgnoreAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n this.options = options;\n}\n\nFilterCSS.prototype.process = function (css) {\n // 兼容各种奇葩输入\n css = css || '';\n css = css.toString();\n if (!css) return '';\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onAttr = options.onAttr;\n var onIgnoreAttr = options.onIgnoreAttr;\n var safeAttrValue = options.safeAttrValue;\n\n var retCSS = parseStyle(css, function (sourcePosition, position, name, value, source) {\n\n var check = whiteList[name];\n var isWhite = false;\n if (check === true) isWhite = check;\n else if (typeof check === 'function') isWhite = check(value);\n else if (check instanceof RegExp) isWhite = check.test(value);\n if (isWhite !== true) isWhite = false;\n\n // 如果过滤后 value 为空则直接忽略\n value = safeAttrValue(name, value);\n if (!value) return;\n\n var opts = {\n position: position,\n sourcePosition: sourcePosition,\n source: source,\n isWhite: isWhite\n };\n\n if (isWhite) {\n\n var ret = onAttr(name, value, opts);\n if (isNull(ret)) {\n return name + ':' + value;\n } else {\n return ret;\n }\n\n } else {\n\n var ret = onIgnoreAttr(name, value, opts);\n if (!isNull(ret)) {\n return ret;\n }\n\n }\n });\n\n return retCSS;\n};\n\n\nmodule.exports = FilterCSS;\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar _ = require('./util');\n\n\n/**\n * 解析style\n *\n * @param {String} css\n * @param {Function} onAttr 处理属性的函数\n * 参数格式: function (sourcePosition, position, name, value, source)\n * @return {String}\n */\nfunction parseStyle (css, onAttr) {\n css = _.trimRight(css);\n if (css[css.length - 1] !== ';') css += ';';\n var cssLength = css.length;\n var isParenthesisOpen = false;\n var lastPos = 0;\n var i = 0;\n var retCSS = '';\n\n function addNewAttr () {\n // 如果没有正常的闭合圆括号,则直接忽略当前属性\n if (!isParenthesisOpen) {\n var source = _.trim(css.slice(lastPos, i));\n var j = source.indexOf(':');\n if (j !== -1) {\n var name = _.trim(source.slice(0, j));\n var value = _.trim(source.slice(j + 1));\n // 必须有属性名称\n if (name) {\n var ret = onAttr(lastPos, retCSS.length, name, value, source);\n if (ret) retCSS += ret + '; ';\n }\n }\n }\n lastPos = i + 1;\n }\n\n for (; i < cssLength; i++) {\n var c = css[i];\n if (c === '/' && css[i + 1] === '*') {\n // 备注开始\n var j = css.indexOf('*/', i + 2);\n // 如果没有正常的备注结束,则后面的部分全部跳过\n if (j === -1) break;\n // 直接将当前位置调到备注结尾,并且初始化状态\n i = j + 1;\n lastPos = i + 1;\n isParenthesisOpen = false;\n } else if (c === '(') {\n isParenthesisOpen = true;\n } else if (c === ')') {\n isParenthesisOpen = false;\n } else if (c === ';') {\n if (isParenthesisOpen) {\n // 在圆括号里面,忽略\n } else {\n addNewAttr();\n }\n } else if (c === '\\n') {\n addNewAttr();\n }\n }\n\n return _.trim(retCSS);\n}\n\nmodule.exports = parseStyle;\n","/**\n * filter xss\n *\n * @author Zongmin Lei\n */\n\nvar FilterCSS = require(\"cssfilter\").FilterCSS;\nvar DEFAULT = require(\"./default\");\nvar parser = require(\"./parser\");\nvar parseTag = parser.parseTag;\nvar parseAttr = parser.parseAttr;\nvar _ = require(\"./util\");\n\n/**\n * returns `true` if the input value is `undefined` or `null`\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull(obj) {\n return obj === undefined || obj === null;\n}\n\n/**\n * get attributes for a tag\n *\n * @param {String} html\n * @return {Object}\n * - {String} html\n * - {Boolean} closing\n */\nfunction getAttrs(html) {\n var i = _.spaceIndex(html);\n if (i === -1) {\n return {\n html: \"\",\n closing: html[html.length - 2] === \"/\"\n };\n }\n html = _.trim(html.slice(i + 1, -1));\n var isClosing = html[html.length - 1] === \"/\";\n if (isClosing) html = _.trim(html.slice(0, -1));\n return {\n html: html,\n closing: isClosing\n };\n}\n\n/**\n * shallow copy\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject(obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\n/**\n * FilterXSS class\n *\n * @param {Object} options\n * whiteList, onTag, onTagAttr, onIgnoreTag,\n * onIgnoreTagAttr, safeAttrValue, escapeHtml\n * stripIgnoreTagBody, allowCommentTag, stripBlankChar\n * css{whiteList, onAttr, onIgnoreAttr} `css=false` means don't use `cssfilter`\n */\nfunction FilterXSS(options) {\n options = shallowCopyObject(options || {});\n\n if (options.stripIgnoreTag) {\n if (options.onIgnoreTag) {\n console.error(\n 'Notes: cannot use these two options \"stripIgnoreTag\" and \"onIgnoreTag\" at the same time'\n );\n }\n options.onIgnoreTag = DEFAULT.onIgnoreTagStripAll;\n }\n\n options.whiteList = options.whiteList || DEFAULT.whiteList;\n options.onTag = options.onTag || DEFAULT.onTag;\n options.onTagAttr = options.onTagAttr || DEFAULT.onTagAttr;\n options.onIgnoreTag = options.onIgnoreTag || DEFAULT.onIgnoreTag;\n options.onIgnoreTagAttr = options.onIgnoreTagAttr || DEFAULT.onIgnoreTagAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n options.escapeHtml = options.escapeHtml || DEFAULT.escapeHtml;\n this.options = options;\n\n if (options.css === false) {\n this.cssFilter = false;\n } else {\n options.css = options.css || {};\n this.cssFilter = new FilterCSS(options.css);\n }\n}\n\n/**\n * start process and returns result\n *\n * @param {String} html\n * @return {String}\n */\nFilterXSS.prototype.process = function(html) {\n // compatible with the input\n html = html || \"\";\n html = html.toString();\n if (!html) return \"\";\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onTag = options.onTag;\n var onIgnoreTag = options.onIgnoreTag;\n var onTagAttr = options.onTagAttr;\n var onIgnoreTagAttr = options.onIgnoreTagAttr;\n var safeAttrValue = options.safeAttrValue;\n var escapeHtml = options.escapeHtml;\n var cssFilter = me.cssFilter;\n\n // remove invisible characters\n if (options.stripBlankChar) {\n html = DEFAULT.stripBlankChar(html);\n }\n\n // remove html comments\n if (!options.allowCommentTag) {\n html = DEFAULT.stripCommentTag(html);\n }\n\n // if enable stripIgnoreTagBody\n var stripIgnoreTagBody = false;\n if (options.stripIgnoreTagBody) {\n var stripIgnoreTagBody = DEFAULT.StripTagBody(\n options.stripIgnoreTagBody,\n onIgnoreTag\n );\n onIgnoreTag = stripIgnoreTagBody.onIgnoreTag;\n }\n\n var retHtml = parseTag(\n html,\n function(sourcePosition, position, tag, html, isClosing) {\n var info = {\n sourcePosition: sourcePosition,\n position: position,\n isClosing: isClosing,\n isWhite: whiteList.hasOwnProperty(tag)\n };\n\n // call `onTag()`\n var ret = onTag(tag, html, info);\n if (!isNull(ret)) return ret;\n\n if (info.isWhite) {\n if (info.isClosing) {\n return \"\";\n }\n\n var attrs = getAttrs(html);\n var whiteAttrList = whiteList[tag];\n var attrsHtml = parseAttr(attrs.html, function(name, value) {\n // call `onTagAttr()`\n var isWhiteAttr = _.indexOf(whiteAttrList, name) !== -1;\n var ret = onTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n\n if (isWhiteAttr) {\n // call `safeAttrValue()`\n value = safeAttrValue(tag, name, value, cssFilter);\n if (value) {\n return name + '=\"' + value + '\"';\n } else {\n return name;\n }\n } else {\n // call `onIgnoreTagAttr()`\n var ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n return;\n }\n });\n\n // build new tag html\n var html = \"<\" + tag;\n if (attrsHtml) html += \" \" + attrsHtml;\n if (attrs.closing) html += \" /\";\n html += \">\";\n return html;\n } else {\n // call `onIgnoreTag()`\n var ret = onIgnoreTag(tag, html, info);\n if (!isNull(ret)) return ret;\n return escapeHtml(html);\n }\n },\n escapeHtml\n );\n\n // if enable stripIgnoreTagBody\n if (stripIgnoreTagBody) {\n retHtml = stripIgnoreTagBody.remove(retHtml);\n }\n\n return retHtml;\n};\n\nmodule.exports = FilterXSS;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/chunk.0cb8b788b03dcc48da14.js b/hassio/api/panel/chunk.0cb8b788b03dcc48da14.js new file mode 100644 index 000000000..48db4cc09 --- /dev/null +++ b/hassio/api/panel/chunk.0cb8b788b03dcc48da14.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{101:function(C,H,V){"use strict";V.r(H);var L=document.createElement("template");L.setAttribute("style","display: none;"),L.innerHTML='',document.head.appendChild(L.content)}}]); +//# sourceMappingURL=chunk.0cb8b788b03dcc48da14.js.map \ No newline at end of file diff --git a/hassio/api/panel/chunk.0cb8b788b03dcc48da14.js.gz b/hassio/api/panel/chunk.0cb8b788b03dcc48da14.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..93d5cb3c4f6b39ea7fb9df0e7049bb682d099e43 GIT binary patch literal 339689 zcmV)6K*+xziwFofF!Wmj17m1)ZfhCEqVKFo=YI6YW{acS4 z$(kh!{uQELrWy$GxZTZ8cQr6@3_uLXw*eojaULS2$js=iRAh%j`%>rp__4LtXYM3} z5mH{Howa*ENc3oeA3ps2Z&&X9KmX7F z_`m+k_UBI@fBe_~@juf4b@P9_$^D<-fBNwD>Hguvzs@(io8y1^zyIaa$GgqPr^oxZ zPyg~?kK4z8-TjyU`sdrn&HmrsJ-q$&)7^)s?c2w@+o!w#&-*+4^{@Z(bobNG@B58^ z`7i%F!_u<>S-e-rxPp&A+_6|JalK?f=|-c=&MlU;pL5-0Zja zA3oeY?*4y={lERc{@ahYZ|>hdeCY4K`S|A_HXm+(y8E}E-ra9L-v7tlzxnvz|69NN z-~ZdYyYD~#_y6|8=KkHk-M)Q$_wnPKpC9f&JpK3o_Vex2kDGV@_AiIHZQ%z0&0*{O zP2QHc@i%Sj@#Fm5|BKs_H+<^K*5?ghacw)5ecpzMyE)HsTicDxTkkg!@95Xhv1eA= zhL6j()D7RkfBWUz2j<4hJ#*vpx!-k8FZoH?^j{QevM(rwzN#1b|6cj=|DJeTs}UdRd)RakB_q8O4{^5+T=Q(e4xvATlHvI$BHt^Ta{lBoy{SQ2LY3tI4@1Q(!--}l8 zwHoHSjR}{|Z7SZ;ub(S&t8K&Q4Oe^#|LvErADA64_sovZ=l;E9FS%^_I2Oxg`-YO} zyLyxV@0B6{pL@H6V1;+pD&$x?SFN&2!}_mfIbb|Yb5GH`ecHGQi5q|Ws}qZ`(bL|l zX!jYn_*b;293c3gZ}REHw9~);%m4A;|J(oZ!lpUS7*5L=&KkqjhVX}}{e z`j*A3aO*OXIe^{C0QM&X*q;pGcrt*)7{G1};0Xh` zuH!ea<2Tv(ts1@+qqf@Moj7>iGI%`)q_@HAIcS{?-U)-ZjTQ??eLwa8cbFy-wZ@%fNqDjI{@CAksW+Tur<6T^6sCVL z99`Tw_iXY!d^%h6F-Pzf?`|TRJYiI#3udh(o~`ZOT6wI!_^aCE-mtyr`5qr}hR1_V z^Sq6?;6P7f#Mh&rc4(J5+TF5Eby*y)mif)?`@6@pl20hPw~|LIc|^(MD7hac=Sozp z3uk|Qf9*Y(HoV*LQ@-jr$bD+` z8L@%f+H67YBYjg(Lm`L)h{y#L|Hv$2nDOZyP|)3u{Zdq^U^ z9q{OXv$4me`g(KBqt=>etXMx>9U{A zD5yPKPeR}_N|MUCP zA>IoKQ5MH54}sXDAUH5ViZy93Lw4!sY&5sWfyJW?T~zFH3{EaxGDi{7PgPRlu6H>) zv2L=S;y8Vbz4h@b9zhDFScG#%7ytVJVaxEyg#pGTzP8^3{e~1@eZoaDvL|+}!G4)P6EZuR|8^5xX z>sc@3?3H-dPqQxjYLYM@)5*bn(qCnHUdBsYz508U?LBkRVvB1Y6B1g%$8kN)x~Mp! zDsABxJ%8~nDK>EODVB~`JTH|cJEpVG*tf4Y@Y~zRcW>U^J>A~F|9C1!_crx??Df?# z^~UJs=&hLW%a-+6_4}iZ5}-9bPg!$6_VMq@5=?5`N$>M%&kjx7r-0=2+|OU3)VE``yRHwSo^js~Cfwo5+?>=$%|S(GwuIN4HF!uVf!tKYqFSX76`*-K3X>SWP zkL_IX>LBA9( z3zg!R?w4v}R;k=^!?@XN!}l=H6Sc(9A{DB%x-3%pe*a$Wm+0KS__{u9SyZR_UvV9| zb@O8HsCW*pA0M_Y?$J`*O?xZ#t*7Cfi+=RT(y4NoFxl#yMnmudjdNr}aWty+vYj1! zo0g@eD^zQ0{$8tk!~MT;Npz+G)$!BW0XED!#ttQtmat?>q{J;Gni46@wxO5?RMmB_ z48AvS?;qcu?ZqZmc&W&2b%%DqF2k1J=IS28#u6^2a@6y&c1x0Jd2d=XQ$iDCY~=T5 z^4i?4d~u1V?F4txb@H=^=6<%*as4oOgcH3 zK<-T-=ifydCCcO(1EDy3p9N#4_7!|B*%D4=Yqll4VhL|20=&)5A;3Eb?pnp`-0U?z z;?zo-AvUhZ{4lE;hyR!kwvdgvvdo@kGWCRobIB&iYt48~+WZ~MQOBItOw|@&x84T6 zc8zJPO<|nD*}S#dt-L186c_k9wEZ;N1-5t1%M?I+JI;vOWe7{Me)xc;oMyKgX3H`0 zOdO~Sh*peft69`7Wx#}q2U@-#F}hKd4UcwpF=O`HQD;50-PCjAY)iXNI<-ymHI%X{ zr<3v>bgt{$3I#CEnxu<9)@R$sBgfH{dF=4qBf0<>`Da>_Bzub&%ty&|dK~+c7Hwxs z`n0U>Z7l9}UE7C{!VRKo_o&N0(w1#xI@v~E->}|4oJo?}tg-n~HxQ6j;yA!M(kC_A zO~>K@**!}1hy2b7jdT#%14l|1<2_Co{ePOh`l5`ZL%H!(<_G@eP)ej=qvitD3S^_% zv4wlD^!B1CmHN=x1hWUiQo*|sa%<+YiMUP9`U7qE7N|WTo z<#vKq5K5W;J)BJ)g{nk7w5JxFcB*Wb?1)B#FD0(T%?4W--^V@yRS>J;*o>NYj#8I? z=fZi%TbW~sDfdYUOh^bgizRI#QKUS#7_}FXNprI*TMjB3V zwv4o4u`IKU@LnCJLrRe$SO-g+t6rzmGQ07*63|TA|35%bi#sevM|7fx#k6s^_W{>D zV)tEeucJfma&CNOkX~Chf5jILzp667w6XY=iFRRJ;8Y9gk;h!TMJd0QjS`&B3Fr(o zDKICn)Sk?VUOuxKWwROKJT+6w3AVLC-Kgb)IxvczfdkNM_YbB`ak5ht%ECQAj!qi4 zq448=4zZ%j@DpGNHM>!hAt^70B)=Gv{HY-cM>wvfJgt;y@(|RzxX=W2rhyEmf#kFb zLj&nd1IgoRHU(s|r;q@WUdvKIVstkerpho(gaLf+CPd7Pi&F9KatKZ8+-L?7TAFuJ2>C#=yCi$kvxN`O6U zhebGH$)1{=7PMqX4k*j}S14PL&^CWHee3lec&=}v^n)Ed^Jvuv_HZ`A3f*W~;Bp_N zT5G0uZ;2Ou{4SPTB=q*I_u)t%*gMPy+mq#2a2{eh5SVM02907j9#hdKcYiv1 zacD>1h6Ifa7leL^GZK%UTx_#WRahx2mz#--PE6l%9l7^~y|U|rsY3OPM)Pz-&~?E6 zwtn#-vk=q?l{;ydYATAMeI4#R5%-~bg^{SIG)ITwz%U#dqWKCy-v$0S}) zl$vr`bgw#fnG=P%RLGv8C1`kF*g#&~G8RV-bK5ZMimi1o9<+XVeE9V9`N1I1V+z=e z(B!a*G-l4?1Y`4RnQ1ofG+oB@f%FNNo<5T)PvdGM36kSjZ}2Xm>v6MFlr!*QnOx{4EbUzy=cw4pX1GCn+X;!OFiLYbT)J63%NKL@%A zVVf$Lx_pAedR20oznFy#1hNxQi_m5_zKhkXT3H}QIx8YJtx|xeY3s|cefBMCoJR6lF(TNui=74@!`mfXCLfK-i=SMnY=PyuODc6c%kmN z4qb9J<#Ih$M^EK!{7O6RR*ke9DrvXqq?K$v!xuXc*)gar2ckL-MD64}v?z&m@S4VH zYn;34ICqux+*N2FIj|^m)bbg$nCggx-r}JzP{5*DL><$Y6TG4cQYphzT1#4~lbsvK zK&+7ci?jFo{D8Rt+68Ej=xfL6#)(xOCZWy=*l19T!e7)uztP!^FfOR(!(`)uqC)e{ zdL5{Ural^`63mBsV;Z^fqFn_y?#1OQ=^;vhndGcgIytJaQY=uNm)S^~nT1u9YJlpY zNL9Gg7Qx9r+R>G@A#FPdrcnjDtadI&R+9QE~%W@QAP97zScKY^RQ;SjGTrxS3?(jhWQ`M9}~jQ zjxtX*?`a;T(UPW`yuLR4cz1j59GJKk`YjcMRP6-($bT=;za!`_L@YL8;uf5^Hk7fq zwz0QDp66M&P@$;3HOas%e*|X_CBv_74Yp|`;{*D1PgOD$P=3oH$Ys|-YjFcL2Fy~0 zPRrOQ`Ac&!{_b-dQ^?F_m^pBqE1ZdyDfvH?kXwqjTkhY;ylk^RmbTJ^?bC~P>ObB6 z?X)o+&6b|ROx(dxvP-5d7@Jt+_=s4cdXw0woMb!0ubUxFLN1WWD{yTKjtfG>3Q@64 zan0O0cL+SvO8rjHZA?_^u(%o}2*dP3#uq(=2mTT5A%5p*uj%2$)l=tqOkW9J8m~bY z932&dquN~vYtk)ej*e_Q$0~?fFUz0APL(zw@(n-aO))s!Un}*3das_ya4#rw-#@&) zMTE(@JDtlo>-0rHrem3$R?(2x)t<02j{D>`XpiE+?{o8p6ATwLaX{fS90DeKNAY(a z>OzTX+4(}F{dE7~)5ojp!O4Q~!ivBpA)l@ZHvIeQJALH^;+5K5lYD+@ z_P?au$Q{ZJmlx;QvM45sG!IbX;H|f_fcQD2q$69E_ws;-%@2`gV?->Y`kduC8q?j~6=TxhoVS zZXiDvXDa$o?P8*1!bImAN9P2DImp^db#@veGK?gu6y^KjvyH6jGSXLGtLI3wyiQ-G ztpWq|XtLL&-X*V{RH#noldwmO_2_nEt&MXua#pz``aM0Fa zVv;1nKrD4z^I!oSE1qqf zss~N`Vts3U9d77Tq47QqvoL*s#@rj@J#aE{g1Rw7z0FXMuJtxUolQ}PIf|LZZY*oh zmbJgjItr={jLLJD4ViK>jLOOIDksCPjIqe+jwCxS(OpuSKGS*E>?p%000L>2MHJ`X zXr~}Nk_lABh)H+PyfE#qnYsSs~G4U(Q2c%}7R?7NnElp&ugImX4h|@H2tE zsVvJ_tf&vLlm1W{@cH65;;BQ;R6MA9&5G2ljLiyNN7c%xSsoQjmgLky4q0TYlzl>K zW;jNuM%wgICZ{qw6}hQGh4o3QPSm5wgmHDqlbeca0zE&^jGD-F_#FC8Od(23&BVn- z6<4JBrwfwY@S<7QhqGxK$7bAA?${^o5+69oeGuRDvb4dqZ%HV9MjVY6*_<> zx^Ek>y7iG2FtRd6R@m`gI@Vn{n0F@U)q2*MXwO(yov{vUHcwQo*{Wk}7A=Lg40$dJ zQ?-#3s8x;B4C;2|CTIdTGw^8p2Pz5HM%Zq^hp}GEYeGM42Y*bGIO<} zSJuYcf?b1Mt{EfNLKUUj0KqI#~$?W>9d=3jh^QuJBd5x4_Vy6>hu^Ei5m}-l) zUZSrR$znm=a4#MK+YA#x*HF)1(4khU^j%P}pdc>jdm^hxf@L( z5r>{)qMl+JdWtw^t=EC->)3q{ro`YPK4Plt8fjfm6d*|okhCa3nx*#^gYBga3X3)< zF4~|dZBSgaLE$9odU1GJTwsPWs8JWx7FE!+sDk{Y_#mKY5eTRdu+Sn9E5s zJRO6pDC2~Nmk!>-IJB2EZbLiVJlG+-AMVPrNw6Vmg#15n8ivCReK>s3!~WaQ-VKqz z-U7XN=AgFIAuPw^e+JOdBQffzJ;IRevY)k%5Dr+PKu4Yd?Lz-TrE9_*+8g4{#G_7c zABbd4hsFkLwXS9_*-_3D1eQtWk4@yA!W*VzkXp6Bb?hzhdiP#M<@jf#ey&j&!H3~I z#M1#wGG_0KE~a12RrAXnNs}Rxq;;Qk%L<}Q{s?ZLk9R*k{Q2(rPB?bBWzWL}7Y|f$ z9vkGcW1gA4mmOr;Q*4J(AB^pXd(qfG#(rX(i@mpOK4$jrBcko;^wdSs+y%k})l;qe ztdXrd5FEUcVNS(8M>r+`2P@bg=6wx}_&RJyMKrpj>rgWo0igs& ziEMHmkZwnT{B$90+{fDf7r}fW@N22Kh-_5`0tNZ+gt*>1)5b|pQ&Zxrh^1dnBuHT^*zlJ@Ob*^>!pcdV5mPAvUZ~5)W z$ufVTkv{!=_xR`gj}MQR23Xa%*0sKLUsY5moCjr2fD9xBw*+F3KchX4N*%}Be12jG zZNrga1WTKv!+>5=z>WD>z}>>!CHO>ZkGWfn_-Z~tlrf89#9N>t650MKh zp4P>YPkUQa=!(fD<}2eDH=1S{G@)1x-}FeqJruS2JdhEbyk_hG^SREr8sg5F>|!z5 z>30js##RU?YR*?87t0$b;lSzb3d5E$4~d@TfvuF~y-YMEUd zFlQ#N1CNPUhem@<$pXq?Y?*M&3jITP3CHN!(99<7j9WSA2w}ldgB^6I(0h1N*r|_t zxd>>eB0$93XU3OV1Ol8KX;DC8f(ctwZdWY~ zjy5rw-0&FZWO9a&d+|fm5h$6sV2a!oiRjT~+|0LHihu$6Kx? zl^flJZkZASW80z1FcAc0V;Q-$W@P!;6Z*M98;&=N9Ma$s51_6MR${~nN`KHRi;c^i z+prvX!~2Rl5#_8|T6(gADi!lYE7CGBRuGAUy(!l&>e+{T8(mIitwzdbuNCEsJP&PM zhUAM^7`^5b@jDWv5T6M9d*tOlF;sop+l$Y-C|vUt zI<8q9N^v=jVkSm$3DYWBomw6t6P~79NEArZC_z=`qcQ`ROlUm_=C>?0>w!(o7O#Rc z%8RFyfb6vWRhqO_$4YoD20zgG9)@El=p`=ygkehApe=BXSOZyU5ke%q1P_Z5TaU9< zA;S)?OB~J7Ndin(ll}ylR?S&tY+?Zu z-Nft)%O*!jN`@7R|FM?^4PV4u*l1L2Snmiwk1M;Eam=-=($7ttPn9#nPOxs{1b`qU zJltus^va0q!d(F^1qBqM6WC7xFVeC^+@!!$EB4GN5{9*DPA<>a#drVn)5oW818bwr zns6_D-;6>}`V~+xd`*wX{yWYd9LH<0`hv!#kXwVYW3W1oX;k5laP<{^36hs>s)|>C zW@CK!@ZBnQ9vm%53J`}I$=+@pppd|QyRAPD!cHxF6FBf_hedkNKtZbB!me_=Q_6qe zoPGTM5m*K9?qO89J3WzLpxxjkFmr^zah#c&DO{92WQb@UL*>St{VKMmEX3bJbODRZ ziL0~HfW0LLf^ePE&1B$teI)j81?~!n;bV+Ab??De`v%{gm89FvR=nht>9Yi}IFqG8(Teg?i%wpN*dC|BAp&8DQdWzLcr52Ah2fAJ z;YR4i)3#6m)(-Ba2r@KHYz^GtwWv(2FL8j2?K6SMN77j%o{EuJ5Nb1AC~!0|_^(!G z!vSNg0Ni2;4OVG#fhNw=Un~fqDGvBNII_W`k|3>&IV1!uT{zVJI4S2H?6BBHq`#xd zr4D_;F5xOz7*Sqex-ddM^{o*IPV;XD271XxoJP{TNo9vI4etOHuoO_^;BKhngPg>ziOwyKAkPTQL}*knMUNafjXlG2ENTx8lD6}#4a`1=bvDRb ziDeW`MUmkO(^7Hip@{IKX9zjI>Pr~x`gY?kzykIDbXH8q;7_h-hb8FOeFCx@iC^d4lqyGEC9u;RJmeac3%0gD(eumtjwl7`!e=8O|dm6$p*{wdgOj z!MU#+LD&;2s)IicMSCy6d3C^6ySDmZ%h<)G8?yDo_N*&}>yDE>+OHCh$q`@c)I=5-FZ`7 z9}3>u91r&yz#R(7Vj`>&kYs&U9R5CV z&A`^Um&ETd%p@G){ECLsImqv2(NAb$H=tF@p2sVWCbw7oePTJCSwFn|0f_~>R^?io z{Ot_=orvapp=1JMdl!I|1cYs3bvqzR)31TzG1gK0c;EPmH!JMN287mc+Ke~1z zmOK#>hbobV)+pG6dy7o$uIb=u^uwl1ZxOmnqk2Z|l2s+p%mhBi zMVRT2Kk3X}PMl!-dPaxgNN-n_oF`MM9sFK_Ez}^@1NHN?X=P{w`yAXe1l?)+Kn=QI z(x5#P9cl}_?vdE>JkAVY0(11x-CMdVP5kD&yZ7%ej4seFNHF8&Oh_KaqflOT{NJbmKnsB5M7t4ECRA(_qZH7J6bLF8I&)f0AOMiA18~k3+0h5DP{JwE(kY1| zX%_Jsgq6xn0rG9GSPYEhO69VCeUytzrR@%7}ij z-Ql)$01_sQ*NW%>NsaiNVvn7D8C$!erNW;(66XZtODBoQ9noNhBZn+E&CH=32`s?X ze&q3=b(VhfN%#JObq96~GY>-jid~Z*1IZo?@@dZ$40$-xstT+(_$*2lO9m!nfu3S| zss)wBn(7cOT!spHKmtPSN;`|@&@-U;jReh7V2_-5hH3`lK=K4CLi$1x=cqrU03fpU z7sD8WQvg^YR5i{T*d)8q0+@?pDA~=>n65R}m4JL=&zPc}fo#1yBDp~J1Rv_X0u_fP zQjeK`Btm!!DF%yjfC(k*4NG^B$$*MK;`_kd&GCbYY#tzbjL{i1=2Kn9e5Bu^pOfC? zGrAB!3hV=)>tYs!StEeB`S8)^*p{Ok;l*^4YxbP}pEBoWo>&8kZi3)|8P^%qeUmE5 z6-t^=1`%e;IiZV^3AhY#mK?S5TSn^#p%4}*V2P7LTn`0SL21zksg$y=i*9(Gt3y9L zMk?H^5DU=-O_0%%LxTnjNX9(=O-4;nXl+Gsh{LIio-+!>@iWy{n9hvA;cvV)I?lyf z%o<&@5~syJ`o`b_gxJd z)vQ3AJ*jUY>0%40VOdIq6@-q%G?$D;)eL(ym{ZSdOB=Od-dpc;m!V;wXtjhkoXkDO zs1XXjUO5@cektoOUC0ifS+u3VuZF3dP&+?9e$+} zWJE8GU;Pvy6L1Ws{>sDmcAykq8!^wLbQ@Px#)N8dErV;5(F^WB?Z)}Fa|7O;sB}m@@1!iIP4M+sz zfm%=-(omBRzyQCnR2kO8DT%;WH27S$4Bz&eaZQXDe*c z2-3QBrKVS$lZYbRUnxr-%pfhXso$y>ULm!Bx|j>Gl?`{aGOOrc)5U6-2kUAcJY|Zg za)CTC5BkMCSkKLa+^0=cyyBk2Hh6dU_V$Oz+jV*$=!Zl4D!N|r5(h{G91zbka=j#O z3U78{f6ush{6z#%rU2y-Y{YxQb@!Ycd=I_;q^}2)K*lP1jlhn~3O*Y`7I*p*ojC0K zleWe^YXR@jD-ke39q3?n;lt^!&=3vlolvka@KhmeP#Bk%3$bHZ?Q{3Q_F z5{^u0Z(ZwrR`|U0w_eKjy+~Dh?^9B2=vfbm$3vmlAliC%Jt9|R{p1~h>7m8FomcVahcJGdkb ztjfqSGx1Nw{R4C1;sf`0AI|s4VB0^J;XDpoq_Wcg37$PFIRR1(UY6mSG?lK zs%@5nknk4cKT2>=fPhM4(Bt07`>J2|*(r`3b>_(@Fe-ANu0|c(i{lIZ`nP2@GQXTn z@88^ic-y7>`|}_=L5gIB2I!KK8O~m;01sa-K_I0A4$OxlCY%VYEW0I9O?5Q~bGr%L z8UsDLZ0muxMJUej*y1~M-C{nxRpePfIhEcq8MF>+=1hwin;EAYY7~7JN4*N0rNFR! zSt;1|bqhE>lMq^Gv8*EuQr=6W^thUti*8m;=8Ds|!i=Syre`;;wl%7(BtTIG*rKeI z5RrM)kGii6alt4`ma_bQQD+cX9X?Z}dDbRl?QfnELt0+w-wBDXN3sqiot1Mhu^-lBl_n zma0Y8=df>6yFqu#g#CR(OE$0(`>@) zirC;@b~vHp!=VE{)pTZoUf&r=IUPn-MCxXW`D^ps#ZVF)A_{$Mg4jJ+_QL&7WH%V8 zn!Au#NiN`N$FU}ollEj|4C(^kPWg<~V1tXH)xZkv@p?j^3b z#ST`3L1DlPbH8@mf&PSCBSi;h#3_T$Du_j+<^4&cTp9mwZqKFiLVuD%J_-2pv>~B~A+4vQkwzG# z2)(fj9bX)@ErDbu?%1w=?cy*6V6uy2(62dM)#s5=q2QpX z?&j69OOQ?Lcc)hd+0`O_yDs`;RQTN)S9N)HXj~sn>s(DQ&eeAp&HDR%>Ff2*wK|*} zt48tDaUJ#PxQurIBeu))8MAny8D7ih+g9@X=ap2k;ulo!`xmNrJ%?{wu^)c-wZ@%I zy>xtOhW&8SDqrvG-?l}6d}*kRy}hg(_zMH($5#i;^?bf{&GMK|bdrWouUP105yfgv+^vVSI!fd~76TE+U6MUhH??1EWee){(bY2)D zaKMQjOL5U5rPvR?o}ZrA`nP}R+qTn(tE1g7W75`TIB?&* z(Dxr+9^NnJ^KC2n@Oy8}pFPmNEF?dC4ME`x%kynp{pXkWe5*#VD0fxEefB``vYO!M z*JX^~^u2G}YX9rkjSa?35&QFZAF==I*N@oWsZ_lO;?e{3C=_z(O+NaGJ>Zre5CfJU zJwT={w^c_R^GvTY_5jFx;MGl?(Q5`{C(a3}~wt-)pLX zrz=DB%B$bDDxWUr%&$0coCv$uzHn`3{-&>d+ZOusS!eG@N!Npijv+4!e1Cpk|JO75 zw$=N~S<#$Caz?PS{fnBvS?kx)5$qFoq_dRr`Bu-pFckjstSPu6&&#VLEBmS)h{Ca& zTA=lt{OBm1%8LKKZL9tD`JnK7RmbfOzx8y-IXkJs+MQk*F@Jqw#QeH1eA|Zk+w+DA z!^8P}xKFRNz~5eIfzM?1ZL9hp&vpSh+MXWe8JqahhVUQPH-uMm`KA^8?(XUS?d|)s zz@fg67wy3U5+o%giW+A@U<&}x;fGtdS28{%;)&bkL%h){k|CUlPlJDZx+nwItlG9v zZ9%9*60pxIfurxE<9i70WKar4vuNnsMgqB2a9!YfmB-Fvi%#Sm@S{An%zwXKGwWl26!>(ax!EOx^n{; zNNywy+Yx-ELkuOo42XnZ8D=!=&%qbr;c+t=Ry7=2>62cK5RCXw(V(EBA;1t+g*O3X ze`C;SoyP<3 zVV#=t|9383A1cBt{g4 zlGm`|Vu*0$D93z244gIuLTD8F;=)mNq8GZe(ne_usw(06yfDfO5bTbjyOklyOKmQe zMlLyTZr|Vi_4XTKZ6WBIZo~|sZbXocL7~+Obrz+i$_}Tt=4`P`W10lJ1f&^>+dSYq z84%=(*oDOKP^#Uk^6ONW)L=xRm5X;2i!;O8Gd=D`39mNRyT@~v(m~+I(r8+Mt3nQ5 zM9M2d>46Vkfmhf>Kry+{alynD=WsE zMoU)4yJa>EF5pc8SiNl2ZUvF0-b9nsw+sciPkHt#)JD(QsB2SS_RM#m-rs(Bd+zCL zvHa@hI%ov3poDQL9zlT{TEaxW69MjFRWEicuL-lgo7e1=u-dzI#84Ykj05r%!zJwI zLEwvUzO}NIB`;kumP+5tOS$sE0UV`@OCocRj!QOaDUrTKXeI??P>hq;yTBs}n~Io} zO4M3{t>Vu#66nw<2E0L#ZL!@V$nJj(C`uiAj(s78GFX9zWiGcy~7IqJq(){IGLxfubl5MABk|#dH&RbKV-(F+H67 zJOdcD9NB@?jY#Lr*#iVx*M*iWI$nf_6Cs~VUat<$v=GhZh219#gpeD9FeYCI7dpg@ z_^km^A~mI1LwGm&4Z?<9G>LIVG@6j442RBWc-vMk{6wtSQx+nhxl0!6!Y*6J=|Dxz z!gU7r89a2W2z^QN7<8T&G;%UBzMfDnx!gcz0UkAZ)Oq^Og)JjMC`Xb*kzS_RaLo{9 zgDWrx=vL92i~{HCI&-VVxRoRGW_060Z%?zcIC{Y(C-dh+A)8ePp789}xv0mz!NE%@ zLhS>Zvgk!H?m4g-2-1)-2l#@%cc>!woJFDtP`bJ$bpm~U(b!msNnd~sgk&n^rb=Qh zTlx(%AXR0~iXy@VMMi8zS@6TgT5KUlm>lAT<**{ibTkGb-f4V-0mga63ZRlAd6eI9 z|Jt*e^8Wt&`!n=Kpn|Nln2K>R$d*7rJcl!@8;qA|Yeke-+uX&7>B>mJxF(Rg=}RSfI5=ZyTq9E`KI+t3jG@uau72fcT;pbeMMH0LL~>^@Inv6%Dh3We~853M@AmfRTZ7Cz#ZU&SsC08s6>S2Hwwal zvfKzXzCb7w=1bO^9dLprn=4sSD3p_>)2|^^go_fbQS_F;+38Z~SR=4LBO)LQj97wk zwqP8Uf?>G5WGrP?Z0-@D^6U)bBv$1dDUXvXE!5OCkTY7)vk*Ag59GSW1WhC0dBk%& zYj0-{9hsi(H9l0#=VfQSdwjTmckb&=^#lkn$gZ+$xSq%?f}O%K#=Rd;28;C+2$;DU zmqP4k0x@&sc=KlBAvr@lTCQDSl0C(-8^@zv;E@l2olXGM8zD|QMuKszi+V0K07B9W z-r>i%*DHS#HH=GV&q+r-38S4?ln?l{B9sZZ_u!yY;2j}B$O2IaAtMfOg0F1W)(`<7 z5oR(MTdvB*2rQ1`PtiCEgCW@tL7)LqbX>LbNKh0KcpreR%Gi`lK&GC`-l~Vd4@&Od zj3n#VmYnQcL7$5DrDTuO`kkaaqQ1iHDfP_~$85QBgnVf`pp%04fE+ehmtBdKT<$$`C#p9{YlJ8iL?X?R61Dq(M?swF%sCeMD&G)zSUt z_S4g;CyFN}FL9p-w0R{qb}+~mU5L%I5x`R*=>%LsS+qS9_}%lm>KIJf(i5B-utSZY zf{bK?*#V$a#2y4}9C2Lq$HpmWblV3HPwZfankPd*Z+XMeCJF2klo4u&Dlq8LQ3=Kq zDJdT|1EUq0avFJi9QbyBX@AlL2kD4BbvGDAq3)$QuzT3N4MhM`XP*d-Lx?_m?|Q4h zyZi3b4{yGEynpw@1vMadrAU#HXT!8mM-?ttd?>dpik->m4EWGEgY+675@#Abh>)C^ zZPjB@2JyA3EV)5hhLdH8Z4Cc$15>i13v{ns)@^FFa&VdATe& zEf!(1kvfb_RnQ>L7A__=sGc`d)|E7m%PCu289tyd9-Q&5C^C;vaD*D^muq#%@^wqj z1;zHGCT`lb1a|F>gi6 zQUW3JWz(GTvJ^{DxYH8$8;ig!6&fb~P-YaTU1LXO7yk~%sYMU zT{-Z}cqqF<`)2Da$7fyg=*or#^LUG3t zj}`Y!a>5_menex&sF+?7rq6B+IxYW=bD&Rh*m?Xk7<$A^0ICl5YmkZtFam*VHR06K z%IKb@jKzdbR9Y;N+sO_{;@ouC4 z(JQ6FyvJnyzy12@!=+?-z|W9S8sTIb&}lu+x+r#|ia@4t;!FS!F4EfWh-p6y z(x(n=pE59h;;i6S1LhF5iysmxdSGuEU8~;1cTb-_UZQWe9i!#R2!PqPPa>g;LiJ_)51<$zozwu77`Bup`^bzZ z12Q&)rqN7h5v3AplQ~|i_Tw2|B;5(ih_12b?>i5e_!bX4INM#=8bAE->HP`A9#4$h zfr^+2Jz(0>kOcd(1z6p<6GY*d^-OCxLcE2jS9VZDLt|rI$_RHMg;JFWiF2=42wI_d z;~foGxQ`WNzdpEH_W$|ucP@PbH6LugG;4c;sc@CSj^W2WIy*2qQ7yUP>HG_g1Ebo> zrG(+@QKJdaCc?F#ghsyJ%+as@~Iu2s)lHRv9I zLLWvs%&%Zn`FV{^w|i0Flj>g9)^LwUU0g8us~Z1R3(`tqr2pb$P{u3h?413 zl99ha8mmZu$T6JAc|glOfo&>}hoLPHNCL^uG`>n=%`|t?w`pbFqmvi!$qmgPy^1;23tDq{Pm;igdXhle4(38pG4R2W{aJ+&| zIhwm$KcwBnUK!3a$QaTLQ{5~g4yv#M4L*@5K2l6^&{G{PkRCf<1CB}RA3*Mi7`i|n z657^4by>!(OlKPC`6Z z2Ge87fT(FgiU!G|QDnD6gf~H-gH=3=$>xTNB zH!BCId^l;lHk@KWEUQ&%x?Jirq8l`1bDM)##>o$@& zH_}kq;D41shHmDt@(fA3mNRBH`?+eW{5rT7ftUB;o!q-YJEWWQLN|lNfY^ zjwdCM`J+z5A$2l;&}ROj^+x^P3<6Z~r$Ya1&jVDi`JRLHiW9*VV{BK93PZMn3hxy~ z)c-rs;S`YcJFE{tr!QR+Y1dljPj`R&?&0?F-J7?!KcAjP$RPylBI)!*+_k40M}@Dx z>_Glz+EbjMhe*aDtqX2QKH=tT7oS!yC3+hq5vy+YEKymW z@FmcTyI)s5sn#T!VldIpiTZ{*M&`)fjQM3^(keF?$+3`<3C|{76)>$E1Sx!tPv~zN z#f(SIZj@g(he>^X_&KtDrT}#(BUh9^q#!%eJ&(w26&5Tah9@g&-;^C zUmfKSKc5|i5AZMQ)o?@$$Noa!hKXl#sF8q`xC_UKj){0i2Z8wNH$MJ&|NYbXyq2AO zOzgZ&?0&Zqhg8Z0&TKk7iLWqfW?%i>$J_63AMc-8@6Bs+cu}rMigdADoG#^qIXp5K z4@|jh@=bH(TutBxS8U+L24svKAEX@=MnvRGbw$Iupb=A+0&k{7htWaJ=+w@^(ieQ= z1@U+RKyH*2;UG|rq5#a0R7HxT7gS$qhzT6~K%#8!3?83>Sc6jxIwtANAo>-0c@ta&NB0r{nylI9~g+0<6Gq)dBBMt=iciuAoD$(7f z--5$0PGoM+Hp3}mPaYu%0{z~UxzF#Hbcbv?2Uv~#E?<+z@84dkf5=kq2?lr`N=!5O zSgN#`z{6)+(C_H4XM7&@c`We`YRx7iaN@Xrz5$-@cr?!9h>YcrD{17P6aSoUs`)=m z66gA(XivuSh-YzGva$7gdZj?3n#jRK?<&}q z3T**&FA&3OBgu)J)g@Kixwc7EljUebs9&58X3Bxtm=X&>$Gv$adlK9ivsDPo*NcA} zOvqkz%5W_bm@=|2VxXp54WclaEDbD9+9TxcPHbhIDosTlXylS)offybB2~S~-p!A= zkV@4zO#n33aMsE>zL?yI(sTFrB&-TNu~(jGs|@QRxHUI=bEG9#G^@xHKpPmSS&q0m z|JGqoB6~Kyg5+StqLK$lS_Yi-!!@k<-p%Je*g>vr;NJ@z9w3r)7$66h3oXuVW<%2> zd1V|aj|{)e5Cmn@7p$za6N&5F%H?Eye7ybe!yOFqAAWfA{lnv5`fhOo*?r^9smUMx zfvOtsrL=P*xYNwQ9HN}~aS`bjpvywdg<<0H;_vefcj--zk&twXJ;KULjJ#y122GHI7 zexa?P!cT$ngd^5a-%Gc|H_ZA_VSWq6Lfv9I z!m=qmN(t$vcJjV$#8J+hZm+iymvm$vpR3W+kN2m8Sw7xy2vSf`6>n*ygjIW!L0Ny~ zvmKIw#}!Kq)z-w}9~r#z;b%5Lb`m+0F?yFyf|Sw>!2!4S>2saLoL}grW|B~E#V7*u zS|uNV9TnN?L9R!fJL?J2AM*&o&`xN)@3Vvi(&onw@Yu3g{1_UX3|@8944{PFJWKtx*V#>i-NPBfen zPgp(npQqaZmz9xx3C6`cd%|tgBuUS{iL6%&`Q%ZD#@_f^i7r;YrBo-M<|t}hVx9Sw zfNU5YwUkQ9WgKlwQG^O%WeLXTigo&=cGPpn@!7Vt1($y;`)fs`)stUbt8RqdyJ#ys z6(jn@+A2%(R~zHq!(Tp}wML`8+1AhrUIf){BrzgpMY<#8=BQmM^C(#DF++StE;6adQbqrr_2z0PyCHK(|W6c}aGf4sy`>2LB^c#Qe&D=efL(AhJSIdq6YD<=#`|DN=@vhie`@s9Q1E(XW={&v%dKU;u1ZR)7X&PerC?bc8B3-;gD! z?(5CMAgU7?nvdt_#NlG@#XAvo)@!ABclY-GjzC9k(@<=zEqIN z6l0YwnwIPnTrt+b118WpMfNJKZ;KY0r>|IsgHSP7F!5tFp&~)|)BmSF$k9_sK4Ptx zPI1#bBSL8pjpcOgNznqC3ULOiac`XH6fP&cO*8db#0io6P+`mxbwrHYUcd9~fN~Iu>xeS76z6G8+8JXozDpq?6H* zPewx;qamG)hIld>;wVBq84dMhG}LFK0ag2K&s^g{Yc?*lr1;H%NOK&vlQdXl91$xB zqe7y*@WnyMll&A$RDh#XC&@2B=|%7MiJq2KK}(ALlfk+%@nkXZQ&0k`L+Qac82r|P zcpJZ&kRB2b=^@RLK6)5h(>O?fs={&@ldzEAl5}L)T;=@8^m5Tk#!9kK@alE^8Ak$K z9L9*9&xY~I=$593;2@d@?S@)CzI7-Z#eFRA2|3b7cVDw<;Ob+Z;vvzI$(!9%9@Zgk zV|*R-J3M=J2t4oob>6RQ!N~%VsXkSC*v)ijJJ3)-u%gUbL)6(W4P6IxV3e(wRNyf%V2YBDcs3mi_2iEHrU3_ zVq6b2{*AFT1{*C&Mw3~&&(y)A*~p{WRu|ocAy}_#>{)`q!RE$bJKgI}w!p9qHZd{x z?O5p2S3=x1HqHfBccW88UIfr|E_Zlo>P`fUA;?PikdIeS3-}DrfTtKrJO@DM%^Xj% zrdSDe&8t~`JDLh;UU&$mM;&!;{Zdwe@=~iVWxTfNGDl@N$!JR5zjFMFRY^C}vM@mQ z^^!kl_57+vq+i{_FEf0;-pGF+n-~pPgZcBb1}?rj_&=`%hF&zqk9U6sx#cf!3-Qh; znLnjw#Mu4!pr9&__W<<#W{l20B$N8`E5A z`hYi9GX5%9Q{LPT?%V*=0U>8|W5G%iH~O7pr8-7wU+<}BnlRf-$cBo`T|EY>#~pRl zp7De{a`vthUqZ0?QD0dlza7&R95$p&p{!tfj;Jl8(pSHj9wQEYx1&JRUxVq~z1U*! z9v^=Grpr+w#GsC>xZag7DckjF_tjvJela!hml6*DlImY-L8luTUjy~~H|-0=hs8uf zRKTlS{@q`HK6O8$wuQpc?~sCky3|)|e4)NX z$j8uo!b4I%MXS~_uF6a=zn8e^JC%;=OMwSMvG>}yPgRv{yHzLM4*nmDY1%K_>2qCb;IeizZ>xIbI@#Z%lnqF^FU7lDvUsAejBGm7rO}-*;9e$Ba^ot~|U)BH@l1m(dOW3zXZuyKn z(T3atkA>?Jz{j88-#=Z|AXY}sl8#EWGu}w5a66mk5{ano-xE>=swXeojp(xTNc!@( zujsX^=_(PHK;KZmGv4!htV4x|L>veEyr?$iU&jDKhP+ePcmRt^BW4|)B4uGY*2QbzEjEx>^L?R%7*4CkMsFOg$>mqi zR+Q^KyDA!z#JJ0TU2-tbd^WPV=hOY3spyk`n&F6$OmXz0{QA)`N9FNS2*p~bi%zOb zW7F^64Ikai$UJ%HtIOoG&yJ)+{!u-*WN_`Xr+RR@ijg;O_~52fmv2+v?$7+f>qyvN zt}p1JKmB}h(i!3Vz4*#;&6%s;)u8^exvgA#RCJuI2YFgo@ZCzgRATQNfEEx zR8L$*EUw>tMatK$NV{2%IJ@hooKf_v*6QD=cX>(3`1K9^n%(-fHvYPG`RzxU>j$LQ zTH;mDnOBO)KkQ3E0XLF_DtzxO1VB|s0`a)~H;%S5?n|1=Doc4r^ zsSBKhUvMU1W0H>2TFpB&TbBP=QA>j=OVi?o)_mD@=c_FsKyM)a<-Q0oe zK0{qUnH_!y9rR1*tuL?sv-m|yF7Q~`FR{p<6J3@FV@EabbAjXO{^Qem6ps@^Zydhf z(c%m!Kt_@Rh9;6i3yKNi>JZf<#js}n^?>sThO6x1CDRu)t%ShXZj`kvz|+ctm_}BB zh$xLlXA2S_IC!Pg%Y}zKIc^m4^vUsrVBd725b(F?1UxCo3a<-eG8h*kK1OX~+I+Ie zU6?45{!lL`qvtEdh_MEnvS9}h*g%Ogk&N_mBFIEGC^s)6j~kba2vW$4{JRqMIDs5N z6$G6e=QT7yvvsAA3o;Oq=-H0YmBMHh5pzIFb|lKdn%}Ui_J>)?fpkKMY&L1*rtCzD zLI@Fcb5xWRyju8zy!*2lRvH}t1$ngvG zA)#pYPs2y?I3QTm%7m@p}(QHJmN_21>uRA_$psY}gRPE`SsRb>Mbp zGPCWGZrKwZDdD_fE!rmOZI|@gCiz$!qk(NBc!AD+mj(aW*OJ>0PZx)lu?ypa*mi*! z!Bv1rGy=fVS&4fXd8EnuF%J}*1=WVg36YyUO2)_B>ftC?xe!)`ATrpKkU+ST>B!0( zZ7WSU4s${|G7XKpsLa#dUUa0#9Qjz}tdbkFg*k~$@j zSZJ8+1mT^?MAGbLw5ZvhR-shPg77uS7Pt5?iXp)lds~H?o~f{&F5JuokLtJp1#J)v z+i`*_=VTy@9tp#kRu_hs;>1VEkP>^Z5#=$^QIyD)J$q7Tkyr&BKEma13@fWmFN^>s zt#1Iv;i6}s&M2Te4Hg+H3-MQy z-U)nukn7-%v_+cqIpWjH)EF@+Y49E-3o_MRVf83zkr9iTFOt`bDWnf0 z5%SoriRFtIHzYh|ON*8Z!9(^6{u6Il*^cN>kw_Ro5c@RQW9n`NXB(L|wkpJwu?H(vvrRpbZd3%sLZH^CbP*YJM$oV- z&@ciul4&zz8v-2(Z8=)M6T`yu^5$6)q}DQ-VWL%H*&kjIq*kRA#Qx%IX^C(bIb@ zs<)@Rq)G;Fx9=V^TrFMf6q#%QAwjx#hgp#1Y(+qxI(4PluHCvU8^BG3%yB&LN!2gN;c>L))}?T{=7{%`ESe7e#1{4~P5 zk1#R!Wf27#B3m&Kwgw2Idb%th&b9&ZwNsGy z-1`pd4#e%15su9H^xAMdd(sxM{PIF*e~4aUL^Yh z>lOvu7y#WKnp#1HVcW2XY%!Lb&3L*&O;vT}7mE?F1aUM8p_XmMBC`RPFB|w!+zQV> z@w$4$vQ7hyAT!b!6s>kIPykcX6=>2#d_HBsvcR7KVRQyf2(3?onsCoT=FZVm?xT8$EoWg9&l;u=&Z<+)tao^Id% z_|x6lDWDAEL^N;R7<|`8JTKfEBdDDF(;|}e6;`;A^DXfOHv3Q7PSLA23XdK*XX-K5HFkEY)F(zZ9B*cU+ z9T!3{Z267S8C`h)0qPNO!wEAba>)t(6~>2$Xim)WCSlPS!o@INk;O&(gDC9HpYPw@ zJ)Glr7lX$K!(}1e29dM9VQ~vNn=sf=Th0Q--vGVAfq4T!FaRL9k&s@=nhdYkLVGt= z1H9|(6$6stD$lo^z2?Syg9N}8JWH$WEZ4M7QBI5puC1juU}A z-w3L<5y*JUgGa?F1aQYVGx7=JM5sLSqJ4181X;qDC5e$GAI04Yh?7BCF3<{veJGIb zS`U2p@bIT|UivPa2ngDf*98P4k?~7&6z2<{0SOw1_yyq)D-V1M49QunEvi5~impv; zCSu$W#5UE|psn5NfW#G|@t2fiklHtT+BOD@5VvACPWCk2h{N91(d3C5v0%7tTqm#w zNIrSi2tQyAxO?~J@$UBh{nOvhQ2-R98aAegmv&<4=p|5-M0(Ky@a%8Q5T>0lMg3$a zy_*0!X$TBp1M_l3;_L=@IM%`)*hr+HPsCnCT1F=AgjGtMj=_khg=N|fpwMbVrHGL{ zCmk|DJ|TRG-9UlNX*fff7fM^=8kHGS62p$E4z}i`vaejh!HNZy<9>N?*|>lRz5naQ z3fsSIWLD9LtvqWRz#l)s?}fx64C5?&dqZ$=n6$DgK+&a>EB|f_r&gwgjR1$yJiMgG z9`D0f-0StIw~HPoy<7BZ)SG?)%kjG>#8^_wl`7$4ug$0uYEY!E0$f{@A9M;R^h7Y} zP3$ZJtJg0(Oq(JokoO`gftSNf)?^f=$q#p_y59djmD$)uyin3gk$qY%x zJQiV=(lCo0K|iB-S99Eap9LfaOGrvp8OMxR2w&MAs5 zg8zHYQrRU$++pA@z{eRFXFeQXw_XFWg{mV8=0b9^0$g<9pWi&)|8&Nav#ziwtd1+h zj6Z=l8qAIa6k{2dliflSqt~-RpBW?#yEcH012LQv$O|BqC!U<-G{rsE&$8WCAwZRt z%AQ=d{jX$?soCTD6mW=0$fUr)N4RX+IbASMESjUix(npU(vH0=F@@;X8KL38QGP>t zS~_rubkr&get43CYem;{I=jxaNlzq@0ckjye-CT7>L^>r*|=z%A1B*95^xkr7)XM_ z(%HCBSSaJnbu9x)Z>&bVw-`%}Gry&!bKXry)YN?Is z7D>E|fk4GFwSH6?XKE#RU?7`-<7nenLU9Q~Qi~KBQKBp*BNiW07Wql1|4P*^$#QYz z2jUcVB2wm1QPZg4g`!7;s6eF?czl9!!q#~xcccfR2*<-7NV*EOgETAg7(rB1Sd3v? z6Dvi}hv3j?sVQqlCLJ+ov74|4Ip!@#6VOXUk;UIHB7}ElkZ)#ElS)Rg6%6p4}_?00se^ zfr{*og%J7C&Bc)O8%~uXaw7y~l0YC}LRzB*dTECvdhlc?9<04F%a?7{V8S5xgMK@M zph;&b5Qp+WFS>zfGN{;lWb+cWdN5|~Xo{jL@RlT$G^u;0WV^{iSe$vptpd*uwy0GN zsY#dg#zC2(ROXzYsL0KxJ!r-lF6=-_u=I&43o>Fb)r!n+Jd#H$#fqjr)n-9Sc!(4q zOru9@rJOD5Aj%9*Q!z^0u{o(RsXib@2<$MEii>(S9=gSH7U)(=4G32}6;Qw#VoI~! z5G&h6J(nj@^2D`CN2@97jOnC1Or$f85>Ke_tpcjcLUG4sZ)Cy^c&rHM)SzWTW;k)y zQx!uMWj5P3*J`?6fV-KH+hXwJph!3J&*0%DYF#8R5J}GyDL$h7Kq5WMI7uV=s&WT6 zuL$`faDwv8PPLqtM4~=qDwy!Rk?*b2m|bke=JB!^AG>%}@Vv-Jy>jNlvQ&%>p45)X ztY;|Ze(ksO?W^w_e>>kc5_}hgKu$j`b7(Ukzap$js@-IjYCH@08|ozVI5Rc*fSs&` z^on5K2LVdYfr@;iObKBl+z(lIGDzZp*#Rjx8Rs>vsv!)=iTz=yH7v-aMn49`zBz|%#KNPzlwCf3OM97EbOG!nT5EYoH?9*^62qb->*5qZSqYo^nV`8}m2*@$nj5oE(P+voT{ zr+GNBdNWB~-m7b7#Xic9PSA#q<2tr@sFP|{TsQxu zN9a5@{XSFpmWQ|xznOku38tBfrkRSSnTpa(1^LbJ7^9GeC1R(DF4&-=aH?Xoda}@q z)C}}!O`tcXH4i9PEI|?{?Y~^D{Y!YlU%NE>@f9}uJX*urCYlrfXu8pqI3bP>IuW@j zxQ;$K=_7R6ymq7YYq=q7j0dna6eeEdiaewK5;O)4_37s~k9QxT?>Il8(TE#0$vCLP9I_{?Ekc5xuyP81$-tZWp<%HCE62TSP0rV7Kn z{;LktRL`jAXq$8kq4#yVY|?*+!IkZ3>T+Bd$@i#HBl<>v*{bh;y8rNW?%xO1l>mEj z#+riJ$++_4bin?khYW)PbrbTDFXj%Q08{L3kp7N|LY$*to#*;JkwA42)+hS2OyoYM zyjyt7d}R`j1CC}SSo>xpHGv#YOC+5UD&;E-1U{s<1;G|zUs6FTv|w~!@EPkhY^51j z@XXosxKe2C>0`A>Pe?htVN?|!XlMYpyn-}Zu@@5SI^domB@aWVN9dJkt~1P1L*PgQTW%w;d@PCL#GP=4 z^ty!6RzY$TK(3u=IoN5~x#eesk4+qX8Bq^Z@n#1m^Js=q`kzP>;H6J6Qr^CDY$ff( zJ~m}34k;DO?S_izDaw;;FIM9~hYY-f)4MDk6j?bC58|)R@ckrkIOH5-vX)CTPY0Q5 z;9`f3#JnAK5r~oyb(u^p+1SJ_##y-8`T`8uNnIc>#7g7;Bo^St%fv$oEeL^!nMN;+ zB5&w8&P3#j9|yxwXm?A42(HSlm9@x906mdx4_W>cC;&{*1p^?FID!0kkRgIsap-DT zWwf_~ALLqu(;O`R*$#F%Y%mf&j#8jsoehFViTgK7+?F}|~$ zyNmV&EB=+5KAnsDjppy8v27Zay=>E!NV7(jlfG)i-$IH;QoKWf^8lIl%CX>KHHIYe z^D5o~p#$V+y;jF-@)8lDb_xVSrHa)xT3xf%HL9-RE5L#eZqAe7MuYT4^mwL;hk!vv zoYEFSzz}!^s4D^SKMKwE&*bzE@7~`2^z#`sXdZFUJ5Ot5eg^N^U;EP;Q&3O6_Y~B@ zx2ssD;jTUbhSJMeR)uB zV`D4~_J>GSZ#XggB{6h&jLOCb4+I{d$yV_ffu-?gBkPMRn>8Fn`z+fm&7fo@s5=5d z^@oh_QRo*e^aRb#7Jw5J1O7_Y-rS#Jvx0g2Hezp5rlVss1CL14o_QWM3oC~D)l$6q`1Z_wH;&Io`+OZ=Z_CHq zk%%vf60XFiz%kjTD@(-c48pO2yYf*z`oLG5a)gdgB#1qiJ z6=1l8Man>T&4h}T&D(Fx$AoyhIB7FCUCIf?99opWd}}!pXo0?5W**<){q4+kL6Ev3 z47Gq9h- zWcn;XDx2lhlWFW?1Rs3HsU7Djh6%`KD7qec=m+@%1*-uavEx7VGpve7IH4@s}|@{gHbMzhzjy83pS*f&$a3F=HdJA&)g8!4qr#X$bxoYC99evXICqrT#C+A})&db;uW9?-4oej#9p?WfaPlol$U_YG# zV`7|4m!(Y)0mlJ2&v^PU@3YC_(V3>6Q6b4(22R$Tla**)p3FOM8FTBBHm?iay7(>Y z;l&bJbQ)XM(vz{Xj3?*Tu@*GepycN1s?dxUm68rLQ!%FlMxwzrD(wlKPD`Bpc~B8* z00MCg*er*WiFi6aPp9oVoq3+7+*Zhw3KIwqzPXIhV_L6qT#V;)_+)BdOn7|!a56VD zgH9BSlYk=TPa<3fI8#I;2h9gK-l{=x-)`F6!mTh)waX&!M9jnx6|r zj~D(Ih6m}L4ir2kB%LR4#s~t7bmG}=M?<-7!0QilQ%8-Eg2iP?zT*rVwgicuHzNRr zx-a{k$KTCJ+Mlg$AMd_9Wp6OH4vuH|AtcH%iR(>Ycd+WfKom_Mn5pZp*YLXS5%@odZ}lV?@Q(QP7~AdW=)i>r&=ed~Bf_B%)OtK1I?hpODIJ@qFN zjVi~BoYSzSW{ZeUG69Xc$W*Q>I&s;Bfz5$GXC+`W={>fcvMbcSB}K^KgIU&N0cX&> zTxdQ{&2+X^y(Zi1HkwV_%W-mq#T^)ef!V5%A3D#WtMZEC5E<3Qa0PmzMRS#M$pR0c zMBPXe!uM4-SUvYk3^}+j6i3ucoT&^+<_9BRe2yv}ZW@MKBL_r23fc{(%LbuOD%A;F zU*c+nMcOeUCh8094t|!Mk)%K_2$CrI#wrkT)i;Z!_6HfZ*%0zjl%EKdJ@OFb$jvmu zH<{U;Xda5b>F9sN@G3_YwGbMLMW;+0NRwb$h}gnEXG_3p>piuGvSTCJSJZYE@|lMT z+FE*6QO*02HBi5(V(Ko77h`?=(z65AL!HhfBNuCu>#N6`@6O_%v4f!$g;r_KGX}IY zdiug0s&NcKA2!Re1x%rvW}Ye)v)yxugtQmAF}SOXjvs9{+6lN3dxpD^%aY`yihUtP zDQ!QL27TW6tw;tpo_i1irS=TSLGU6Slq;2+)WMTN(ZNx(I7K(koMZ@Vgm~a&%^nFR zd3e!ywwK0`LW|&oFwKc+Q0UHSU;x(O&|z6)7hHO(LXj!zDciTyS-ql)OfZy=U@jLH zm=UQAAFi(G)f@yP7koEFetNrQjbc!S@qvt5@ zTp4ZTQWwnGt%35S?VVif`FRm z2uRx7p9hPpoh-6wvTm6eQ!^=2$z-+>)gKhcWURpaO|wi!!_sQ;y4TwN&G+|bQcj@S z28u}dCIdgxK_ye*H-b|l!jS}{M5He2^E~xH^zFxeMuZT-sd$B{%b$_^p4Npf`t|?z zDjeM?QEiFkjHl(WGE#9)cixb*4&f5u#eqC%j`NHSQMd$Mu3EMaV&$(Uz@SiwT079f ziGX@|uaB)G?%>U{w`W(I>eGj3jitts+BV&=ae#vgSXhxv5b&DqwKSK}XN~syM{TYP z@mXjh5wf?ZmqCOfD$ozSuTz@=6B_2U+*=$^A#w}csPFZ02%GbOyJM7fHP6-cLkGcP zw5<+o(xq{~&$K$_5rGd~LuCYhF_SVKz95pWaAGnAJ8sK7p+gYhaV{n^_sPnJWq`#h ziscxz24Qd?3!Rk(J5&tJwlc8~in-!y zuQxt)I`To~IK;KJe7yy#xbWoYfbB--C+bjeLZPE^!>$k%0M`W@zV8)aFPpr>z>-C` zIScR&i-YXrIKh_=LiB-B1p}2XmWeTl z5ytdkdv068j^(C%1wxm!e$*88j2Zn_;DVCN%rQhw5=V1CPi@xkj8TL(*xN}riQwCt zS3L$aWg2=L2!+BE(*tuB`>4TM;flVLb|q}f1|Jr^?&Z2dX~Q!BU_%3qH-%-TOZi%$ z%N6HTh=B9RO`Y|#>9WfPQMho*wZQ6<3=;&G#|7HQZ45QcFQ69&Qsl<(k*}EFqB6?z z?!}&u=#OB{sNY%5+H5UO<9Aljig0k$26iC;JQEb@lx4s3>EBE+-WXX}mcc@}?SqUp z-Ka61wc69&G1A)i~Gy*QU1u|!~bE&NBIXGAK`L*q(Acb2!Gh|k^Vu) zN4y*#@sB({;vaT=#DCE7kuJwa_#=;x^oJcE;U9E-8x|b;TsI2T}2yDulK;)A8#Lj zxc~6OueEgKSNb6Tnm!Ojq9PUBUKGoK-gN2J@}Jv6yfNPF0QHfMac?e@2&ushaY;e% z52~ibov{Cs7{+tLG1V^dZOnG~iUFYqHr1pVFPyM-(&O(j?~_gZY7<|uLNOUE{zz$; zr}KYgujE_gYd#EMwi z)K9?>UzT2iBNZ-=NgX8Dyu|VaOsh$(Q;ne%MwL#Qp(gSQU6SEyqZH&o-|Iy{(-cHs zH%ZI%P-+awh?_NUM67vY6A1N^uq>h)BQB2udxCuSMu07%+7!K}h&*B=rfQzYx|{@D zZ+U-VQ(wrr|41$HO~;OTjM++qD9`kzJ>dV@1HV@fl%@U4m$rWRXY2o7t)G|H|Kimr z{{b%d{POU#q?8o+{ZQuUc_P)LV z|9hT;uc%-CIVFDml<>=D;9uAbe!Bng>Em-V;XKTDX3VRn+Ns6vH|&6XhrzREQuHKO zqyh0%BV~3*YWiqWj5`u8qAi#S!idH72$+wn1^#gN!|l`kpYP5gxKw7ZG6z$7os~IQ znT=rExTF2fQ&pxiJ4MN?+dPO8iiWuA^y?PY;I_I!dsFhQ3|pc3Mwh8LyKE6}HC zt3R^0)6eh!NJE8@3q-*T@cu!hqA`cM0dtC^FI45>g9U?d6M(eHi2aE57Do@+QHVq2wgxUjfMiA06SGZm zoxp?~ly%V=od;jt7<++T%nWj^2Gl^dzAE^K3e<;c;13fRa0S^;h#2t`GWyuzkE~~O zlbPi#Q;9JqbhunMCl#h&SX;)$@8=5f;@rw7b1Stknq1apztTG?{~9w%J~5M|_JVs- z6(g9M-CMJZ#=wtecPGv6PR7}^jAy(EAR@VX6*74O&hSxNP z*CcKQ4X?)0Rc`=3im{bBwCIcu7GPE*X=K%#|J z)sWzPTmywju=3F^1IdHDQ2B%*#SarFQ2d{5UM~kXm_VjP3}1ykDYS)1(nUYO0m%Qx z*mAoh_YVo;vT-GECjvBN!nf6C=n4d!0B)OjlRzm>ia65s=&Qbp4iAL^KrMmbHblK5 ziepK-1e;N|y91<*cuu->pl84(uq7ELKYr)&H^Ih8?*PU((&x@xU@IC5pbMZwFp{!f zn{71WdSQbB!WY~nFbXf%0Na&~_I>RV3qT!v$Z$bZPc@t)VnA?T9+cZ8u`tHW zM68q~jzjWAVNDAJ4~!&EWLm&RtT`XVTM6>2d0aXJeXArTCPIez1&c^C3um_gjX@Y8 zn!<@B8C6f$x|@#aPXeoTa?B0GIZ z2B2XaEtM+@8KH>%?5#*sV`Bt?Msosr%fzE>GUAvF%oxD|N3dyB zN+P+58^{^gtdMwoAP6QQyU92xiE*>$e6T$`5n^$@CPExnDxU6bPb8KIhes1>W;nSf z0yW_%IR;PiI=Q~shwpCR{&*&jbCKccNyLRDsUSEXF__>sL(VH<4OT%A)oe6}4gRw{ ztcXM;FAUg$IT1LkrLoL;Y#$`brD!IOWly%lV7C(4QkgK>%ZczpSjh+^Q`pwz=ZZ%j zhO#Lg`gaLm!?hssk7N(~YsbQEyp1dt2)R%QD#vd@KpF)FhRi4_xx$HWT-UOS^HPZ= zVm3|irT)pNTQZA)A>HT>5WBS0_iljCWdW4-GV~($6X~-K`_mcUcmUHGl`R+^q#UEn z)8NZYFdR~fV9O!)T@k%n65&YFQvg%-rb~Pka|h@(=@@#c5@^N|xdRR0pj8>LxVQ`! zbuNyF$ru|N_z}{T(m$P^)e9vSuFKizY8E^_gK1?$MlFwo11jXF-Z*O|2>%2r2X1-O z0^2(ff^#2tZgcEcG) z`Z=8YscttA3NC6x|=lA5egE^2fszG$ zV`_)CpbjTJa{!t$rdku?GTD#OMOe5XREcf~(=|8Y+ZBSI18OYpdbXEU{PFg~+jH(h zgCg_A5O5tyn#n^+R4U?$YA#pqnv!-B`CYZS1i^$?UC$;ORTaoiZkaN}#GR7VwAhG( zfpg-U1nNv$63T((P25AH2;B#GEy6hLq7p%QL0gWLD+UC4AcS({aVql!Q^*)7baSDR zPF(Oy&^0B3JnmO9$Fj+Jk-bsA3e~w$B29+9hfnUvcLmwjc24lG5}}WxojBXS@X-jH$Au1hRfHv6gtghx?4@=qX(XJd7% zTnO2l`UYT!H=_{5B_8EDL=sDa@cbl0@}F0Y>yQO;E)MIaLn7(kf)|CgT}^qA!6j)e z`ZiI;JJ{Te(*=Z9uu>Fi#JqS9am8vuaasJ}>+mdy=jiZTF#`p=j5Ja3($+)5{Oi00 zf`OUZ6%9p_ZF3a0XoM7)8x+(-(GaDa#3E_LlS)FhCZA&EMpMPGNKPQk#$82k2IDNA zc#`3ShXlv-9Qhc<+D1a}IIaZ7SVg91{O)L9dtV%f63nZ3ECrqbT|lD0M+vctJ7G31 zb{S9{r4A7rtnEmv6M7(c0kI!3P3Zxgagu$ubeUOfdL(X+~4aG-b+<$27*y*SLDSDvzK!lFRb{A5R3auK_mu$TCU z9EiS6brFqtBWI)1t%NVMdY#mCRQ|Lv+|o{dKm(7~w3Z$1tTrF*zjTKOEP23zBVu_V zi93fi6f#pY-rahzwi_)uS{CiRlTy+e(;64a|NUyKUbBFnw#U*+)@(~V&L?eajcuJC zY&5cGPFwV}r6D1*X|+FNpgJttz>i=0r>T%FaI}2Hi<)% zY#LPt4Ir+HRc|8ow;jAF8AUq+LVbP=V!QX`?Gf3%FnVIR+9q5t7FXdKlFV3i&5$^&iJ4np_@t`f4NLO>^jbU&KvT*`w7 zc7sHn%96!_sereRcY@fKgOIn8FZeQ)a;Ex8uPZ}$b9H1tUXQK%=g2-8*?;gZ{P_Ov z?&p8_zDvR+aXZ>UMFhLhxYAdH9%4L79NSCH^v|LG>QHYtU*5#KXN~-Hdx|Gw)B~wE z6Ugm$I71#mEdgq%D&i|J6yC(e6b8qFxsfGh7?kZWNf2~JRTje8)7DXLNGK_D1T|NR ztMqo+1v5A6GLv#Gi8qTp^3W;u)j2n0oToy<&6ia1cd6Eb~}?nU}977~BbASL^QUu+SxIdTju9L?uzW5d)~ zWQ|Qn+ReuV>m{aIV3);AtR$VZtE-nig&H5H_%$G_szM z5lGA(d(dn;oQ^&>z3S93((48eeRS>N6WX7s6r(0;GRLw>R6u%3T$f0A zxf$Jm_x|pTL8|0HaAh zWs6*+voreAvSA_|y=0+-`A$~IB&{P8RlQZ0Y?z2y>stp}NIZ3O;G3pi5Wi)f=ud-q zbkCC=5@}19ayvgSvNxOkjCT>Lq)WE*E(;++Pb5Ur#PBeOJDSb=j?y-?mP=!?5KhCd4IGh46exReU_a(X##+UQ-azyx!F>vr|HSMBk-$i`sp4 zi;LE}xG1EzQrlx;n>?1T^h|C0ws70omNxJ=7pz#|CRKHh`O`AJWKGY<}<) z5{2AWhBPgA{>FYp0&_!C8*^cvmxKKM`}^C+cW0-4cY1WgpUaU=JoAN4?$PMIlF@sK z?4GI)Y53^?5>CiU{Jh>s!&q-R4Oo;Uxgg&{^L76otd%fh@)5-m^nJ6Jo4CgZXUaVO zZuWh3_tEif>MH6=7Ngl~dOYazUg*C!kGF6Cbgt?R;){&% zBPJ_mq@PH^zGJF-XiPaQY;ByG z*yBmJh$hTj%g87%pWEhlP7FnjP#F_Rk+k=MA9Eu*MH$hSYr16_c_zt)M&%C4tQ;{I zDNO&F3&vqM$MW6tF)CbRPM znv1<$VYo5F^f#Foo02gIM{hSi=8~$r3cH~(%&wg!X=P+PHnm7=OiQ}nF~>tQHrWQd zQm{*SKgx?J+GPTfmoB4>dLhdzWTPC0FH9P@S&%_f?aT%!HZXm0qSY&nPp$>Q78j!x zO8n(YLOb+$)f-`PQ$Rr)pHg}iLHVd?iKa^3muY%1Xv<99$kwaxP88(zIC9wMulCin8>s|?dEpqmC4E6ys7n1z8hR1lH}k=O0%K-y&qe*|4|Ka7UW#m64r zetLiVc(LR!I!|}ZK!2R(W;BtN(M%BWKoL2M5Z!GC|0P8)m-ZQ1K+c-Q4w-0@MT2e@ zK5huPGrG#;(nx~~=;z4U z4aXaI>Cb=vaM}Q6a1>HnH)`Fjr1nVReu(cwoSzu0Kv9G8zB7tjr{jOLZICVzjk{Fg z&R&!uW$}KBE{DDv?H~ub^Nr5U+{R#JCQ~LR-)z@Sv1^T6Zke0DTvf8dgU1oh>^G&K zRhs;gT0dSyvuz-%1v}uf(<|yCoNxBe^d|QYKi>XF-)$~%q~K{j`*A4KMH=2?{d5P3 zs?Z?sxQ=I9zH#KLx`0R{Z%gxL=At8-dpQ|+`i-`{a+7&^u8LRJTmT%YfZ;0Y$9h$G z=BJN4aiJ^?gAwVkL7PYuSZ1KWM$Zyn7}0q1W>k^DNs2gZR)OBh5)fNdkOU%6j5M=~ zG&2?bhVdotBUS)zYBX1Gl$8ox%_Tng&8Qn|I_h1_djQ_<7RC`4A3=wBtWc~uvo&!r zjzYAsFr3Xg^m#18YJOXU0%=sW$hEp$S7~J5YYRWT2deqH4p}>O|by%Qqz+1!Nn5#8^xtbTd745DhgZ z#6e!1(^f2g6XjgGYw*D1?RekB=chY?+p3a9_NHEsMj{+UuQ*XAZFF~Hw25v_O0|C1 zfKDQP&8l6SEFPp%5-+u+^Oa%PIb-u<_<^IJyu~Ce2`77ZT5?l5eZxL>;MtA?tPN=; zQfW|}2w%+)8oZ5g&S5K-jcsc94YRy@yj3il1K`N^Ao@z>;K&fJjG;dD!=q{xA)4}t zqrmc|v(+s3+!`(7g~d3@`f??F`tH-)bB1V`=lfD%Am%oOqTQOKDp3D=n&%XpAp z6Y3%cQNx^2cKy5iX0Zsq@4QI!tkQ2E?oWdip#&ARFgA3Eg5+GrnG5c>I?`alk*6T3 z#Sw(UZAzoA!F`%9I(pN328Z^&s-OP}Fq>z&3&W$7p2Pe-R<0cpp%4i~nxKS^_%4Ku zBI-cOP%h z;V^$E4_m&eXG}=G?wS66af1^~KQdrzm?@ctW)V_|so2Qpz3wOwIF3N4kTFIJWkp0# zvf&J(OE>zAxnfnNHsLukA*%e{-QyW!Cq**4bD=7_!a{H1fJG;E{Xm*#qM(>AxyP42 zUiY5G!pq=wP6w#S=@dRQ?1p~OJdGiILRXo7e%{Gvg2|{I=c~BdA=5pP8u9)P4-TYJ zR?hZ?4d({)zIq2c6@Yj z)m-x*`*E_|076tg>n9!b|yWZb@cz5R34fR^3r#MV2j4+tsm&83$D7Wjton<#YkSEx?`JuaBTv())! z*`NwJ@40UVxCHSSlBx3o2Rl`1p1l#ddPqGLbrC6+J8G+(2}M+<L%?70eUP~)MeP@Pz9Tm^ZTCWaOSh;J}kPLPTbO4^SqzE8@2564Kl z-`)gTac4#r-DtIO6s0B>oUyYC0)u8$2Q1ous6*xIn}?b^nmxkvNbjQ}4QMBpbCym6 zROC9XIa9GqDifpx2F)iq(Yck7y+5>EE+^n7c$|8S;h4cwCHVx4YG zMv#kqI3^j05@RkIs)MDCr^Yb*al&@vh|OR=p4{?Q!6ITe$HL8eKR=r3X?h5AP&7SFnFHQKD&VOlKk$qY?zEf)09h z+L@RS&j>dejE?m`FAaOA+Hpz96}+<+w{9#ncoep&tZgakWJR4wdv;u)D-;70#k+1U z6)dJy8IE5SG!FeiY1SXceNDt(j+u_S4p;|D0G(zRXa$)hH(mrjB{Q@1m&xWnPAv#{ z?h6ML@o>A`Q0#{hS~gSpc)|!R`{=6H(kRhmFN3KcFT2J5dfEAxFc$~G1W-+|*M#F* z(D%9nQCNVr#3X&;c1QuY2>>@0XSY0}r`!?u_ZhMbWc_T?6Z8yzueH}6!_|uWW^_C* z_`Px)WsuagUqA8ho2zwrbNlJtx!TX4RK=ZF#aUJSS`}wiNo!Tm6HPUVs!32ys#PRd zMWR)toz!F6E2~ie)r0X|a*Nn2oT<_f!7v@{&cx*ys!%V(nl3bTnAXm=77hhjUy5;0 zt4gGMM6NuG1(-id5=^&03rTZIx{5Y;F~Sin+?w-y#zE-4U8-(Pv6B zZK-@=fO)R_k=qL+?#631R`Y@s)l> zXU)7n>46uj_VMoN>HfnHAD^uwarByG3V)Iv9v$duv@}Dq9+Y!a5p0Hfa8kubjlv#g z@3q3y-p;yK;lc`gR(Lw;!FbYx(|-K~?G;eivwafclZkcZcT}W%N?%lF9DRJLgP$I6 zKYaZDWHUW5>{Yxu(I^~+N)5%R%p+FC^CVe>sW^}msnD(C)|xQdyK&7<2`77ZvR*Al!Qtpp zVr>)HRAIDS7)=}5v~e_T8VM59r}26mO^f^w+CZu7DBgUErc=#G(rH#h!q?&JKxGM+ zn>4dlzt?5$aO>J}rkx1u96MD$Q{8Rr0UevNtp}`GWZYiZ->{GTxOtwT!>k=`oON2go2sU@u zsk=@!n|$kZT&8W%tPRVg4ND?j&0)zVEE6`^e2r?`xU_9t+BT|f zNtcDxjCf&PMwRuAeX`iPRs{H>RSk|4HbkNg5qLIhK}>?w)Owi(BD1WPT>P~5P3!tK zE$i2`u3wYZueL5lP#Ik$&xwQvWK4QXW}`joK^?a$Lf|;#@wrI z<{?`OWphr8-3S(IjDj`>L9;Q?mLV|Bel5pR45|5S2ux!LOv@0MI0V`<0vg|GEO=AF z8{>aj@Sc2}=#nj{S?<|dPRDY~#n)EitfjPPcgXSs*E%}3DQ;S03rn_!LXT>>(odvX zuCS)L)tu(gc75@rVbshqn{mA403TYLWXmR07?v?JjFxen$AW91KXfvGcHnz_gD9Na z#|y^jV(J{*Z1ZppqKU?(6-n7?S5L!-YrrN%UF2B^2`MekUlIrSl>yjn$|gU);%5n# z>sQ>y!aMxf_WVddrJLeB*00ccT71_-Gu2GyluH_E@x+Ew<713YQkJG`7U!*^HyFHW_vfU*=56B7!Ek;AaT+@U&q($ z^6{!~m-W*{ZnH})S4unsoGX^CK$g&Q}ONZpy zhR@O=QB50{4p~Hnv~);Thvc*741b)-)|Lbh2fB$pn z*VbWp!rA(=&uY;LF2}!vEY*aj+P0NZZ;{=$XM{G`gT{8G)uS5XK29glh6SQGJgIGcy97yAD{nfN`fm=%;W95``h=I{sd#0vqRHZ=AvODugje2+<&nTfgK^O zqa?|j^fkK5PMoxpj?R+fPc&bkv0x7%$Fd9#dEG48#q~_0?~3O~u9|+@@MiSGS(7f7 z=Eg~v&f#u3+%FerOueSZ!y)E14--0t3~$oUI*stv;i)P=lQNv@Z4UEL)YfCtG!Kl> z^_Vo-F=<+lXVY>#o7Usmq~lpzPiIYUHk~dNPns8zMqdi+$D@5bo_svo$K(3(xO_aW zACGo63@2y9VDApS+0y4rm#;lu7GL7g-`3shC|d^EI>u~>os2LWU`3y7HW75hAJbs6 zFoAU%IN80%G;qV`%$(0=XCjfFQ#NSa9+vgAjP#6n*EA6yYX=0Vys8Jh97|1`j zkwsf-!_OSbh<+d4xAvZO-r9F-*ICc49k=$Ib=%r&Yp0b}3|-3VMq%AjTAkQ!-nMmq zPd2}&b$(Cl{GM!nPwV`i*7>bZ9yCvuX|l``nD{pT0Y1ck;;q{Rl3=*j#wJ(qrGYU#ves7gVl1;(PEh_7!+vsHt? zi84KbV&W2s5Dniq1-r>;WF_S#f-sK7@O>&{!%ZBeRIrGRWepN%Ye9%+csb$B^>~~x z`6?kJl^f=%Z-}%+d&7R8cfNmh=lzjvJ7B-^WWNFn4gguHZ z;P6ev%{A@w?!HiCoOEjc-}-cPzg;o3v>47O9j-;Mz%vYcxc2~^HJZY;XA9$&hcH9w zLpy0Swc$y-#-$~eqKw`+>7%vdPI~jCkI%YYBjIFxtb=A9NuH;~BFAT3+W6yOJm&dy zd{(sS^P#+q?~_q~HWAp4Clh8g_<;^1xt~qAqXi5gZo3>Q;x+pcp6qi8+prFkd zVH$5lGQLqbL}fsv&X$?Sx0vY22G3bIqGcj$rM6!_e>q0Z5V*!a&^>M@OkTuLk0Ct9&k+A?=_zbpW5*V^# z?23i)NpMsG3Ft~N)s_2n)O&uj@8`!-uCgT)>OQJ)0i4G}A9vINv`=sBoMZk`2GKRld*PY|WYFn#1y zN}tood`>6%oEqj25|fE{fdwi=1tQ4L4P98l!65Hec`I+CyjwG=)9UlGyn&1NMS*_X zH(syJS!MXO$(SDqU~8MKh*iRZ8{-YF%wofppfIMJj#H59)A%zmA0CAkE)NTtU)-sq z9fic_;nE8Y^XB2_yAOYu){zL}Pg-Y@Y}Go>%uUuh-~)W=jQ7$Ra%s>jE%J<6b%mH( z5T@J;FvX#(cFDgA&dO~@WARJW3sn}-6a47faQ^Aj`=|S#-=C8{3}^C2=ypa_DK-)s zVg_2Xl+Yl-0>!nWb~8=_tIa;#k>uQrU@>ZHLhJ)!qf8 z(5gb>=q)IELd=T5osK3V#Nj<1#~?zhy;j2u*yKNA1rCdY9 zc=yx8871oEn&19xyz=@E$$p=05M9wD!NhD+oB5>IZ z0%pa^+K)BvdeN^T`G36v=?OPJ7{IN3f#o|2Qu?H^;;{|)Df_PFwiO_xnnR07a;#anN z!dC$j2M!{d z80Rmkn25@>c*wY_Sn_K3STPn~`donb$l-@yG?UFX$|XUqm5wj=_w%ks@n%x95{#9B zjOAw0ipGV3DQ<^w8P)FDzK%bu?(6&VYp_@R@&;FD;JrHQI%|BF#t3m~j1b<-gO$MA z-Hq`9bFRjRjgB!k){&t=Oeb|~P+;paHpa+U#>F}+!a69Xv<`}OOt@u8xOGH~2`-cu zeCwDs8b+KhM}yaBI0)k{EyKVq!(a@8F$Bf{&`=Q&-mzMp$}-#+2PcjRWRqUPiDt+_9TXYu%mO|-`%Bob~r z0AIrj>=}6GDnp*cIf-DkCU!|0?ZfrF-@N_t?(O9l=J8tN7vRybej@1$Ngq&2P%6W5 zi|9!z9f``0cuNEfGsq1wn0s^uL9q~lI4Roig|a<6691CgpH-d*4u=R?9xL2yAH1?g z5yjqK?V|seHpnb;tFwkgB>+C?h~q&>MMjd=Yul&__37jN+uyN=1ZHcVheGcQGS(O{ zt&AqrJ-gx3Oq^w|j|jCpYQ1q}dK}t8H{6S4eR-*kFR8%fW3v}st7p7tsRGG6tq*Cl zy*#hz%NFpG3sFllrBAqSfUCtA2JLt`tgnnAb>tJyZAPfS* z=RxNnRN)fmY^*qXiL_XG%wCE*@BVdsf&}6hUNXRW*V1*EZ;wr z5n>=b^=x?R+59;K{IJnus{l^!B;BAB0@2x(dVsN4gML@uhb6!y4G{MQHGUK_Sw@y* ziO`@yD-54UC8_pK9hsDYG_UVG8}3gZpB`_2KJ%teGf7RTQ{*zc=+?;U6r@`NQX!R< z)6lIgP{dH3)u9=hs5|S!Tg|ECgIDJiVG~(@l~J=OXQu%(7zqsK)QLVVLGH`lyztHd z!V&M1I-1T%1Sm5Tp%*7}KBPn!7@j!BOd7SJR<)rmz z8BckDipFJVCCi1NQHsG5IP_&dJifbod~_T6JFOUY7?>swh@Vz4`WT0faIf%^Li_wX$P1(F>GRv~ zN3naOp$ZisdVY0o{P^&A{~r$@o^H>l$kMnXLj%BJ;h$-t=otJRFSd7BTb0P)-Yr<* z&wAi&yqylPv(8ut)!GyAO2SZTeS=5*!j8;4;iR`YR5h6Rr4_N)j&7S0=OL2y8uq*8tUfDnygQ|cDfS0Rmcl7r%*rKmGRR(Q zisy^Vd6RtoHh7`lXLb96%6vF=W_rC}pH1VFZ=KcXthq0y_v_7a))MEP*ySIqJD9>! z&oF3(NLnCHNBPNkeztI&_xNe+T^(1)^kTDpZVY^Jd;RJr`kmV3yb)fncs~uFFLfvT z@#R)6;V2!`GI%BbT#*P)xBk=hyB~P3mE!UKhaXSd{nZJ6x)QwBL2W6a=Hc1kKOZ({ z&3)3uYtvse@oDQ{U%%GAJn4>?W-aS~W&E90{fq1R8*B5cYVh&tZ|~0+o~z~4EVx+X zUK0e)=L@3oy##WF&h~BGVafZ+-EzdH^Y^|^}1B|tE&8)>i7i}`Sac5)BW2s+4S{I?P3#uK{9<_rHhfF zVumXN^mMvhUz|@{;)Q;@w(uX@WeYq#y}x_&m*@1sUU3tGQg#fMxM5x9rVxliZ*Zth zsSm*M!pqa$i{duXAyWtSLa6^>Y4F>NBj6BEKTpN^LI5GQvlF-oE#zVkhX3E?+2Sv6 zp6<_=2Sd{=N7??sPIMr~X3))M_h`12#|e-0(`B>#z}S6OsrTpn@n4m8fr=4WVW68b(+gE0&M;Zz z^Gh5rB#A4KpnR>Z=sO1y1x_TLC1Rrn(o74x6K^#AHJZ?o4QGa~ zv>YvbBamwrc^#4<_Mxu~)q>|~P@1UeljrT0w4#~tFa@~DH7+O`ap+0~olG`H`mrM* z18(giX(0S0*%xTWhA~JVzU;hHQmm$i1Sd|M7=h%@ErQenUDmTJQTDM!jF23#S)7tmIt_o!2c@1Hw3yy zLHD~lQ?W5U!plz7R1FZ;#xDBu)l&sR=YGx6e*f)&MwOVaJdNZqz zysN5<6_qW*4AfA~5dJlJ>Sk?I_0*wo$enbZZm?f75pbQ+C{`N<;(=DsgoR3EZO+^gF6m))C`_ z>xwmd9sBj6JTio0sd5EY``HRxXJ#M8RH-E>?8y9YMzm)FHL()J97p zUVcAN4yI-VzCtcw7!fm4CmJCMQMZTtC%H6rk;AMDc6u|yCbgpng)>3D%pnCpU)i0C`kE>wM_5eD&?YZp*K0SUa#*qH#C6j7Hd+ z!T$j_u12Qgo+r#!02w#>Q*T!^o8$R@Eesct>6Y)-%M|T7s8-<_K$-?#)@%tfgYNiR29Aq)(dmjDv0h>3<1M@NVY8Otd3%5S z@%G)rUrtR4fgWPDON--lF1rGJ?IqUA(U*2lmrn%U#5;Ox;vISDPq;(*mPUyJN&<+% zmD%Q_)SZ;Bhmwcg9e_`Q9Y2ldc>F3r&H3fiz zqJJ}fiBWI^fa+PSLnN|c*kv>-mA-eyt=3Q&4JXPzm61FSSy%DUXAvS0ItpwE@Xrzv zy`MG;8Y0&tJv(VuqDQ>&T*z*HjhpK6_Wu1@;7qw$xWmeVDK^&yX-tvMl}O|TgVSrW zkSa}NU~O0}E$EXTaf+$~m()?-$mEfO|FEanKu6V9Ec(*#sw6AV&~CcJRs?rr%_)0& z0QHu`mF7N>!o=kiV4(~KOBXE4)%P*Ct#TQuWDtPpOD|u!xKXOCH)bR?qbVMniJ2%Z z0i4v{=`l^7NpTsOyvzvsRcetG2#N<`xMEDyC#pWt)=$6+-xjzRiVK2<(O0UzQr52& zr7wqpvk>en!M+j<_Qbvt##iD3m7=eJzk?~VUdZ--vadvarI{_d4qNnMMn17CpR}19 zcKOk2Zh&a1M$Q_}owS^@rh8_K?j!WWIgcPyi;IB_lM#eT#)X|o4%SE|+}HGswOXFW zfrW{b5ecRf$?_6t!}7eYNHNh#%Cn8d*`4WIAe(mGlRnB^qag~&_n8FPliapNMPGGI zYkV2^xy^{wTO1LX3wxtJt_z+g$!z=}_f`~bpXr8mT*!*1@RhItF%a({d%If+u9X>z zEJjBomd^A~Z-e$MlOh>KnG<(*-i@~9L^zF3OyD44=OiHt-ss$Yi#*hIIwJ!)PeRT_ zPXqyQv+qSmZ5rDWVb7H`7&_~K9(NnWvjy2Z02U6E@1Sdpa-DZv8Y`TH@Cf9UP$TpY ziZzrhZAR8zEL=WfYa%ci1~NE;ME8VWY-fSDlJVRI^FU`jI9Wirb(W-~aS~r8N}d@8 z!P!N8C&5dKCPq7Wr9`R#YsPZfm`!nWGJX$>SSJ=OUKKN%GU`u#Vl({Ml!EC*vfDnYR(1OP!~gxHD9 zhzlUT*Kvul&jeX$E5c(@*gwGnpbE;gHS@@Y9*0*TFCk(b6KRoo8q1{7CABPBBB>>wG*dpNmql>}G^6$69*GrTcH6VC-bA1l+4coZ_&h8$@Y1W%1fwL`H^w4{X= zdw|l7EE+)*GLFqgw8&jLgGd>)bo8F(k(Oy{wZgM0Grv5kp3&PS2nUa8aMI#$M>Wl4 zAu(8ls3b_(Fbgqc5I8eI1(E=k=7DWl3_u#qEXe7tp9K-rSA7so1!(VDzgM#c17!j# zy2vM-4BsV!_NmZ;tys)p5;+%21Jq6S2bvNgWxwD^fz4jHWq3ZPK`}AOnKd5*?Ei#2mb$Lp7w#z^B@ZbkmQNe!Qzg zmbWQ~X5cy?F38BT1;KoTpnE zH^TTA3|-$d=#&Y))sAS#I5Xjxfg3RTq(1v2NX@JG*nC+4w+D^0vr{IdOL&&zHO~w@ z^Ex?bLElf`VU~!hYp{0d%o>^%iHZ#?=}61-7Ek4Ydrwd>v38a=(6XbvDVcFTSh%>O zlEahHN9iX7o)TIRRqc`#By#k9>a^VQVR|l01x}&?xr8yjyMl8W~qvc4&^|= zR909qB2!-|{PO^q-?<7e)S!_X@4Wmd{tKl)4C#}$hpA~$>`9)6DZO`wsGEx-Y@D|c zo48+IeW?lFJ^bav`-j_i|2aC6T%B!i7#x_~)GhS+%R$~=s^#6g`=@iTNB;||NA*xL zz+gphQd;0Wi3>IT9<^l+&nxVmLI09+bt`FCE`eEVEfrxDVW|kqT&V*Thtv*)1m&H` zd#UDaJk7bdvFm^>TS)>9UOMpg?9dd!jjuS{F7frXP&l|w0_drGQK7adda}Ox7}q@M zYWF88U+SmJs4uzgLyr{UZ-QXLUokiVp2fzKiHrP&DK3ZX*_Kh7)p)%zN?3-$PLx_b zkCaS<$lh7|3(~0=m+zRNBC6$c#3DNZc=k18 zRz`l(u^srJ>l6+;jBltpRuUnI^2IGNK$pBnE9lc(kTx^5N`@RzT4s6LJh%bw^cymd z6F7}WNYbMAY&Ig7-YoqenFONMqy#vWc{_J9`kH62telqta)@jUfELtU{K8In9;u|= zn?urEwFUmM3{}z+{%<#0pNA+#s^b$^hh&V3G4I7pn+Ve9Oua-~M;wVoFkkH^lUZWk zG2u8m%hqo4b4twoX_#8e@V{M$e7w7TeEZ{Rhm4pPmYByY!QYs+u;2(Fz)3UjP22QXpCs=WyUqZYPb*tYA(sTXfS|5P>^{bsvA(Bofa4&B| z4S-gjsRYD0anLklS*z|F4vJ4d|L2nUB+F9LtHbL@frZa%_`{D+AMQSWeB-`}3(kw5 z_ZN)|FjTyhp-uIqR{^lb3^G}QIYI+q2h`~utv#DL3aM?Wi&S(>wKy8Wz0c~&Nj z^i#HUO5?g|ZQe#NG+UZfa6L!j7t0;b``JmMC#)$s*z_51sLNd-q1IxADhg%GuQg~~ z+?k>*5Ys7{t40F+c*XlpD=v4t03!)emzWXnlYv)Xc(JY0v$o>5#RAVF6QMM#HhlJL zYkIw8zkA(ZtZKfj>hV8eCCYgvDjb^HP2JFCsVzKFM4jfN5#~tGF!q@7#&7 z?iD)ydMtd9>K02&B#^RwPrjU3#i90Z-rNy98zo=^k-oP}(H=fHfy8Wkga6IM!qA~o z;9L_dV8Tw5yKR%|c6{WrzdwEa@k%gdrqUt6l!<`JCb6axY71A?^#@U$JB3RUK+C1Q zvdBw3W?JGg(`L<{DrUH^!VIxd*Ymf`!%tGq6OCffEQsm}Eh?%ZZjy7Q;agH-+uB7j zNdVx_a>ODn!9~qKy?giL{l~LG(6c(iPVHIm-hNrw5PegH=TzJ$=y)Rld0^W>)%Muw zf?yX5oFJ)s?@hO1*p5fkPMCw4WB8n+wa-Qrmz5P=_>@2K#rHDSG&$kITv%XA;VFS` z%5Y8cWUY60j3a@M>0)TESfh#zBlF z$I3GxS~hf;@Em0|kIO9he!jgI!48yb^_ULmMFK1dm}*}cjSeSv&T&}EVBRaTlQFh; zymDYm(kWUNrJhWu7g~=cf5D?`Z+t&ib-b~|CHIPn-rYLy&@zpK*1}aP<9QgTH-dsQ z4gZ`*f<@BR>q;;Q$(+QKJD^1+>aaD2GS-FR^5juX(N{SR!9c&Y%(xFSbjycN-Uf7z zF(7p)PVbqmfbp2v>SEC;EA2yMQt1IrPZpL855 zR$eG>iitN38PMZ7g8Wj>?jDZjh6P1hMe~uNGm!iUH%b6cRU!0Kw=~nV4udZ2*Pclo z?bjTm4HjrAzv;G~vR(4Gmq|tM32ExhMLJT{BQYP% z%-Kp&B$u%aNEYqO3Vm^Dkd8EYsE`YyXkO4!E1Hj=`Fp{wVU|GQ=&@?bkIdDTEF1Jz zo&5+3sEduDj06Q1bw3$*sT))iuAG=KAQ;SUAd<>~u37hI9xI#pmDR4~^NJrc!k^EAVU>8Gi2jOQN)2C#B`7>GeZZkI!hIux=cVwEV}fNNV{Q) zo3h*-6#675LoQcSw5OBYdYli09-(AIuJ{}coCPsLrJgXYP}Y-n*Nr4>D&lVm4q6O2 z@}^0{kCh+g1zjX2dYIQESud@y_KFI*ebyg06j>tuzoJ5m_^iqo%Yg_MfdzZZF_U{}PI9b-N0#(P zPR^dC3({>D(Mu7IWOR(BuN@Skj(FP?wb4KT*npu=Ro+< zflzgyIg(b1Ct(YkAd3K_t=JGkik?WJE!ji?6FkV$A7kbL1LOdOIwKgXwOM5mToq9S zPo%hD)r>Sa8X0I4idUt6*kavyFyiSV|N4=-46oBMw+_T*Xr7GMlYuzira|JkjBpNj zhV$DLcs@$6n(&|PE$h}Yc9!3^t)ws7R%Uv73p`L;io3d{gkQ3ygcrAzN*jhKV8QEU zW&uIw3yi!GrkMm$Cgr}ex0GMLx0Gvp3y+SB&2Vf2Q=m4RCep4_<;utUNUsh~&`ru$ z${fX1uLBQ{Ml|v-9c<8_3LMkT3gM0Ua5;3|zkm1eA7^L6engsujK5(}I?gMgN&!QB zWJrs7i&OEWUMm?U%ZA8W-z>fW3!ox+udt*4C13n^dk&Qr@Lrq44R=*or(n<9UDzJaxWS75T5D_H!iDs(ONXffrxRw{9Mj+A+0}9~gVq=riKLB#Ya$yRRNhq~yRGxIL zb$_Q`qh3T8Wk|lzQ|*Nqu!HxTzhP9i|9uAe4l0x1Hg1p4_J#{$l)f30B%qozR~eDY zf>q9v%c%i3d}T$$8bD26XweOzrj8`l-l-!KB`Nk!5oB~R$mpVziDcF^AftsV!!H?; zceU>{d)$<|*~5`* z9I>F#m17HWV-IoKMCw)yr`ZCBHkw0KQ;Wnv6P=B0N^z{)gd%qdWCXxDJnPUmx9{&B z&m87^!5Vvfinb(V@T(U_*VtSI*S*eAO1KWP47&*o%?T&kvN2tCS!34eLU zIEqBt>lg&?UcovfMy%77j)!T_LFB_uGYr;6MnT0gl7Z}Dyv@);W$I79W!Hp{11yUN zJfSwWz)FGQLsAwc^;g!+Q3jbBRY8FA0oyfCInQ?-1+E)lEW8^QRu z&^n{V7)ehc9W0Dn=n?{y)C>}=a}*YaXd$qz_Vtcv0qCG9=rl;zXsLO)aiK4TXdgiv z0Ba;HV~(+qIxlSW)CpIBuoln;E3BLeupQ2RyvxT-e8KLRhyZgyjK3X`Zb4AcHjS2nc|f$>17qj`H$Vg&8DnyhaRw0SH0o^>a^D1P4;(MHpbR{k_eJxb zFUy=@K==rd(l?w=M79db)S?%q98r9lKBRY=?IX+K!4|Y)3z{;C_Bs2`l{p63x=-(K zpYGnhx%=?$Jp8`zMSBTJLV$szv}lM-l;huF`8zFGZOQCZP~K;fUW(^Sz(IABmlQ&> z-+2;!c{;mQ;yTbl6Myf##VHauOZ~aSpGU&E2fGidFv_d;pzEiT)6P>?c#XZ9YaXCKU0 z*2~)v%Cnt2Q0m!bHFi8{X&mZCQ!kx@;ds_7z;FRuqr?5c!?WXqL8)Mr9!93XrZrjx z{h;ZUi1-GBYQmK>s)?RRS0b8VHp!SplG)h~E2hQrQ2|q^Lk-trP)t-}UW^Z0=l}uF z$|>uF5)OWbyk=LH&)avO50AH(Y~7?6Jd!z1UQUQ>f>%fu;SqJ&^a;zP&EPs&Xjlw} z_#*}dvChWk62l%Il-8hP9n7i-n%f(SXiM z7;k5W1IsaQD@q4^XjwUJ_jclv7>S16PocyL4k*Fa?x~(F;>C~$TpZ=o+bXx;E)t49 zw5;>XUPaz4**YmGP8T~B)c9(gw6slHnJv{8)uj@4fYPBucShfxN`sz zS)@bymVlv>=NvBpkE$3|dTa%S1R61Al%AIIqkASlmLVaX2#=?dV_PK0a$Rt&&jiO{ zf@3<78{3K8II;}mGhs-K6c<-n(Jiu~TV=&nR4nJBqJJhTu9BkV!z{mrm^c*ZMsRD zZW@~|aR8RoZP}x}l7nX1+k>q8-fmZ=_PAGhXPjvVapvHDT289kv&*_?SM9!a*|Y1| zv&*t)7wy@3-LsS4O15XGbDr$C@$HWf5AV-LS=K1aB#P!JtH*C5v_XTlAQWkoX)sPZMnBQP)L8MTTr4-Fh<{O9 zGkJ7~d;UzcJ{9=>DZTZPaLQKjcO3^W2=C#``}3ay{4X8?Z*SlJc=zrcHc|$CaqwOb zPMMc5u}R3dbe*8z!@kfp5qb>-piAly4o+BA(~G8h(OpxO-G{;9#ps!EL%FsU;(bya zhC?g^P6*?~Ak2xflqBFXG~A}`Hr=;;*N9Nc;Dw6@`O}$I2QvR8VOZh0@THA(To;64 z6!J8&7j=M`3BoO;??^rML>ww8x#eEy22T7mbOhw2BW1l40xcm3gFz&DxhxVfT9L*+ z9wCSMJ!G&WZ_Lh|Vg)NL7X}+@H+0KwByepOA4($4x;3Xy!kSluTI1-c)h+{O)KGrc zYM81bFVrc6xLqzAh+?f5Ad13HL=tE3Kxv3cLWd{w67?IacCbvMeJ1HE**;S3v4%4= zD05p&Jkb-|R8s%`tZU!Azx~_Yl(y@a*^g22+9u~HG0t_gySGPKMWqwfB~`>KMdNAblpMRNR${2 zIXMvfs@IZg%gVno@|-1_?6rvlQu)ESB9DSAE%Tho+vc5ZyKuH-ndp2JmNJF4Oy0^g zu}q8^vN8oLQ?N22vO)Px+qPH?Gon=#U%)}o{N9|jRgN@3swb+`fzjO*l)5)CYKBNf z4VRM4=UU(iJZWS}YJ|83`l^nO26`KSusa7MVF<Pb{2aLc#ICAjf!0u#b z<`d2fI&w3>-`{9G_M=!;kRFP5=jYm$4jmHw7BRJ@_U;DD6${3O1Kbnw9GkK}@A> z9GI%vkL4gz)^k=Zi2`)DZH8r;~hs*df6>B&Y{O7&1I{ zWCxe`4c%{yWJDaTTdL6b4Sq>{&+=evyi<55^A1bnm%`4{X04V}SHXN?xbM$;kbKpb$jIf`yIv9=gBRZB!Mr>JGU0{PVL zY6qbNTGKo6@E+)K2!B4Hu$!Bo-y6ig@3IWt1$i@a_A+UrKmgTzG#K5fSyBY8?gxQw zvrKtYpJLLom9UZa>-V3H!@CdfZXYjj$HBQ%cc%Y32KaaGa{slB5Zbk%ZIE=lgKk%# zZ=xJB>Rys046F>&@y-Oc9=o*IySYcx#m)0TAPgaYy{ykHv?}B8SGMOxgQeP9ffSR( zlLs%+L5_T3$Pru#((#1n>V-Od_x|?7pZ*A~{z~z#Ifo(Y8w(p+B<^s5Un`+JGf_Yq z_H79X%Np+20*+nS3JNV0<4je)$c=%%Dbr3T!M?QQhW)4LAh%iuhyV(01$P?_Q*O3JnxJg^g^I4)l3>`Nram&fuK4dv;$%!?z5GOmtcVJQY;DNX}Rk;Xvb zE~Wvz2x*ijNk#q%EV~ITnQ-`mP)>%<=ov@nEFMlllU0BT^xm|O3Zld8j}zakbwy6A zgg7HEzWjT8%9mR2uRlLLUYw4+r&D+3YVCOrth@T!D)%Le9Ob?w!VpM+`S?p$z89+S z&PLQ&wmXzkE%t>z=D&lFgVUcE1*C(SnmC(%nJ>F|I_oa<2>*OGP#F!yvRFI%KVnG z(=NtN`n|@^PoLgD-T!<>#Uj4Jia-M(H{)*-DRITs^5MCDh(L>h1YVH?-1K-ptBfqL zKmwfa`!bUFZsIZo_HM3G)6rHdk1KC1t5BoBEXc`^#hKAZ8y?I>*L^T8P7)jC@x|qF z)bN=E@OQ4Kv4BYm2qwJ~xmb9`Rnd3iwpfzj5Dx*sgoZVbFKxHiTIu86`@6SKmqOCf zqyUpZU)_YM@09#w@{m|U)34g^d1}XD+B53qnkSuOz>sE{Bfelu(HF-->t(2Juv;MkJdFsU4wbR&9uExm;d$Y?&H(_!-v<;a9{HX zSC=CkdVmCp)Tene#Nx2rwxp|=Xn%&kCJ_sW-~;)bSUy7N&--Q)V?YcMxy&3xQXNC{ zouNNfIwmFsrV-JA+gPHQsmK5^YLbJDjGE?+r`sjlmz}66Cz>P-kEY*I002I{T=BUv z#&F-Hre1gfjlvYbOFhj~qN))PiZ`Hvkc|n6{`v&WG9w9nAy_v%wG8k<(sby;+!hsJ zH{f9dHL7BdQ-LBOSpqSX^fvu4O&`VmIsj2Y0=!INg0&6i%3q}8q{oZExg#xJ0(!Lz zCsHsqZlNg9q&iaEA38ddd7;7)L7p*=140AjU;sIFS%zL1-jBB*&bSyzDOZM4lJo?V z1)EVTDPn}3G4B>5o%@#O)RQCf(Y4pAb!9oF)<(M1UV+2sCC&N^Ma@@4+A)>0X0n0< zrd1$b_6Y4G@nj#7xc}0w@f^+h@25u4N>c_v8@Q(S2Cf9MXc{CEk4WBVU(&cOp+jk> zk%1S~9WtHv^(5V7kafxKGE@8d3+?nAWH}8oHvygyWZ4jah0+>`x3YjNyS9QX`vJ1- z2FP+b0a-35Aj^4xEGGk54*W}=>4xd-6nhkG5fI37vKX5d`(vU8;qblL-%+zv6K7iv%Z1Xa|Ew3%f#`M5z=&DFm!Wc~*(!1!nWTt?9bS zvtcqg^dd1U@K5aSiQ}Dlzt8|rcYnPg&d?GkXy(78R56Wi%yiAMbM{k8_?$Vrr@X@8ZI*mm5%+-zkL7k_aO~n2`~qdd+C9(v@$T*2{hv>B_i%7fy?}JHmrrJ+zRhf!Wp_QZk3YXZQPpDU zAjh_cC!}Y)kN_LocQks()QkuX|0&|>NSq8s#P9hwpV5sMt!4IRN5&&Tw)%Ean4jK0 zJia@}Ruu0USnA=473G1J#NnHF2C|U}Ur3M*3@iE152p%8AFL{;BKky&u&apelJE+O z&*Hr!`&6I39GX_XH{U({^&*s3Sdm?#!HS!YLci~a8-QLAT{)V;mL$kD*Frd-iSlFC zTEtEhbHdEl)5ed-hKx-g?`rm9N-FV{BEEU}{`<343fL|s7^{7M zh1FXwX(tWvMfE?gyFyI&o}NK_Mv4BK!Q+kBUeUx&Y#5@s@Qj{^7{P(m*aYOp+<#^a z1JKn5AL@8z)ZIPaojx4il+(&VGsmeU=Rl6 zbZG;3;*}=)?$hJP^JvS2eW`CA$JB+6L^k-oouq@n4kmC81H}rV6C^_Cpp(%SKDv=n zzT%e$i7+vSoJ^lg!VAT8BoSaCg_@s--?CSP7t|a)CAI+zMnhbwnmAXq8?4dWhYwGW zXORbE&=4?lsK+)8sKI~aaV6xm=w{VgvyQ43ZpNo^%Q(F%+&bmrlI6P&WKT@bxGjq& z$bw-RvLu4|jU9xSf$nr{*bKJ7qVnlAmYET>mOFkANl-HVq+E1T?uVzn{2IO80tT+# z0-))hHlgLcLp3sRqp??rbu&{_WIq_HY@?rE9`|XNT;D!8xe4$aOm3gH`+nSH5p|OV z_u{@>-#+Lwi4Fk#dNELc-C`+ui(l7GPkfN^-qk^I_uHpvP3n#L!PT57DFDycRaa@P5fc%VFfB7FJ<+*s?kp zMv08A0M-E%tYvr5IB+fAQ}Zc~TcKu;JB~Z9F%^_?qcX*0>KdP3X|(GIOj6cNRKHI2 zau4H1kfw*TR*GQVNlfF7s%z4zcsg9P)~%RAp8I( zNsq0NuGNmlNX>$}c-y*aG(*mivdA+ui4Vf{jF79rJ&`|LXqDXSvi#R=s~dnr)3zBb zsCG}Zs@|BkE65XsS(&eC_L`(X@`M5OaZi;U(d6MU@p98$@sQ0o(@w!iD1IMv6O{}% zjEcoC!G`dZ7#;n8dSy5K8TC}?BXi`dk?on)3fX!cXqs3J+2?JRP_=fsa76tWPoBZi z8c%I*_9CAR?|4Ur0FG?%6a>QPm7-mJPsDI1TyF0>(3ISYV5LT)UL z2WdzQR~z$(ho2uG&XG9N;&#ixm?XE`ax_+}u=w3-+^=#mDO8n!yUg{)z!j+-X?Uq? zjJdK_oxU+XY()TMBj=ZbcLjo( z^=XDG6$`NzaNA8CBoU&v#^a{cZM-dTBxj#;!U8^CT~@EcFfJ|G>`bPXEY!P@>y;3r zg??K8YKPwcbbDrJ`ex#Hkgs1PXUvp@6~8A8nQf6|FJK(|-nhfzWs~VIQ}=5I*X#9o ze`e}tq`Ko4LZx!yBA$5N$eQ5O2~t}G;+a=;hQZ@k8fY8$>d4vKkD>=JZp>Nn5&2s6AP?7u-snSB^Qz=F+cXvj?=kQ~t+GT4NgxPrIW5sL*F=uM$Bo}` zJFvRURX(^4NE$_-Eh8>aRwv{AlM5w+WC?S!LoTyWEe4!WZYSp^k#x!4?nfGFEa_z& z+N_!=jq#KYmebbm+;mxOP`8BRNZM*(h`~ z@U304?*BUu`qz8^XMj@OzW@8I1^=9j7rpWE=ZB~N{g&mcZE~*Vc7#-og-B@q#J^{4 zK{7}sy&TAS@k$dUP|SF-og_dX0z5F3{m2{vj9;#Ou8;^EgY+9+>zxTV#7?Calwz%L z3+d=w1{3p(`s10tYBwBp9suT4nqa}pWsg9T8;h-cQCTgv0Qz@{Kgtgft6l^OghS`- z75%~`cAzm4E& zUeVuTmHOM8pB~;_s%N-s1jYy}z$OoD{GCRu>Dd>}`%*wh0D;JfN^uSa^x~e|(#NFH zb1*OnRun@^znK|eF$|z2OW=8iEGojwVo=R(w;WL0W+?WD!j?_dET|#_EYX>#1^92K zV7KKaxL7LMqE9o+1Fcevg2@jB(>Jrup`RY_&V5yQh@T7wWyGl~X5FG<+YoLI=L)(G zKCCv@I$3EV5onELgV9K?w>Av ző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 z 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 z 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 f81lQfZ>RR|ajnb${Cxk*\";","import iconSetContent from \"../../build/mdi.html\";\n\nconst documentContainer = document.createElement(\"template\");\ndocumentContainer.setAttribute(\"style\", \"display: none;\");\ndocumentContainer.innerHTML = iconSetContent;\ndocument.head.appendChild(documentContainer.content);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/chunk.457ac71b0904d7243237.js b/hassio/api/panel/chunk.457ac71b0904d7243237.js deleted file mode 100644 index f0f03e081..000000000 --- a/hassio/api/panel/chunk.457ac71b0904d7243237.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{2:function(e,t,n){"use strict";n.r(t),n(36);var C=function(){function e(e,t){for(var n=0;ng%s3Pxf&4zWQ*PDO2t4O;g-# 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 this.fire('iron-iconset-added', this, { node: window }));\n }\n\n /**\n *\n * When name is changed, register iconset metadata\n *\n */\n _nameChanged() {\n this._meta.value = null;\n this._meta.key = this.name;\n this._meta.value = this;\n if (this.ownerDocument && this.ownerDocument.readyState === 'loading') {\n // Document still loading. It could be that not all icons in the iconset are parsed yet.\n this.ownerDocument.addEventListener('DOMContentLoaded', () => {\n this._fireIronIconsetAdded();\n });\n } else {\n this._fireIronIconsetAdded();\n }\n }\n}\n\ncustomElements.define('ha-iconset-svg', HaIconset);\n","export default \"\";","import '../../../src/components/ha-iconset-svg.js';\nimport iconSetContent from '../../hassio-icons.html';\n\nconst documentContainer = document.createElement('template');\ndocumentContainer.setAttribute('style', 'display: none;');\ndocumentContainer.innerHTML = iconSetContent;\ndocument.head.appendChild(documentContainer.content);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/chunk.57f5b43a82b988080555.js b/hassio/api/panel/chunk.57f5b43a82b988080555.js deleted file mode 100644 index d321b04d4..000000000 --- a/hassio/api/panel/chunk.57f5b43a82b988080555.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{1:function(e,n,t){"use strict";t.r(n),t(58);var o,a,r=t(4),s=t(6),i=(t(28),t(59),t(80),t(20),t(10)),l=function(){function e(e,n){for(var t=0;t\n'],a=['\n \n'],Object.freeze(Object.defineProperties(o,{raw:{value:Object.freeze(a)}}))),u=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),c(n,[{key:"toggleMenu",value:function(e){e.stopPropagation(),this.fire(this.showMenu?"hass-close-menu":"hass-open-menu")}},{key:"_getIcon",value:function(e){return(e?"hassio":"hass")+":menu"}}],[{key:"template",get:function(){return Object(r.a)(d)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},hassio:{type:Boolean,value:!1}}}}]),n}();customElements.define("ha-menu-button",u);var h=function(){function e(e,n){for(var t=0;t\n .placeholder {\n height: 100%;\n }\n\n .layout {\n height: calc(100% - 64px);\n }\n \n\n

    \n \n \n
    [[title]]
    \n
    \n
    \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n \n
    [[title]]
    \n
    \n
    \n \n
    \n
    \n'])}})),b=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),h(n,null,[{key:"template",get:function(){return Object(r.a)(f)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},title:{type:String,value:""}}}}]),n}();customElements.define("hass-loading-screen",b),t(61),t(76),t(83),t(3);var m=document.createElement("template");m.setAttribute("style","display: none;"),m.innerHTML='\n \n\n \n\n \n\n \n',document.head.appendChild(m.content),t(63),t(78);var y=function(){function e(e,n){for(var t=0;t=0?n:null}:null}),e._resize();for(var n=document.createTreeWalker(e,1,null,!1);n.nextNode();){var t=n.currentNode;"A"===t.tagName&&t.host!==document.location.host?t.target="_blank":"IMG"===t.tagName&&t.addEventListener("load",e._resize)}}else 2===e._scriptLoaded&&(e.innerText=e.content)}))}}],[{key:"properties",get:function(){return{content:{type:String,observer:"_render"},allowSvg:{type:Boolean,value:!1}}}}]),n}();customElements.define("ha-markdown",w);var k=function(){function e(e,n){for(var t=0;t\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n }\n paper-dialog::before {\n content: "";\n position: fixed;\n z-index: -1;\n top: 0px;\n left: 0px;\n right: 0px;\n bottom: 0px;\n background-color: inherit;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n \n \n \n \n
    [[title]]
    \n
    \n \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n \n \n \n
    [[title]]
    \n
    \n \n \n \n
    \n'])}})),O=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),k(n,[{key:"openDialog",value:function(){this.$.dialog.open()}}],[{key:"template",get:function(){return Object(r.a)(_)}},{key:"properties",get:function(){return{title:String,content:String}}}]),n}();customElements.define("hassio-markdown-dialog",O),t(84),t(13),t(12),t(97),t(99),t(85);var j=function(){function e(e,n){for(var t=0;t\n :host,\n paper-card,\n paper-dropdown-menu {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n paper-item {\n width: 450px;\n }\n .card-actions {\n text-align: right;\n }\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n'])}})),S=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),j(n,[{key:"addonChanged",value:function(e){var n=this;if(this.setProperties({selectedInput:e.audio_input||"null",selectedOutput:e.audio_output||"null"}),!this.outputDevices){var t=[{device:"null",name:"-"}];this.hass.callApi("get","hassio/hardware/audio").then(function(e){var o=e.data.audio,a=Object.keys(o.input).map(function(e){return{device:e,name:o.input[e]}}),r=Object.keys(o.output).map(function(e){return{device:e,name:o.output[e]}});n.setProperties({inputDevices:t.concat(a),outputDevices:t.concat(r)})},function(){n.setProperties({inputDevices:t,outputDevices:t})})}}},{key:"_saveSettings",value:function(){var e=this;this.error=null;var n="hassio/addons/"+this.addon.slug+"/options";this.hass.callApi("post",n,{audio_input:"null"===this.selectedInput?null:this.selectedInput,audio_output:"null"===this.selectedOutput?null:this.selectedOutput}).then(function(){e.fire("hass-api-called",{success:!0,path:n})},function(n){e.error=n.body.message})}}],[{key:"template",get:function(){return Object(r.a)(x)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},inputDevices:Array,outputDevices:Array,selectedInput:String,selectedOutput:String,error:String}}}]),n}();customElements.define("hassio-addon-audio",S),t(86);var P=function(){function e(e,n){for(var t=0;t\n .container {\n position: relative;\n display: inline-block;\n }\n\n paper-button {\n transition: all 1s;\n }\n\n .success paper-button {\n color: white;\n background-color: var(--google-green-500);\n transition: none;\n }\n\n .error paper-button {\n color: white;\n background-color: var(--google-red-500);\n transition: none;\n }\n\n paper-button[disabled] {\n color: #c8c8c8;\n }\n\n .progress {\n @apply --layout;\n @apply --layout-center-center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n \n
    \n \n \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n \n \n \n \n
    \n'])}})),E=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),P(n,[{key:"tempClass",value:function(e){var n=this.$.container.classList;n.add(e),setTimeout(function(){n.remove(e)},1e3)}},{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("click",function(n){return e.buttonTapped(n)})}},{key:"buttonTapped",value:function(e){this.progress&&e.stopPropagation()}},{key:"actionSuccess",value:function(){this.tempClass("success")}},{key:"actionError",value:function(){this.tempClass("error")}},{key:"computeDisabled",value:function(e,n){return e||n}}],[{key:"template",get:function(){return Object(r.a)(C)}},{key:"properties",get:function(){return{hass:{type:Object},progress:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1}}}}]),n}();customElements.define("ha-progress-button",E);var T=function(){function e(e,n){for(var t=0;t\n'],{raw:{value:Object.freeze(['\n \n'])}})),D=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),T(n,[{key:"buttonTapped",value:function(){var e=this;this.progress=!0;var n={method:this.method,path:this.path,data:this.data};this.hass.callApi(this.method,this.path,this.data).then(function(t){e.progress=!1,e.$.progress.actionSuccess(),n.success=!0,n.response=t},function(t){e.progress=!1,e.$.progress.actionError(),n.success=!1,n.response=t}).then(function(){e.fire("hass-api-called",n)})}}],[{key:"template",get:function(){return Object(r.a)(A)}},{key:"properties",get:function(){return{hass:Object,progress:{type:Boolean,value:!1},path:String,method:{type:String,value:"POST"},data:{type:Object,value:{}},disabled:{type:Boolean,value:!1}}}}]),n}();customElements.define("ha-call-api-button",D);var R=function(){function e(e,n){for(var t=0;t\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n iron-autogrow-textarea {\n width: 100%;\n font-family: monospace;\n }\n .syntaxerror {\n color: var(--google-red-500);\n }\n \n \n
    \n \n \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'])}})),z=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),R(n,[{key:"addonChanged",value:function(e){this.config=e?JSON.stringify(e.options,null,2):""}},{key:"configChanged",value:function(e){try{this.$.config.classList.remove("syntaxerror"),this.configParsed=JSON.parse(e)}catch(e){this.$.config.classList.add("syntaxerror"),this.configParsed=null}}},{key:"saveTapped",value:function(){var e=this;this.error=null,this.hass.callApi("post","hassio/addons/"+this.addonSlug+"/options",{options:this.configParsed}).catch(function(n){e.error=n.body.message})}}],[{key:"template",get:function(){return Object(r.a)(I)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},addonSlug:String,config:{type:String,observer:"configChanged"},configParsed:Object,error:String,resetData:{type:Object,value:{options:null}}}}}]),n}();customElements.define("hassio-addon-config",z),t(21),t(87);var q=t(7),L=[60,"second",60,"minute",24,"hour",7,"day"],H=t(57),U=(t(101),t(98)),B={__localizationCache:{requests:{},messages:{},ajax:null},properties:{language:{type:String},resources:{type:Object},formats:{type:Object,value:function(){return{}}},useKeyIfMissing:{type:Boolean,value:!1},localize:{type:Function,computed:"__computeLocalize(language, resources, formats)"},bubbleEvent:{type:Boolean,value:!1}},loadResources:function(e,n,t){var o=this.constructor.prototype;this.__checkLocalizationCache(o);var a,r=o.__localizationCache.ajax;function s(e){this.__onRequestResponse(e,n,t)}r||(r=o.__localizationCache.ajax=document.createElement("iron-ajax")),(a=o.__localizationCache.requests[e])?a.completes.then(s.bind(this),this.__onRequestError.bind(this)):(r.url=e,(a=r.generateRequest()).completes.then(s.bind(this),this.__onRequestError.bind(this)),o.__localizationCache.requests[e]=a)},__computeLocalize:function(e,n,t){var o=this.constructor.prototype;return this.__checkLocalizationCache(o),o.__localizationCache||(o.__localizationCache={requests:{},messages:{},ajax:null}),o.__localizationCache.messages={},function(){var a=arguments[0];if(a&&n&&e&&n[e]){var r=n[e][a];if(!r)return this.useKeyIfMissing?a:"";var s=a+r,i=o.__localizationCache.messages[s];i||(i=new U.a(r,e,t),o.__localizationCache.messages[s]=i);for(var l={},p=1;p=0?"past":"future";t=Math.abs(t);for(var a=0;a\n iron-icon {\n margin-right: 16px;\n margin-top: 16px;\n float: left;\n color: var(--secondary-text-color);\n }\n iron-icon.update {\n color: var(--paper-orange-400);\n }\n iron-icon.running,\n iron-icon.installed {\n color: var(--paper-green-400);\n }\n iron-icon.hassupdate,\n iron-icon.snapshot {\n color: var(--paper-item-icon-color);\n }\n .title {\n color: var(--primary-text-color);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n .addition {\n color: var(--secondary-text-color);\n overflow: hidden;\n position: relative;\n height: 2.4em;\n line-height: 1.2em;\n }\n ha-relative-time {\n display: block;\n }\n \n \n
    \n
    [[title]]
    \n
    \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[title]]
    \n
    \n \n \n
    \n
    \n'])}})),G=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),Y(n,null,[{key:"template",get:function(){return Object(r.a)(J)}},{key:"properties",get:function(){return{hass:Object,title:String,description:String,datetime:String,icon:{type:String,value:"hass:help-circle"},iconTitle:String,iconClass:String}}}]),n}();customElements.define("hassio-card-content",G);var V=function(){function e(e,n){for(var t=0;t\n :host {\n display: block;\n }\n paper-card {\n display: block;\n margin-bottom: 16px;\n }\n .addon-header {\n @apply --paper-font-headline;\n }\n .light-color {\n color: var(--secondary-text-color);\n }\n .addon-version {\n float: right;\n font-size: 15px;\n vertical-align: middle;\n }\n .description {\n margin-bottom: 16px;\n }\n .logo img {\n max-height: 60px;\n margin: 16px 0;\n display: block;\n }\n .state div{\n width: 150px;\n display: inline-block;\n }\n paper-toggle-button {\n display: inline;\n }\n iron-icon.running {\n color: var(--paper-green-400);\n }\n iron-icon.stopped {\n color: var(--google-red-300);\n }\n ha-call-api-button {\n font-weight: 500;\n color: var(--primary-color);\n }\n .right {\n float: right;\n }\n ha-markdown img {\n max-width: 100%;\n }\n \n \n\n \n
    \n
    \n \n \n
    \n \n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n
    \n
    [[addon.name]]\n
    \n \n \n
    \n
    \n
    \n [[addon.description]].
    \n Visit [[addon.name]] page for details.\n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n'])}})),K=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),V(n,[{key:"computeIsRunning",value:function(e){return e&&"started"===e.state}},{key:"computeUpdateAvailable",value:function(e){return e&&!e.detached&&e.version&&e.version!==e.last_version}},{key:"pathWebui",value:function(e){return e&&e.replace("[HOST]",document.location.hostname)}},{key:"computeShowWebUI",value:function(e,n){return e&&n}},{key:"computeStartOnBoot",value:function(e){return"auto"===e}},{key:"startOnBootToggled",value:function(){var e={boot:"auto"===this.addon.boot?"manual":"auto"};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"autoUpdateToggled",value:function(){var e={auto_update:!this.addon.auto_update};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"openChangelog",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/changelog").then(function(e){return e},function(){return"Error getting changelog"}).then(function(n){e.fire("hassio-markdown-dialog",{title:"Changelog",content:n})})}},{key:"_unistallClicked",value:function(){var e=this;if(confirm("Are you sure you want to uninstall this add-on?")){var n="hassio/addons/"+this.addonSlug+"/uninstall",t={path:n};this.hass.callApi("post",n).then(function(e){t.success=!0,t.response=e},function(e){t.success=!1,t.response=e}).then(function(){e.fire("hass-api-called",t)})}}}],[{key:"template",get:function(){return Object(r.a)(X)}},{key:"properties",get:function(){return{hass:Object,addon:Object,addonSlug:String,isRunning:{type:Boolean,computed:"computeIsRunning(addon)"}}}}]),n}();customElements.define("hassio-addon-info",K);var Q=function(){function e(e,n){for(var t=0;t\n :host,\n paper-card {\n display: block;\n }\n pre {\n overflow-x: auto;\n }\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'])}})),ee=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),Q(n,[{key:"addonSlugChanged",value:function(e){var n=this;this.hass?this.refresh():setTimeout(function(){n.addonChanged(e)},0)}},{key:"refresh",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/logs").then(function(n){e.log=n})}}],[{key:"template",get:function(){return Object(r.a)(Z)}},{key:"properties",get:function(){return{hass:Object,addonSlug:{type:String,observer:"addonSlugChanged"},log:String}}}]),n}();customElements.define("hassio-addon-logs",ee),t(31);var ne=function(){function e(e,n){for(var t=0;t\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n \n \n
    \n \n\n \n \n \n \n \n \n
    ContainerHost
    \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n\n \n \n \n \n \n \n
    ContainerHost
    \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'])}})),oe=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),ne(n,[{key:"addonChanged",value:function(e){if(e){var n=e.network||{},t=Object.keys(n).map(function(e){return{container:e,host:n[e]}});this.config=t.sort(function(e,n){return e.host-n.host})}}},{key:"saveTapped",value:function(){var e=this;this.error=null;var n={};this.config.forEach(function(e){n[e.container]=parseInt(e.host)});var t="hassio/addons/"+this.addonSlug+"/options";this.hass.callApi("post",t,{network:n}).then(function(){e.fire("hass-api-called",{success:!0,path:t})},function(n){e.error=n.body.message})}}],[{key:"template",get:function(){return Object(r.a)(te)}},{key:"properties",get:function(){return{hass:Object,addonSlug:String,config:Object,addon:{type:Object,observer:"addonChanged"},error:String,resetData:{type:Object,value:{network:null}}}}}]),n}();customElements.define("hassio-addon-network",oe);var ae=function(){function e(e,n){for(var t=0;t\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n .content {\n padding: 24px 0 32px;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config {\n margin-bottom: 24px;\n width: 600px;\n }\n hassio-addon-logs {\n max-width: calc(100% - 8px);\n min-width: 600px;\n }\n @media only screen and (max-width: 600px) {\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config,\n hassio-addon-logs {\n max-width: 100%;\n min-width: 100%;\n }\n }\n \n \n \n \n \n \n \n
    Hass.io: add-on details
    \n
    \n
    \n
    \n \n\n \n
    \n
    \n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n \n \n
    Hass.io: add-on details
    \n
    \n
    \n
    \n \n\n \n
    \n
    \n\n \n'])}})),se=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),ae(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)}),this.addEventListener("hassio-markdown-dialog",function(n){return e.openMarkdown(n)})}},{key:"apiCalled",value:function(e){var n=e.detail.path;n&&("uninstall"===n.substr(n.lastIndexOf("/")+1)?this.backTapped():this.routeDataChanged(this.routeData))}},{key:"routeDataChanged",value:function(e){var n=this;this.routeMatches&&e&&e.slug&&this.hass.callApi("get","hassio/addons/"+e.slug+"/info").then(function(e){n.addon=e.data},function(){n.addon=null})}},{key:"backTapped",value:function(){history.back()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return Object(r.a)(re)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,route:Object,routeData:{type:Object,observer:"routeDataChanged"},routeMatches:Boolean,addon:Object,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),n}();customElements.define("hassio-addon-view",se);var ie=function(){function e(e,n){for(var t=0;t1&&void 0!==arguments[1]&&arguments[1]?history.replaceState(null,null,e):history.pushState(null,null,e),this.fire("location-changed")}}]),t}()}),de=function(){function e(e,n){for(var t=0;t\n paper-card {\n cursor: pointer;\n }\n a.repo {\n display: block;\n color: var(--primary-text-color);\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),he=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,ce(s.a)),de(n,[{key:"sortAddons",value:function(e,n){return e.name\n .add {\n padding: 12px 16px;\n }\n iron-icon {\n color: var(--secondary-text-color);\n margin-right: 16px;\n display: inline-block;\n }\n paper-input {\n width: calc(100% - 49px);\n display: inline-block;\n }\n \n
    \n
    \n Repositories\n
    \n Configure which add-on repositories to fetch data from:\n
    \n
    \n \n \n
    \n \n \n
    \n
    \n Add\n
    \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    \n Repositories\n
    \n Configure which add-on repositories to fetch data from:\n
    \n
    \n \n \n
    \n \n \n
    \n
    \n Add\n
    \n
    \n
    \n'])}})),me=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),fe(n,[{key:"reposChanged",value:function(e){this.repoList=e.filter(function(e){return"core"!==e.slug&&"local"!==e.slug}),this.repoUrl=""}},{key:"sortRepos",value:function(e,n){return e.name\n hassio-addon-repository {\n margin-top: 24px;\n }\n \n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n'])}})),ge=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),ye(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)}),this.loadData()}},{key:"apiCalled",value:function(e){e.detail.success&&this.loadData()}},{key:"sortRepos",value:function(e,n){return"local"===e.slug?-1:"local"===n.slug?1:"core"===e.slug?-1:"core"===n.slug?1:e.name\n paper-card {\n cursor: pointer;\n }\n \n
    \n
    Add-ons
    \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    Add-ons
    \n \n \n
    \n'])}})),_e=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,ce(s.a)),we(n,[{key:"sortAddons",value:function(e,n){return e.name\n paper-card {\n display: block;\n margin-bottom: 32px;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),Se=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),je(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var n=e.detail.response;"object"===Oe(n.body)?this.errors=n.body.message||"Unknown error":this.errors=n.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}}],[{key:"template",get:function(){return Object(r.a)(xe)}},{key:"properties",get:function(){return{hass:Object,hassInfo:Object,error:String}}}]),n}();customElements.define("hassio-hass-update",Se);var Pe=function(){function e(e,n){for(var t=0;t\n .content {\n margin: 0 auto;\n }\n \n
    \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n \n \n
    \n'])}})),Ee=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),Pe(n,null,[{key:"template",get:function(){return Object(r.a)(Ce)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hassInfo:Object}}}]),n}();customElements.define("hassio-dashboard",Ee),t(68);var Te=function(){function e(e,n){for(var t=0;t\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-dialog-scrollable {\n margin: 0;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n height: 100%;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n .details {\n color: var(--secondary-text-color);\n }\n .download {\n color: var(--primary-color);\n }\n .warning,\n .error {\n color: var(--google-red-500);\n }\n \n \n \n \n
    [[_computeName(snapshot)]]
    \n
    \n
    \n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
    \n [[_formatDatetime(snapshot.date)]]\n
    \n
    Home Assistant:
    \n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
    \n \n \n \n \n Restore selected\n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n \n \n
    [[_computeName(snapshot)]]
    \n
    \n
    \n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
    \n [[_formatDatetime(snapshot.date)]]\n
    \n
    Home Assistant:
    \n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
    \n \n \n \n \n Restore selected\n \n
    \n
    \n'])}})),De=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),Te(n,[{key:"_snapshotSlugChanged",value:function(e){var n=this;e&&"update"!==e&&this.hass.callApi("get","hassio/snapshots/"+e+"/info").then(function(e){e.data.folders=n._computeFolders(e.data.folders),e.data.addons=n._computeAddons(e.data.addons),n.snapshot=e.data,n.$.dialog.open()},function(){n.snapshot=null})}},{key:"_computeFolders",value:function(e){var n=[];return e.includes("homeassistant")&&n.push({slug:"homeassistant",name:"Home Assistant configuration",checked:!0}),e.includes("ssl")&&n.push({slug:"ssl",name:"SSL",checked:!0}),e.includes("share")&&n.push({slug:"share",name:"Share",checked:!0}),e.includes("addons/local")&&n.push({slug:"addons/local",name:"Local add-ons",checked:!0}),n}},{key:"_computeAddons",value:function(e){return e.map(function(e){return{slug:e.slug,name:e.name,version:e.version,checked:!0}})}},{key:"_isFullSnapshot",value:function(e){return"full"===e}},{key:"_partialRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var n=this.snapshot.addons.filter(function(e){return e.checked}).map(function(e){return e.slug}),t=this.snapshot.folders.filter(function(e){return e.checked}).map(function(e){return e.slug}),o={homeassistant:this.restoreHass,addons:n,folders:t};this.snapshot.protected&&(o.password=this.snapshotPassword),this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/partial",o).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(n){e.error=n.body.message})}}},{key:"_fullRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var n=this.snapshot.protected?{password:this.snapshotPassword}:null;this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/full",n).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(n){e.error=n.body.message})}}},{key:"_deleteClicked",value:function(){var e=this;confirm("Are you sure you want to delete this snapshot?")&&this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/remove").then(function(){e.$.dialog.close(),e.snapshotDeleted=!0},function(n){e.error=n.body.message})}},{key:"_computeDownloadUrl",value:function(e){return"/api/hassio/snapshots/"+e+"/download?api_password="+encodeURIComponent(this.hass.connection.options.authToken)}},{key:"_computeDownloadName",value:function(e){return"Hass_io_"+this._computeName(e).replace(/[^a-z0-9]+/gi,"_")+".tar"}},{key:"_computeName",value:function(e){return e.name||e.slug}},{key:"_computeType",value:function(e){return"full"===e?"Full snapshot":"Partial snapshot"}},{key:"_computeSize",value:function(e){return Math.ceil(10*e)/10+" MB"}},{key:"_sortAddons",value:function(e,n){return e.name\n paper-radio-group {\n display: block;\n }\n paper-radio-button {\n padding: 0 0 2px 2px;\n }\n paper-radio-button,\n paper-checkbox,\n paper-input[type="password"] {\n display: block;\n margin: 4px 0 4px 48px;\n }\n .pointer {\n cursor: pointer;\n }\n \n
    \n
    \n
    \n Create snapshot\n
    \n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
    \n
    \n \n
    \n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
    \n
    \n Create\n
    \n
    \n
    \n\n
    \n
    Available snapshots
    \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    \n
    \n Create snapshot\n
    \n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
    \n
    \n \n
    \n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
    \n
    \n Create\n
    \n
    \n
    \n\n
    \n
    Available snapshots
    \n \n \n
    \n
    \n'])}})),ze=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),Re(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e._apiCalled(n)}),this._updateSnapshots()}},{key:"_apiCalled",value:function(e){e.detail.success&&this._updateSnapshots()}},{key:"_updateSnapshots",value:function(){var e=this;this.hass.callApi("get","hassio/snapshots").then(function(n){e.snapshots=n.data.snapshots},function(n){e.error=n.message})}},{key:"_createSnapshot",value:function(){var e=this;if(this.error="",!this.snapshotHasPassword||this.snapshotPassword.length){this.creatingSnapshot=!0;var n=this.snapshotName;n.length||(n=(new Date).toLocaleDateString(navigator.language,{weekday:"long",year:"numeric",month:"short",day:"numeric"}));var t=void 0,o=void 0;if("full"===this.snapshotType)t={name:n},o="hassio/snapshots/new/full";else{var a=this.addonList.filter(function(e){return e.checked}).map(function(e){return e.slug});t={name:n,folders:this.folderList.filter(function(e){return e.checked}).map(function(e){return e.slug}),addons:a},o="hassio/snapshots/new/partial"}this.snapshotHasPassword&&(t.password=this.snapshotPassword),this.hass.callApi("post",o,t).then(function(){e.creatingSnapshot=!1,e.fire("hass-api-called",{success:!0})},function(n){e.creatingSnapshot=!1,e.error=n.message})}else this.error="Please enter a password."}},{key:"_installedAddonsChanged",value:function(e){this.addonList=e.map(function(e){return{slug:e.slug,name:e.name,checked:!0}})}},{key:"_sortAddons",value:function(e,n){return e.name\n paper-card {\n display: inline-block;\n width: 400px;\n margin-left: 8px;\n }\n .card-content {\n height: 200px;\n color: var(--primary-text-color);\n }\n @media screen and (max-width: 830px) {\n paper-card {\n margin-top: 8px;\n margin-left: 0;\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n paper-button.info {\n max-width: calc(50% - 12px);\n }\n \n \n
    \n

    Host system

    \n \n \n \n \n \n \n \n \n \n \n
    Hostname[[data.hostname]]
    System[[data.operating_system]]
    \n \n Hardware\n \n \n \n
    \n
    \n \n \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n

    Host system

    \n \n \n \n \n \n \n \n \n \n \n
    Hostname[[data.hostname]]
    System[[data.operating_system]]
    \n \n Hardware\n \n \n \n
    \n
    \n \n \n \n \n
    \n
    \n'])}})),Ue=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),Le(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var n=e.detail.response;"object"===qe(n.body)?this.errors=n.body.message||"Unknown error":this.errors=n.body}}},{key:"_dataChanged",value:function(e){var n=this;e.features&&e.features.includes("hassos")?this.hass.callApi("get","hassio/hassos/info").then(function(e){n._hassOs=e.data}):this._hassOs={}}},{key:"_computeUpdateAvailable",value:function(e){return e&&e.version!==e.version_latest}},{key:"_featureAvailable",value:function(e,n){return e&&e.features&&e.features.includes(n)}},{key:"_showHardware",value:function(){var e=this;this.hass.callApi("get","hassio/hardware/info").then(function(n){return e._objectToMarkdown(n.data)},function(){return"Error getting hardware info"}).then(function(n){e.fire("hassio-markdown-dialog",{title:"Hardware",content:n})})}},{key:"_objectToMarkdown",value:function(e){var n=this,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o="";return Object.keys(e).forEach(function(a){"object"!==qe(e[a])?o+=t+"- "+a+": "+e[a]+"\n":(o+=t+"- "+a+":\n",Array.isArray(e[a])?e[a].length&&(o+=t+" - "+e[a].join("\n"+t+" - ")+"\n"):o+=n._objectToMarkdown(e[a]," "+t))}),o}},{key:"_changeHostnameClicked",value:function(){var e=this.data.hostname,n=prompt("Please enter a new hostname:",e);n&&n!==e&&this.hass.callApi("post","hassio/host/options",{hostname:n})}}],[{key:"template",get:function(){return Object(r.a)(He)}},{key:"properties",get:function(){return{hass:Object,data:{type:Object,observer:"_dataChanged"},errors:String,_hassOs:Object}}}]),n}();customElements.define("hassio-host-info",Ue);var Be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Me=function(){function e(e,n){for(var t=0;t\n paper-card {\n display: inline-block;\n width: 400px;\n }\n .card-content {\n height: 200px;\n color: var(--primary-text-color);\n }\n @media screen and (max-width: 830px) {\n paper-card {\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n
    \n

    Hass.io supervisor

    \n \n \n \n \n \n \n \n \n \n \n
    Version\n [[data.version]]\n
    Latest version[[data.last_version]]
    \n \n
    \n
    \n Reload\n \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n

    Hass.io supervisor

    \n \n \n \n \n \n \n \n \n \n \n
    Version\n [[data.version]]\n
    Latest version[[data.last_version]]
    \n \n
    \n
    \n Reload\n \n \n \n
    \n
    \n'])}})),Ne=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),Me(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var n=e.detail.response;"object"===Be(n.body)?this.errors=n.body.message||"Unknown error":this.errors=n.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}},{key:"_equals",value:function(e,n){return e===n}},{key:"_joinBeta",value:function(){var e=this;if(confirm("WARNING:\nBeta releases are for testers and early adopters and can contain unstable code changes. Make sure you have backups of your data before you activate this feature.\n\nThis inludes beta releases for:\n- Home Assistant (Release Candidates)\n- Hass.io supervisor\n- Host system")){var n="hassio/supervisor/options",t={channel:"beta"},o={method:"post",path:n,data:t};this.hass.callApi("post",n,t).then(function(e){o.success=!0,o.response=e},function(e){o.success=!1,o.response=e}).then(function(){e.fire("hass-api-called",o)})}}}],[{key:"template",get:function(){return Object(r.a)(Fe)}},{key:"properties",get:function(){return{hass:Object,data:Object,errors:String,leaveBeta:{type:Object,value:{channel:"stable"}}}}}]),n}();customElements.define("hassio-supervisor-info",Ne);var $e=function(){function e(e,n){for(var t=0;t\n paper-card {\n display: block;\n }\n pre {\n overflow-x: auto;\n }\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'])}})),Ye=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),$e(n,[{key:"ready",value:function(){(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.loadData()}},{key:"loadData",value:function(){var e=this;this.hass.callApi("get","hassio/supervisor/logs").then(function(n){e.log=n},function(){e.log="Error fetching logs"})}},{key:"refreshTapped",value:function(){this.loadData()}}],[{key:"template",get:function(){return Object(r.a)(We)}},{key:"properties",get:function(){return{hass:Object,log:String}}}]),n}();customElements.define("hassio-supervisor-log",Ye);var Je=function(){function e(e,n){for(var t=0;t\n .content {\n margin: 4px;\n }\n .title {\n margin-top: 24px;\n color: var(--primary-text-color);\n font-size: 2em;\n padding-left: 8px;\n margin-bottom: 8px;\n }\n \n
    \n
    Information
    \n \n \n
    System log
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    Information
    \n \n \n
    System log
    \n \n
    \n'])}})),Ve=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),Je(n,null,[{key:"template",get:function(){return Object(r.a)(Ge)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hostInfo:Object}}}]),n}();customElements.define("hassio-system",Ve);var Xe=function(){function e(e,n){for(var t=0;t\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n paper-tabs {\n margin-left: 12px;\n --paper-tabs-selection-bar-color: #FFF;\n text-transform: uppercase;\n }\n \n \n \n \n \n
    Hass.io
    \n \n
    \n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
    \n \n \n \n \n
    \n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n
    Hass.io
    \n \n
    \n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
    \n \n \n \n \n
    \n\n \n\n \n'])}})),Qe=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,ce(s.a)),Xe(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hassio-markdown-dialog",function(n){return e.openMarkdown(n)})}},{key:"handlePageSelected",value:function(e){var n,t,o,a,r,s,i,l=e.detail.item.getAttribute("page-name");l!==this.page&&this.navigate("/hassio/"+l),n=this,t=this.$.layout.header.scrollTarget,o=t,a=Math.random(),r=Date.now(),s=o.scrollTop,i=0-s,n._currentAnimationId=a,function e(){var t,l=Date.now()-r;l>200?o.scrollTop=0:n._currentAnimationId===a&&(o.scrollTop=(t=l,-i*(t/=200)*(t-2)+s),requestAnimationFrame(e.bind(n)))}.call(n)}},{key:"equals",value:function(e,n){return e===n}},{key:"showRefreshButton",value:function(e){return"store"===e||"snapshots"===e}},{key:"refreshClicked",value:function(){"snapshots"===this.page?this.shadowRoot.querySelector("hassio-snapshots").refreshData():this.shadowRoot.querySelector("hassio-addon-store").refreshData()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return Object(r.a)(Ke)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,page:String,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,snapshotSlug:String,snapshotDeleted:Boolean,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),n}();customElements.define("hassio-pages-with-tabs",Qe);var Ze=function(){function e(e,n){for(var t=0;t\n \n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n\n \n'])}})),tn=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(ce(s.a))),Ze(n,[{key:"ready",value:function(){var e=this;en(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),function(e,n,t){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e._themes||(e._themes={});var a=n.default_theme;("default"===t||t&&n.themes[t])&&(a=t);var r=Object.assign({},e._themes);if("default"!==a){var s=n.themes[a];Object.keys(s).forEach(function(n){var t="--"+n;e._themes[t]="",r[t]=s[n]})}if(e.updateStyles?e.updateStyles(r):window.ShadyCSS&&window.ShadyCSS.styleSubtree(e,r),o){var i=document.querySelector("meta[name=theme-color]");if(i){i.hasAttribute("default-content")||i.setAttribute("default-content",i.getAttribute("content"));var l=r["--primary-color"]||i.getAttribute("default-content");i.setAttribute("content",l)}}}(this,this.hass.themes,this.hass.selectedTheme,!0),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"connectedCallback",value:function(){en(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"connectedCallback",this).call(this),this.routeChanged(this.route)}},{key:"apiCalled",value:function(e){var n=this;if(e.detail.success){var t=1;!function e(){n.$.data.refresh().catch(function(){t+=1,setTimeout(e,1e3*Math.min(t,5))})}()}}},{key:"computeIsLoaded",value:function(e,n,t){return null!==e&&null!==n&&null!==t}},{key:"routeChanged",value:function(e){""===e.path&&"/hassio"===e.prefix&&this.navigate("/hassio/dashboard",!0),this.fire("iron-resize")}},{key:"equalsAddon",value:function(e){return e&&"addon"===e}}],[{key:"template",get:function(){return Object(r.a)(nn)}},{key:"properties",get:function(){return{hass:Object,narrow:Boolean,showMenu:Boolean,route:{type:Object,value:{prefix:"/hassio",path:"/dashboard",__queryParams:{}},observer:"routeChanged"},routeData:Object,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,loaded:{type:Boolean,computed:"computeIsLoaded(supervisorInfo, hostInfo, hassInfo)"}}}}]),n}();customElements.define("hassio-main",tn)},30:function(e,n){var t=document.createElement("template");t.setAttribute("style","display: none;"),t.innerHTML='\n \n',document.head.appendChild(t.content)}}]); -//# sourceMappingURL=chunk.57f5b43a82b988080555.js.map \ No newline at end of file diff --git a/hassio/api/panel/chunk.57f5b43a82b988080555.js.gz b/hassio/api/panel/chunk.57f5b43a82b988080555.js.gz deleted file mode 100644 index 1c46c036b85c3f6bb65de59a62f389cee5aadc60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19495 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 class extends superClass {\n /**\n * Dispatches a custom event with an optional detail value.\n *\n * @param {string} type Name of event type.\n * @param {*=} detail Detail value containing event-specific\n * payload.\n * @param {{ bubbles: (boolean|undefined),\n cancelable: (boolean|undefined),\n composed: (boolean|undefined) }=}\n * options Object specifying options. These may include:\n * `bubbles` (boolean, defaults to `true`),\n * `cancelable` (boolean, defaults to false), and\n * `node` on which to fire the event (HTMLElement, defaults to `this`).\n * @return {Event} The new event that was fired.\n */\n fire(type, detail, options) {\n options = options || {};\n return fireEvent(options.node || this, type, detail, options);\n }\n});\n","// Polymer legacy event helpers used courtesy of the Polymer project.\n//\n// Copyright (c) 2017 The Polymer Authors. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n// * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n// * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/**\n * Dispatches a custom event with an optional detail value.\n *\n * @param {string} type Name of event type.\n * @param {*=} detail Detail value containing event-specific\n * payload.\n * @param {{ bubbles: (boolean|undefined),\n cancelable: (boolean|undefined),\n composed: (boolean|undefined) }=}\n * options Object specifying options. These may include:\n * `bubbles` (boolean, defaults to `true`),\n * `cancelable` (boolean, defaults to false), and\n * `node` on which to fire the event (HTMLElement, defaults to `this`).\n * @return {Event} The new event that was fired.\n */\nexport default function fire(node, type, detail, options) {\n options = options || {};\n detail = (detail === null || detail === undefined) ? {} : detail;\n const event = new Event(type, {\n bubbles: options.bubbles === undefined ? true : options.bubbles,\n cancelable: Boolean(options.cancelable),\n composed: options.composed === undefined ? true : options.composed\n });\n event.detail = detail;\n node.dispatchEvent(event);\n return event;\n}\n","import '@polymer/paper-icon-button/paper-icon-button.js';\nimport { html } from '@polymer/polymer/lib/utils/html-tag.js';\nimport { PolymerElement } from '@polymer/polymer/polymer-element.js';\n\nimport EventsMixin from '../mixins/events-mixin.js';\n\n/*\n * @appliesMixin EventsMixin\n */\nclass HaMenuButton extends EventsMixin(PolymerElement) {\n static get template() {\n return html`\n \n`;\n }\n\n static get properties() {\n return {\n narrow: {\n type: Boolean,\n value: false,\n },\n\n showMenu: {\n type: Boolean,\n value: false,\n },\n\n hassio: {\n type: Boolean,\n value: false,\n }\n };\n }\n\n toggleMenu(ev) {\n ev.stopPropagation();\n this.fire(this.showMenu ? 'hass-close-menu' : 'hass-open-menu');\n }\n\n _getIcon(hassio) {\n // hass:menu\n return `${hassio ? 'hassio' : 'hass'}:menu`;\n }\n}\n\ncustomElements.define('ha-menu-button', HaMenuButton);\n","import '@polymer/app-layout/app-toolbar/app-toolbar.js';\nimport '@polymer/iron-flex-layout/iron-flex-layout-classes.js';\nimport '@polymer/paper-spinner/paper-spinner.js';\nimport { html } from '@polymer/polymer/lib/utils/html-tag.js';\nimport { PolymerElement } from '@polymer/polymer/polymer-element.js';\n\nimport '../components/ha-menu-button.js';\n\nclass HassLoadingScreen extends PolymerElement {\n static get template() {\n return html`\n \n\n

    \n \n \n
    [[title]]
    \n
    \n
    \n \n
    \n
    \n`;\n }\n\n static get properties() {\n return {\n narrow: {\n type: Boolean,\n value: false,\n },\n\n showMenu: {\n type: Boolean,\n value: false,\n },\n\n title: {\n type: String,\n value: '',\n },\n };\n }\n}\n\ncustomElements.define('hass-loading-screen', HassLoadingScreen);\n","import '@polymer/paper-styles/paper-styles.js';\nimport '@polymer/polymer/polymer-legacy.js';\n\nconst documentContainer = document.createElement('template');\ndocumentContainer.setAttribute('style', 'display: none;');\n\ndocumentContainer.innerHTML = `\n \n\n \n\n \n\n \n`;\n\ndocument.head.appendChild(documentContainer.content);\n","import { PolymerElement } from '@polymer/polymer/polymer-element.js';\nimport EventsMixin from '../mixins/events-mixin.js';\n\nlet loaded = null;\n\n/**\n * White list allowed svg tag.\n * Only put in the tag used in QR code, can be extend in future.\n */\nconst svgWhiteList = ['svg', 'path'];\n\n/*\n * @appliesMixin EventsMixin\n */\nclass HaMarkdown extends EventsMixin(PolymerElement) {\n static get properties() {\n return {\n content: {\n type: String,\n observer: '_render',\n },\n allowSvg: {\n type: Boolean,\n value: false,\n },\n };\n }\n\n connectedCallback() {\n super.connectedCallback();\n // 0 = not loaded, 1 = success, 2 = error\n this._scriptLoaded = 0;\n this._renderScheduled = false;\n this._resize = () => this.fire('iron-resize');\n\n if (!loaded) {\n loaded = import(/* webpackChunkName: \"load_markdown\" */ '../resources/load_markdown.js');\n }\n loaded.then(\n ({ marked, filterXSS }) => {\n this.marked = marked;\n this.filterXSS = filterXSS;\n this._scriptLoaded = 1;\n },\n () => { this._scriptLoaded = 2; },\n ).then(() => this._render());\n }\n\n _render() {\n if (this._scriptLoaded === 0 || this._renderScheduled) return;\n\n this._renderScheduled = true;\n\n // debounce it to next microtask.\n Promise.resolve().then(() => {\n this._renderScheduled = false;\n\n if (this._scriptLoaded === 1) {\n this.innerHTML = this.filterXSS(this.marked(this.content, {\n gfm: true,\n tables: true,\n breaks: true\n }), {\n onIgnoreTag: this.allowSvg\n ? (tag, html) => (svgWhiteList.indexOf(tag) >= 0 ? html : null)\n : null\n });\n this._resize();\n\n const walker = document.createTreeWalker(this, 1 /* SHOW_ELEMENT */, null, false);\n\n while (walker.nextNode()) {\n const node = walker.currentNode;\n\n // Open external links in a new window\n if (node.tagName === 'A'\n && node.host !== document.location.host) {\n node.target = '_blank';\n\n // Fire a resize event when images loaded to notify content resized\n } else if (node.tagName === 'IMG') {\n node.addEventListener('load', this._resize);\n }\n }\n } else if (this._scriptLoaded === 2) {\n this.innerText = this.content;\n }\n });\n }\n}\n\ncustomElements.define('ha-markdown', HaMarkdown);\n","import '@polymer/app-layout/app-toolbar/app-toolbar.js';\nimport '@polymer/paper-dialog-scrollable/paper-dialog-scrollable.js';\nimport '@polymer/paper-dialog/paper-dialog.js';\nimport '@polymer/paper-icon-button/paper-icon-button.js';\nimport { html } from '@polymer/polymer/lib/utils/html-tag.js';\nimport { PolymerElement } from '@polymer/polymer/polymer-element.js';\n\nimport '../../src/components/ha-markdown.js';\nimport '../../src/resources/ha-style.js';\n\nclass HassioMarkdownDialog extends PolymerElement {\n static get template() {\n return html`\n \n \n \n \n
    [[title]]
    \n
    \n \n \n \n
    \n`;\n }\n\n static get properties() {\n return {\n title: String,\n content: String,\n };\n }\n\n openDialog() {\n this.$.dialog.open();\n }\n}\ncustomElements.define('hassio-markdown-dialog', HassioMarkdownDialog);\n","import 'web-animations-js/web-animations-next-lite.min.js';\n\nimport '@polymer/paper-button/paper-button.js';\nimport '@polymer/paper-card/paper-card.js';\nimport '@polymer/paper-dropdown-menu/paper-dropdown-menu.js';\nimport '@polymer/paper-item/paper-item.js';\nimport '@polymer/paper-listbox/paper-listbox.js';\nimport { html } from '@polymer/polymer/lib/utils/html-tag.js';\nimport { PolymerElement } from '@polymer/polymer/polymer-element.js';\n\nimport '../../../src/resources/ha-style.js';\nimport EventsMixin from '../../../src/mixins/events-mixin.js';\n\nclass HassioAddonAudio extends EventsMixin(PolymerElement) {\n static get template() {\n return html`\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n`;\n }\n\n static get properties() {\n return {\n hass: Object,\n addon: {\n type: Object,\n observer: 'addonChanged'\n },\n inputDevices: Array,\n outputDevices: Array,\n selectedInput: String,\n selectedOutput: String,\n error: String,\n };\n }\n\n addonChanged(addon) {\n this.setProperties({\n selectedInput: addon.audio_input || 'null',\n selectedOutput: addon.audio_output || 'null'\n });\n if (this.outputDevices) return;\n\n const noDevice = [{ device: 'null', name: '-' }];\n this.hass.callApi('get', 'hassio/hardware/audio').then((resp) => {\n const dev = resp.data.audio;\n const input = Object.keys(dev.input).map(key => ({ device: key, name: dev.input[key] }));\n const output = Object.keys(dev.output).map(key => ({ device: key, name: dev.output[key] }));\n this.setProperties({\n inputDevices: noDevice.concat(input),\n outputDevices: noDevice.concat(output)\n });\n }, () => {\n this.setProperties({\n inputDevices: noDevice,\n outputDevices: noDevice\n });\n });\n }\n\n _saveSettings() {\n this.error = null;\n const path = `hassio/addons/${this.addon.slug}/options`;\n this.hass.callApi('post', path, {\n audio_input: this.selectedInput === 'null' ? null : this.selectedInput,\n audio_output: this.selectedOutput === 'null' ? null : this.selectedOutput\n }).then(() => {\n this.fire('hass-api-called', { success: true, path: path });\n }, (resp) => {\n this.error = resp.body.message;\n });\n }\n}\n\ncustomElements.define('hassio-addon-audio', HassioAddonAudio);\n","import '@polymer/paper-button/paper-button.js';\nimport '@polymer/paper-spinner/paper-spinner.js';\nimport { html } from '@polymer/polymer/lib/utils/html-tag.js';\nimport { PolymerElement } from '@polymer/polymer/polymer-element.js';\n\nclass HaProgressButton extends PolymerElement {\n static get template() {\n return html`\n \n
    \n \n \n \n \n
    \n`;\n }\n\n static get properties() {\n return {\n hass: {\n type: Object,\n },\n\n progress: {\n type: Boolean,\n value: false,\n },\n\n disabled: {\n type: Boolean,\n value: false,\n },\n };\n }\n\n tempClass(className) {\n var classList = this.$.container.classList;\n classList.add(className);\n setTimeout(() => {\n classList.remove(className);\n }, 1000);\n }\n\n ready() {\n super.ready();\n this.addEventListener('click', ev => this.buttonTapped(ev));\n }\n\n buttonTapped(ev) {\n if (this.progress) ev.stopPropagation();\n }\n\n actionSuccess() {\n this.tempClass('success');\n }\n\n actionError() {\n this.tempClass('error');\n }\n\n computeDisabled(disabled, progress) {\n return disabled || progress;\n }\n}\n\ncustomElements.define('ha-progress-button', HaProgressButton);\n","import { html } from '@polymer/polymer/lib/utils/html-tag.js';\nimport { PolymerElement } from '@polymer/polymer/polymer-element.js';\n\n\nimport './ha-progress-button.js';\nimport EventsMixin from '../../mixins/events-mixin.js';\n\n/*\n * @appliesMixin EventsMixin\n */\nclass HaCallApiButton extends EventsMixin(PolymerElement) {\n static get template() {\n return html`\n \n`;\n }\n\n static get properties() {\n return {\n hass: Object,\n\n progress: {\n type: Boolean,\n value: false,\n },\n\n path: String,\n\n method: {\n type: String,\n value: 'POST',\n },\n\n data: {\n type: Object,\n value: {},\n },\n\n disabled: {\n type: Boolean,\n value: false,\n },\n };\n }\n\n buttonTapped() {\n this.progress = true;\n const eventData = {\n method: this.method,\n path: this.path,\n data: this.data,\n };\n\n this.hass.callApi(this.method, this.path, this.data)\n .then((resp) => {\n this.progress = false;\n this.$.progress.actionSuccess();\n eventData.success = true;\n eventData.response = resp;\n }, (resp) => {\n this.progress = false;\n this.$.progress.actionError();\n eventData.success = false;\n eventData.response = resp;\n }).then(() => {\n this.fire('hass-api-called', eventData);\n });\n }\n}\n\ncustomElements.define('ha-call-api-button', HaCallApiButton);\n","import '@polymer/iron-autogrow-textarea/iron-autogrow-textarea.js';\nimport '@polymer/paper-button/paper-button.js';\nimport '@polymer/paper-card/paper-card.js';\nimport { html } from '@polymer/polymer/lib/utils/html-tag.js';\nimport { PolymerElement } from '@polymer/polymer/polymer-element.js';\n\nimport '../../../src/components/buttons/ha-call-api-button.js';\n\nclass HassioAddonConfig extends PolymerElement {\n static get template() {\n return html`\n \n \n
    \n \n \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n`;\n }\n\n static get properties() {\n return {\n hass: Object,\n addon: {\n type: Object,\n observer: 'addonChanged',\n },\n addonSlug: String,\n config: {\n type: String,\n observer: 'configChanged',\n },\n configParsed: Object,\n error: String,\n resetData: {\n type: Object,\n value: {\n options: null,\n },\n },\n };\n }\n\n addonChanged(addon) {\n this.config = addon ? JSON.stringify(addon.options, null, 2) : '';\n }\n\n configChanged(config) {\n try {\n this.$.config.classList.remove('syntaxerror');\n this.configParsed = JSON.parse(config);\n } catch (err) {\n this.$.config.classList.add('syntaxerror');\n this.configParsed = null;\n }\n }\n\n saveTapped() {\n this.error = null;\n\n this.hass.callApi('post', `hassio/addons/${this.addonSlug}/options`, {\n options: this.configParsed\n }).catch((resp) => {\n this.error = resp.body.message;\n });\n }\n}\n\ncustomElements.define('hassio-addon-config', HassioAddonConfig);\n","/** Calculate a string representing a date object as relative time from now.\n *\n * Example output: 5 minutes ago, in 3 days.\n*/\nconst tests = [\n 60, 'second',\n 60, 'minute',\n 24, 'hour',\n 7, 'day',\n];\n\nexport default function relativeTime(dateObj, localize) {\n let delta = (new Date() - dateObj) / 1000;\n const tense = delta >= 0 ? 'past' : 'future';\n delta = Math.abs(delta);\n\n for (let i = 0; i < tests.length; i += 2) {\n if (delta < tests[i]) {\n delta = Math.floor(delta);\n const time = localize(`ui.components.relative_time.duration.${tests[i + 1]}`, 'count', delta);\n return localize(`ui.components.relative_time.${tense}`, 'time', time);\n }\n\n delta /= tests[i];\n }\n\n delta = Math.floor(delta);\n const time = localize('ui.components.relative_time.duration.week', 'count', delta);\n return localize(`ui.components.relative_time.${tense}`, 'time', time);\n}\n","/* Forked to fix the import of IntlMessageFormat */\n/* eslint-disable */\n/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\nThe complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\nThe complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\nCode distributed by Google as part of the polymer project is also\nsubject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport '@polymer/iron-ajax/iron-ajax.js';\nimport IntlMessageFormat from 'intl-messageformat/src/main.js';\n\n/**\n* `Polymer.AppLocalizeBehavior` wraps the [format.js](http://formatjs.io/) library to\n* help you internationalize your application. Note that if you're on a browser that\n* does not natively support the [Intl](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl)\n* object, you must load the polyfill yourself. An example polyfill can\n* be found [here](https://github.com/andyearnshaw/Intl.js/).\n*\n* `Polymer.AppLocalizeBehavior` supports the same [message-syntax](http://formatjs.io/guides/message-syntax/)\n* of format.js, in its entirety; use the library docs as reference for the\n* available message formats and options.\n*\n* Sample application loading resources from an external file:\n*\n* \n* \n* \n \n \n \n ```\n\n ```js\n import {html} from '@polymer/polymer/lib/utils/html-tag.js';\n import '@polymer/iron-flex-layout/iron-flex-layout-classes.js';\n\n const template = html`\n \n \n
    \n
    horizontal layout center alignment
    \n
    \n `;\n document.body.appendChild(template.content);\n ```\n\n2. [Custom CSS\nmixins](https://github.com/PolymerElements/iron-flex-layout/blob/master/iron-flex-layout.html).\nThe mixin stylesheet includes custom CSS mixins that can be applied inside a CSS\nrule using the `@apply` function.\n\nPlease note that the old [/deep/ layout\nclasses](https://github.com/PolymerElements/iron-flex-layout/tree/master/classes)\nare deprecated, and should not be used. To continue using layout properties\ndirectly in markup, please switch to using the new `dom-module`-based\n[layout\nclasses](https://github.com/PolymerElements/iron-flex-layout/tree/master/iron-flex-layout-classes.html).\nPlease note that the new version does not use `/deep/`, and therefore requires\nyou to import the `dom-modules` in every element that needs to use them.\n\n@group Iron Elements\n@pseudoElement iron-flex-layout\n@demo demo/index.html\n*/\nconst template = html`\n\n \n\n\n \n`;\n\ntemplate.setAttribute('style', 'display: none;');\ndocument.head.appendChild(template.content);\n\nvar style = document.createElement('style');\nstyle.textContent = '[hidden] { display: none !important; }';\ndocument.head.appendChild(style);\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\n/* Taken from\n * https://www.google.com/design/spec/style/color.html#color-ui-color-application\n */\nimport '@polymer/polymer/polymer-legacy.js';\nimport './color.js';\n\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\nconst template = html`\n\n \n`;\ntemplate.setAttribute('style', 'display: none;');\ndocument.head.appendChild(template.content);\n","/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\nThe complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\nThe complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\nCode distributed by Google as part of the polymer project is also\nsubject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\nimport {resolveUrl} from '@polymer/polymer/lib/utils/resolve-url.js';\n\n/**\n`iron-image` is an element for displaying an image that provides useful sizing and\npreloading options not found on the standard `` tag.\n\nThe `sizing` option allows the image to be either cropped (`cover`) or\nletterboxed (`contain`) to fill a fixed user-size placed on the element.\n\nThe `preload` option prevents the browser from rendering the image until the\nimage is fully loaded. In the interim, either the element's CSS `background-color`\ncan be be used as the placeholder, or the `placeholder` property can be\nset to a URL (preferably a data-URI, for instant rendering) for an\nplaceholder image.\n\nThe `fade` option (only valid when `preload` is set) will cause the placeholder\nimage/color to be faded out once the image is rendered.\n\nExamples:\n\n Basically identical to `` tag:\n\n \n\n Will letterbox the image to fit:\n\n \n\n Will crop the image to fit:\n\n \n\n Will show light-gray background until the image loads:\n\n \n\n Will show a base-64 encoded placeholder image until the image loads:\n\n \n\n Will fade the light-gray background out once the image is loaded:\n\n \n\nCustom property | Description | Default\n----------------|-------------|----------\n`--iron-image-placeholder` | Mixin applied to #placeholder | `{}`\n`--iron-image-width` | Sets the width of the wrapped image | `auto`\n`--iron-image-height` | Sets the height of the wrapped image | `auto`\n\n@group Iron Elements\n@element iron-image\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n\n \n
    \n \n
    \n`,\n\n is: 'iron-image',\n\n properties: {\n /**\n * The URL of an image.\n */\n src: {type: String, value: ''},\n\n /**\n * A short text alternative for the image.\n */\n alt: {type: String, value: null},\n\n /**\n * CORS enabled images support:\n * https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image\n */\n crossorigin: {type: String, value: null},\n\n /**\n * When true, the image is prevented from loading and any placeholder is\n * shown. This may be useful when a binding to the src property is known to\n * be invalid, to prevent 404 requests.\n */\n preventLoad: {type: Boolean, value: false},\n\n /**\n * Sets a sizing option for the image. Valid values are `contain` (full\n * aspect ratio of the image is contained within the element and\n * letterboxed) or `cover` (image is cropped in order to fully cover the\n * bounds of the element), or `null` (default: image takes natural size).\n */\n sizing: {type: String, value: null, reflectToAttribute: true},\n\n /**\n * When a sizing option is used (`cover` or `contain`), this determines\n * how the image is aligned within the element bounds.\n */\n position: {type: String, value: 'center'},\n\n /**\n * When `true`, any change to the `src` property will cause the\n * `placeholder` image to be shown until the new image has loaded.\n */\n preload: {type: Boolean, value: false},\n\n /**\n * This image will be used as a background/placeholder until the src image\n * has loaded. Use of a data-URI for placeholder is encouraged for instant\n * rendering.\n */\n placeholder: {type: String, value: null, observer: '_placeholderChanged'},\n\n /**\n * When `preload` is true, setting `fade` to true will cause the image to\n * fade into place.\n */\n fade: {type: Boolean, value: false},\n\n /**\n * Read-only value that is true when the image is loaded.\n */\n loaded: {notify: true, readOnly: true, type: Boolean, value: false},\n\n /**\n * Read-only value that tracks the loading state of the image when the\n * `preload` option is used.\n */\n loading: {notify: true, readOnly: true, type: Boolean, value: false},\n\n /**\n * Read-only value that indicates that the last set `src` failed to load.\n */\n error: {notify: true, readOnly: true, type: Boolean, value: false},\n\n /**\n * Can be used to set the width of image (e.g. via binding); size may also\n * be set via CSS.\n */\n width: {observer: '_widthChanged', type: Number, value: null},\n\n /**\n * Can be used to set the height of image (e.g. via binding); size may also\n * be set via CSS.\n *\n * @attribute height\n * @type number\n * @default null\n */\n height: {observer: '_heightChanged', type: Number, value: null},\n },\n\n observers: [\n '_transformChanged(sizing, position)',\n '_loadStateObserver(src, preventLoad)'\n ],\n\n created: function() {\n this._resolvedSrc = '';\n },\n\n _imgOnLoad: function() {\n if (this.$.img.src !== this._resolveSrc(this.src)) {\n return;\n }\n\n this._setLoading(false);\n this._setLoaded(true);\n this._setError(false);\n },\n\n _imgOnError: function() {\n if (this.$.img.src !== this._resolveSrc(this.src)) {\n return;\n }\n\n this.$.img.removeAttribute('src');\n this.$.sizedImgDiv.style.backgroundImage = '';\n\n this._setLoading(false);\n this._setLoaded(false);\n this._setError(true);\n },\n\n _computePlaceholderHidden: function() {\n return !this.preload || (!this.fade && !this.loading && this.loaded);\n },\n\n _computePlaceholderClassName: function() {\n return (this.preload && this.fade && !this.loading && this.loaded) ?\n 'faded-out' :\n '';\n },\n\n _computeImgDivHidden: function() {\n return !this.sizing;\n },\n\n _computeImgDivARIAHidden: function() {\n return this.alt === '' ? 'true' : undefined;\n },\n\n _computeImgDivARIALabel: function() {\n if (this.alt !== null) {\n return this.alt;\n }\n\n // Polymer.ResolveUrl.resolveUrl will resolve '' relative to a URL x to\n // that URL x, but '' is the default for src.\n if (this.src === '') {\n return '';\n }\n\n // NOTE: Use of `URL` was removed here because IE11 doesn't support\n // constructing it. If this ends up being problematic, we should\n // consider reverting and adding the URL polyfill as a dev dependency.\n var resolved = this._resolveSrc(this.src);\n // Remove query parts, get file name.\n return resolved.replace(/[?|#].*/g, '').split('/').pop();\n },\n\n _computeImgHidden: function() {\n return !!this.sizing;\n },\n\n _widthChanged: function() {\n this.style.width = isNaN(this.width) ? this.width : this.width + 'px';\n },\n\n _heightChanged: function() {\n this.style.height = isNaN(this.height) ? this.height : this.height + 'px';\n },\n\n _loadStateObserver: function(src, preventLoad) {\n var newResolvedSrc = this._resolveSrc(src);\n if (newResolvedSrc === this._resolvedSrc) {\n return;\n }\n\n this._resolvedSrc = '';\n this.$.img.removeAttribute('src');\n this.$.sizedImgDiv.style.backgroundImage = '';\n\n if (src === '' || preventLoad) {\n this._setLoading(false);\n this._setLoaded(false);\n this._setError(false);\n } else {\n this._resolvedSrc = newResolvedSrc;\n this.$.img.src = this._resolvedSrc;\n this.$.sizedImgDiv.style.backgroundImage =\n 'url(\"' + this._resolvedSrc + '\")';\n\n this._setLoading(true);\n this._setLoaded(false);\n this._setError(false);\n }\n },\n\n _placeholderChanged: function() {\n this.$.placeholder.style.backgroundImage =\n this.placeholder ? 'url(\"' + this.placeholder + '\")' : '';\n },\n\n _transformChanged: function() {\n var sizedImgDivStyle = this.$.sizedImgDiv.style;\n var placeholderStyle = this.$.placeholder.style;\n\n sizedImgDivStyle.backgroundSize = placeholderStyle.backgroundSize =\n this.sizing;\n\n sizedImgDivStyle.backgroundPosition = placeholderStyle.backgroundPosition =\n this.sizing ? this.position : '';\n\n sizedImgDivStyle.backgroundRepeat = placeholderStyle.backgroundRepeat =\n this.sizing ? 'no-repeat' : '';\n },\n\n _resolveSrc: function(testSrc) {\n var resolved = resolveUrl(testSrc, this.$.baseURIAnchor.href);\n // NOTE: Use of `URL` was removed here because IE11 doesn't support\n // constructing it. If this ends up being problematic, we should\n // consider reverting and adding the URL polyfill as a dev dependency.\n if (resolved[0] === '/') {\n // In IE location.origin might not work\n // https://connect.microsoft.com/IE/feedback/details/1763802/location-origin-is-undefined-in-ie-11-on-windows-10-but-works-on-windows-7\n resolved = (location.origin || location.protocol + '//' + location.host) +\n resolved;\n }\n return resolved;\n }\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\nimport '@polymer/iron-image/iron-image.js';\nimport '@polymer/paper-styles/element-styles/paper-material-styles.js';\nimport '@polymer/paper-styles/default-theme.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\nMaterial design:\n[Cards](https://www.google.com/design/spec/components/cards.html)\n\n`paper-card` is a container with a drop shadow.\n\nExample:\n\n \n
    Some content
    \n
    \n Some action\n
    \n
    \n\nExample - top card image:\n\n \n ...\n \n\n### Accessibility\n\nBy default, the `aria-label` will be set to the value of the `heading`\nattribute.\n\n### Styling\n\nThe following custom properties and mixins are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-card-background-color` | The background color of the card | `--primary-background-color`\n`--paper-card-header-color` | The color of the header text | `#000`\n`--paper-card-header` | Mixin applied to the card header section | `{}`\n`--paper-card-header-text` | Mixin applied to the title in the card header section | `{}`\n`--paper-card-header-image` | Mixin applied to the image in the card header section | `{}`\n`--paper-card-header-image-text` | Mixin applied to the text overlapping the image in the card header section | `{}`\n`--paper-card-content` | Mixin applied to the card content section| `{}`\n`--paper-card-actions` | Mixin applied to the card action section | `{}`\n`--paper-card` | Mixin applied to the card | `{}`\n\n@group Paper Elements\n@element paper-card\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n\n
    \n \n
    [[heading]]
    \n
    \n\n \n`,\n\n is: 'paper-card',\n\n properties: {\n /**\n * The title of the card.\n */\n heading: {type: String, value: '', observer: '_headingChanged'},\n\n /**\n * The url of the title image of the card.\n */\n image: {type: String, value: ''},\n\n /**\n * The text alternative of the card's title image.\n */\n alt: {type: String},\n\n /**\n * When `true`, any change to the image url property will cause the\n * `placeholder` image to be shown until the image is fully rendered.\n */\n preloadImage: {type: Boolean, value: false},\n\n /**\n * When `preloadImage` is true, setting `fadeImage` to true will cause the\n * image to fade into place.\n */\n fadeImage: {type: Boolean, value: false},\n\n /**\n * This image will be used as a background/placeholder until the src image\n * has loaded. Use of a data-URI for placeholder is encouraged for instant\n * rendering.\n */\n placeholderImage: {type: String, value: null},\n\n /**\n * The z-depth of the card, from 0-5.\n */\n elevation: {type: Number, value: 1, reflectToAttribute: true},\n\n /**\n * Set this to true to animate the card shadow when setting a new\n * `z` value.\n */\n animatedShadow: {type: Boolean, value: false},\n\n /**\n * Read-only property used to pass down the `animatedShadow` value to\n * the underlying paper-material style (since they have different names).\n */\n animated: {\n type: Boolean,\n reflectToAttribute: true,\n readOnly: true,\n computed: '_computeAnimated(animatedShadow)'\n }\n },\n\n /**\n * Format function for aria-hidden. Use the ! operator results in the\n * empty string when given a falsy value.\n */\n _isHidden: function(image) {\n return image ? 'false' : 'true';\n },\n\n _headingChanged: function(heading) {\n var currentHeading = this.getAttribute('heading'),\n currentLabel = this.getAttribute('aria-label');\n\n if (typeof currentLabel !== 'string' || currentLabel === currentHeading) {\n this.setAttribute('aria-label', heading);\n }\n },\n\n _computeHeadingClass: function(image) {\n return image ? ' over-image' : '';\n },\n\n _computeAnimated: function(animatedShadow) {\n return animatedShadow;\n }\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {IronButtonState, IronButtonStateImpl} from '@polymer/iron-behaviors/iron-button-state.js';\nimport {IronControlState} from '@polymer/iron-behaviors/iron-control-state.js';\n\nimport {PaperRippleBehavior} from './paper-ripple-behavior.js';\n\n/** @polymerBehavior PaperButtonBehavior */\nexport const PaperButtonBehaviorImpl = {\n properties: {\n /**\n * The z-depth of this element, from 0-5. Setting to 0 will remove the\n * shadow, and each increasing number greater than 0 will be \"deeper\"\n * than the last.\n *\n * @attribute elevation\n * @type number\n * @default 1\n */\n elevation: {type: Number, reflectToAttribute: true, readOnly: true}\n },\n\n observers: [\n '_calculateElevation(focused, disabled, active, pressed, receivedFocusFromKeyboard)',\n '_computeKeyboardClass(receivedFocusFromKeyboard)'\n ],\n\n hostAttributes: {role: 'button', tabindex: '0', animated: true},\n\n _calculateElevation: function() {\n var e = 1;\n if (this.disabled) {\n e = 0;\n } else if (this.active || this.pressed) {\n e = 4;\n } else if (this.receivedFocusFromKeyboard) {\n e = 3;\n }\n this._setElevation(e);\n },\n\n _computeKeyboardClass: function(receivedFocusFromKeyboard) {\n this.toggleClass('keyboard-focus', receivedFocusFromKeyboard);\n },\n\n /**\n * In addition to `IronButtonState` behavior, when space key goes down,\n * create a ripple down effect.\n *\n * @param {!KeyboardEvent} event .\n */\n _spaceKeyDownHandler: function(event) {\n IronButtonStateImpl._spaceKeyDownHandler.call(this, event);\n // Ensure that there is at most one ripple when the space key is held down.\n if (this.hasRipple() && this.getRipple().ripples.length < 1) {\n this._ripple.uiDownAction();\n }\n },\n\n /**\n * In addition to `IronButtonState` behavior, when space key goes up,\n * create a ripple up effect.\n *\n * @param {!KeyboardEvent} event .\n */\n _spaceKeyUpHandler: function(event) {\n IronButtonStateImpl._spaceKeyUpHandler.call(this, event);\n if (this.hasRipple()) {\n this._ripple.uiUpAction();\n }\n }\n};\n\n/** @polymerBehavior */\nexport const PaperButtonBehavior = [\n IronButtonState,\n IronControlState,\n PaperRippleBehavior,\n PaperButtonBehaviorImpl\n];\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\nimport '@polymer/paper-styles/element-styles/paper-material-styles.js';\n\nimport {PaperButtonBehavior, PaperButtonBehaviorImpl} from '@polymer/paper-behaviors/paper-button-behavior.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/polymer-legacy.js';\n\nconst template = html`\n \n\n `;\n\ntemplate.setAttribute('strip-whitespace', '');\n\n/**\nMaterial design:\n[Buttons](https://www.google.com/design/spec/components/buttons.html)\n\n`paper-button` is a button. When the user touches the button, a ripple effect\nemanates from the point of contact. It may be flat or raised. A raised button is\nstyled with a shadow.\n\nExample:\n\n Flat button\n Raised button\n No ripple effect\n Toggle-able button\n\nA button that has `toggles` true will remain `active` after being clicked (and\nwill have an `active` attribute set). For more information, see the\n`IronButtonState` behavior.\n\nYou may use custom DOM in the button body to create a variety of buttons. For\nexample, to create a button with an icon and some text:\n\n \n \n custom button content\n \n\nTo use `paper-button` as a link, wrap it in an anchor tag. Since `paper-button`\nwill already receive focus, you may want to prevent the anchor tag from\nreceiving focus as well by setting its tabindex to -1.\n\n \n Polymer Project\n \n\n### Styling\n\nStyle the button with CSS as you would a normal DOM element.\n\n paper-button.fancy {\n background: green;\n color: yellow;\n }\n\n paper-button.fancy:hover {\n background: lime;\n }\n\n paper-button[disabled],\n paper-button[toggles][active] {\n background: red;\n }\n\nBy default, the ripple is the same color as the foreground at 25% opacity. You\nmay customize the color using the `--paper-button-ink-color` custom property.\n\nThe following custom properties and mixins are also available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-button-ink-color` | Background color of the ripple | `Based on the button's color`\n`--paper-button` | Mixin applied to the button | `{}`\n`--paper-button-disabled` | Mixin applied to the disabled button. Note that you can also use the `paper-button[disabled]` selector | `{}`\n`--paper-button-flat-keyboard-focus` | Mixin applied to a flat button after it's been focused using the keyboard | `{}`\n`--paper-button-raised-keyboard-focus` | Mixin applied to a raised button after it's been focused using the keyboard | `{}`\n\n@demo demo/index.html\n*/\nPolymer({\n _template: template,\n\n is: 'paper-button',\n\n behaviors: [PaperButtonBehavior],\n\n properties: {\n /**\n * If true, the button should be styled with a shadow.\n */\n raised: {\n type: Boolean,\n reflectToAttribute: true,\n value: false,\n observer: '_calculateElevation',\n }\n },\n\n _calculateElevation: function() {\n if (!this.raised) {\n this._setElevation(0);\n } else {\n PaperButtonBehaviorImpl._calculateElevation.apply(this);\n }\n }\n\n /**\n Fired when the animation finishes.\n This is useful if you want to wait until\n the ripple animation finishes to perform some action.\n\n @event transitionend\n Event param: {{node: Object}} detail Contains the animated node.\n */\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\n\n/**\n * @demo demo/index.html\n * @polymerBehavior\n */\nexport const IronControlState = {\n\n properties: {\n\n /**\n * If true, the element currently has focus.\n */\n focused: {\n type: Boolean,\n value: false,\n notify: true,\n readOnly: true,\n reflectToAttribute: true\n },\n\n /**\n * If true, the user cannot interact with this element.\n */\n disabled: {\n type: Boolean,\n value: false,\n notify: true,\n observer: '_disabledChanged',\n reflectToAttribute: true\n },\n\n /**\n * Value of the `tabindex` attribute before `disabled` was activated.\n * `null` means the attribute was not present.\n * @type {?string|undefined}\n */\n _oldTabIndex: {type: String},\n\n _boundFocusBlurHandler: {\n type: Function,\n value: function() {\n return this._focusBlurHandler.bind(this);\n }\n }\n },\n\n observers: ['_changedControlState(focused, disabled)'],\n\n /**\n * @return {void}\n */\n ready: function() {\n this.addEventListener('focus', this._boundFocusBlurHandler, true);\n this.addEventListener('blur', this._boundFocusBlurHandler, true);\n },\n\n _focusBlurHandler: function(event) {\n // Polymer takes care of retargeting events.\n this._setFocused(event.type === 'focus');\n return;\n },\n\n _disabledChanged: function(disabled, old) {\n this.setAttribute('aria-disabled', disabled ? 'true' : 'false');\n this.style.pointerEvents = disabled ? 'none' : '';\n if (disabled) {\n // Read the `tabindex` attribute instead of the `tabIndex` property.\n // The property returns `-1` if there is no `tabindex` attribute.\n // This distinction is important when restoring the value because\n // leaving `-1` hides shadow root children from the tab order.\n this._oldTabIndex = this.getAttribute('tabindex');\n this._setFocused(false);\n this.tabIndex = -1;\n this.blur();\n } else if (this._oldTabIndex !== undefined) {\n if (this._oldTabIndex === null) {\n this.removeAttribute('tabindex');\n } else {\n this.setAttribute('tabindex', this._oldTabIndex);\n }\n }\n },\n\n _changedControlState: function() {\n // _controlStateChanged is abstract, follow-on behaviors may implement it\n if (this._controlStateChanged) {\n this._controlStateChanged();\n }\n }\n\n};\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\n/**\n * Chrome uses an older version of DOM Level 3 Keyboard Events\n *\n * Most keys are labeled as text, but some are Unicode codepoints.\n * Values taken from:\n * http://www.w3.org/TR/2007/WD-DOM-Level-3-Events-20071221/keyset.html#KeySet-Set\n */\nvar KEY_IDENTIFIER = {\n 'U+0008': 'backspace',\n 'U+0009': 'tab',\n 'U+001B': 'esc',\n 'U+0020': 'space',\n 'U+007F': 'del'\n};\n\n/**\n * Special table for KeyboardEvent.keyCode.\n * KeyboardEvent.keyIdentifier is better, and KeyBoardEvent.key is even better\n * than that.\n *\n * Values from:\n * https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.keyCode#Value_of_keyCode\n */\nvar KEY_CODE = {\n 8: 'backspace',\n 9: 'tab',\n 13: 'enter',\n 27: 'esc',\n 33: 'pageup',\n 34: 'pagedown',\n 35: 'end',\n 36: 'home',\n 32: 'space',\n 37: 'left',\n 38: 'up',\n 39: 'right',\n 40: 'down',\n 46: 'del',\n 106: '*'\n};\n\n/**\n * MODIFIER_KEYS maps the short name for modifier keys used in a key\n * combo string to the property name that references those same keys\n * in a KeyboardEvent instance.\n */\nvar MODIFIER_KEYS = {\n 'shift': 'shiftKey',\n 'ctrl': 'ctrlKey',\n 'alt': 'altKey',\n 'meta': 'metaKey'\n};\n\n/**\n * KeyboardEvent.key is mostly represented by printable character made by\n * the keyboard, with unprintable keys labeled nicely.\n *\n * However, on OS X, Alt+char can make a Unicode character that follows an\n * Apple-specific mapping. In this case, we fall back to .keyCode.\n */\nvar KEY_CHAR = /[a-z0-9*]/;\n\n/**\n * Matches a keyIdentifier string.\n */\nvar IDENT_CHAR = /U\\+/;\n\n/**\n * Matches arrow keys in Gecko 27.0+\n */\nvar ARROW_KEY = /^arrow/;\n\n/**\n * Matches space keys everywhere (notably including IE10's exceptional name\n * `spacebar`).\n */\nvar SPACE_KEY = /^space(bar)?/;\n\n/**\n * Matches ESC key.\n *\n * Value from: http://w3c.github.io/uievents-key/#key-Escape\n */\nvar ESC_KEY = /^escape$/;\n\n/**\n * Transforms the key.\n * @param {string} key The KeyBoardEvent.key\n * @param {Boolean} [noSpecialChars] Limits the transformation to\n * alpha-numeric characters.\n */\nfunction transformKey(key, noSpecialChars) {\n var validKey = '';\n if (key) {\n var lKey = key.toLowerCase();\n if (lKey === ' ' || SPACE_KEY.test(lKey)) {\n validKey = 'space';\n } else if (ESC_KEY.test(lKey)) {\n validKey = 'esc';\n } else if (lKey.length == 1) {\n if (!noSpecialChars || KEY_CHAR.test(lKey)) {\n validKey = lKey;\n }\n } else if (ARROW_KEY.test(lKey)) {\n validKey = lKey.replace('arrow', '');\n } else if (lKey == 'multiply') {\n // numpad '*' can map to Multiply on IE/Windows\n validKey = '*';\n } else {\n validKey = lKey;\n }\n }\n return validKey;\n}\n\nfunction transformKeyIdentifier(keyIdent) {\n var validKey = '';\n if (keyIdent) {\n if (keyIdent in KEY_IDENTIFIER) {\n validKey = KEY_IDENTIFIER[keyIdent];\n } else if (IDENT_CHAR.test(keyIdent)) {\n keyIdent = parseInt(keyIdent.replace('U+', '0x'), 16);\n validKey = String.fromCharCode(keyIdent).toLowerCase();\n } else {\n validKey = keyIdent.toLowerCase();\n }\n }\n return validKey;\n}\n\nfunction transformKeyCode(keyCode) {\n var validKey = '';\n if (Number(keyCode)) {\n if (keyCode >= 65 && keyCode <= 90) {\n // ascii a-z\n // lowercase is 32 offset from uppercase\n validKey = String.fromCharCode(32 + keyCode);\n } else if (keyCode >= 112 && keyCode <= 123) {\n // function keys f1-f12\n validKey = 'f' + (keyCode - 112 + 1);\n } else if (keyCode >= 48 && keyCode <= 57) {\n // top 0-9 keys\n validKey = String(keyCode - 48);\n } else if (keyCode >= 96 && keyCode <= 105) {\n // num pad 0-9\n validKey = String(keyCode - 96);\n } else {\n validKey = KEY_CODE[keyCode];\n }\n }\n return validKey;\n}\n\n/**\n * Calculates the normalized key for a KeyboardEvent.\n * @param {KeyboardEvent} keyEvent\n * @param {Boolean} [noSpecialChars] Set to true to limit keyEvent.key\n * transformation to alpha-numeric chars. This is useful with key\n * combinations like shift + 2, which on FF for MacOS produces\n * keyEvent.key = @\n * To get 2 returned, set noSpecialChars = true\n * To get @ returned, set noSpecialChars = false\n */\nfunction normalizedKeyForEvent(keyEvent, noSpecialChars) {\n // Fall back from .key, to .detail.key for artifical keyboard events,\n // and then to deprecated .keyIdentifier and .keyCode.\n if (keyEvent.key) {\n return transformKey(keyEvent.key, noSpecialChars);\n }\n if (keyEvent.detail && keyEvent.detail.key) {\n return transformKey(keyEvent.detail.key, noSpecialChars);\n }\n return transformKeyIdentifier(keyEvent.keyIdentifier) ||\n transformKeyCode(keyEvent.keyCode) || '';\n}\n\nfunction keyComboMatchesEvent(keyCombo, event) {\n // For combos with modifiers we support only alpha-numeric keys\n var keyEvent = normalizedKeyForEvent(event, keyCombo.hasModifiers);\n return keyEvent === keyCombo.key &&\n (!keyCombo.hasModifiers ||\n (!!event.shiftKey === !!keyCombo.shiftKey &&\n !!event.ctrlKey === !!keyCombo.ctrlKey &&\n !!event.altKey === !!keyCombo.altKey &&\n !!event.metaKey === !!keyCombo.metaKey));\n}\n\nfunction parseKeyComboString(keyComboString) {\n if (keyComboString.length === 1) {\n return {combo: keyComboString, key: keyComboString, event: 'keydown'};\n }\n return keyComboString.split('+')\n .reduce(function(parsedKeyCombo, keyComboPart) {\n var eventParts = keyComboPart.split(':');\n var keyName = eventParts[0];\n var event = eventParts[1];\n\n if (keyName in MODIFIER_KEYS) {\n parsedKeyCombo[MODIFIER_KEYS[keyName]] = true;\n parsedKeyCombo.hasModifiers = true;\n } else {\n parsedKeyCombo.key = keyName;\n parsedKeyCombo.event = event || 'keydown';\n }\n\n return parsedKeyCombo;\n }, {combo: keyComboString.split(':').shift()});\n}\n\nfunction parseEventString(eventString) {\n return eventString.trim().split(' ').map(function(keyComboString) {\n return parseKeyComboString(keyComboString);\n });\n}\n\n/**\n * `Polymer.IronA11yKeysBehavior` provides a normalized interface for processing\n * keyboard commands that pertain to [WAI-ARIA best\n * practices](http://www.w3.org/TR/wai-aria-practices/#kbd_general_binding). The\n * element takes care of browser differences with respect to Keyboard events and\n * uses an expressive syntax to filter key presses.\n *\n * Use the `keyBindings` prototype property to express what combination of keys\n * will trigger the callback. A key binding has the format\n * `\"KEY+MODIFIER:EVENT\": \"callback\"` (`\"KEY\": \"callback\"` or\n * `\"KEY:EVENT\": \"callback\"` are valid as well). Some examples:\n *\n * keyBindings: {\n * 'space': '_onKeydown', // same as 'space:keydown'\n * 'shift+tab': '_onKeydown',\n * 'enter:keypress': '_onKeypress',\n * 'esc:keyup': '_onKeyup'\n * }\n *\n * The callback will receive with an event containing the following information\n * in `event.detail`:\n *\n * _onKeydown: function(event) {\n * console.log(event.detail.combo); // KEY+MODIFIER, e.g. \"shift+tab\"\n * console.log(event.detail.key); // KEY only, e.g. \"tab\"\n * console.log(event.detail.event); // EVENT, e.g. \"keydown\"\n * console.log(event.detail.keyboardEvent); // the original KeyboardEvent\n * }\n *\n * Use the `keyEventTarget` attribute to set up event handlers on a specific\n * node.\n *\n * See the [demo source\n * code](https://github.com/PolymerElements/iron-a11y-keys-behavior/blob/master/demo/x-key-aware.html)\n * for an example.\n *\n * @demo demo/index.html\n * @polymerBehavior\n */\nexport const IronA11yKeysBehavior = {\n properties: {\n /**\n * The EventTarget that will be firing relevant KeyboardEvents. Set it to\n * `null` to disable the listeners.\n * @type {?EventTarget}\n */\n keyEventTarget: {\n type: Object,\n value: function() {\n return this;\n }\n },\n\n /**\n * If true, this property will cause the implementing element to\n * automatically stop propagation on any handled KeyboardEvents.\n */\n stopKeyboardEventPropagation: {type: Boolean, value: false},\n\n _boundKeyHandlers: {\n type: Array,\n value: function() {\n return [];\n }\n },\n\n // We use this due to a limitation in IE10 where instances will have\n // own properties of everything on the \"prototype\".\n _imperativeKeyBindings: {\n type: Object,\n value: function() {\n return {};\n }\n }\n },\n\n observers: ['_resetKeyEventListeners(keyEventTarget, _boundKeyHandlers)'],\n\n\n /**\n * To be used to express what combination of keys will trigger the relative\n * callback. e.g. `keyBindings: { 'esc': '_onEscPressed'}`\n * @type {!Object}\n */\n keyBindings: {},\n\n registered: function() {\n this._prepKeyBindings();\n },\n\n attached: function() {\n this._listenKeyEventListeners();\n },\n\n detached: function() {\n this._unlistenKeyEventListeners();\n },\n\n /**\n * Can be used to imperatively add a key binding to the implementing\n * element. This is the imperative equivalent of declaring a keybinding\n * in the `keyBindings` prototype property.\n *\n * @param {string} eventString\n * @param {string} handlerName\n */\n addOwnKeyBinding: function(eventString, handlerName) {\n this._imperativeKeyBindings[eventString] = handlerName;\n this._prepKeyBindings();\n this._resetKeyEventListeners();\n },\n\n /**\n * When called, will remove all imperatively-added key bindings.\n */\n removeOwnKeyBindings: function() {\n this._imperativeKeyBindings = {};\n this._prepKeyBindings();\n this._resetKeyEventListeners();\n },\n\n /**\n * Returns true if a keyboard event matches `eventString`.\n *\n * @param {KeyboardEvent} event\n * @param {string} eventString\n * @return {boolean}\n */\n keyboardEventMatchesKeys: function(event, eventString) {\n var keyCombos = parseEventString(eventString);\n for (var i = 0; i < keyCombos.length; ++i) {\n if (keyComboMatchesEvent(keyCombos[i], event)) {\n return true;\n }\n }\n return false;\n },\n\n _collectKeyBindings: function() {\n var keyBindings = this.behaviors.map(function(behavior) {\n return behavior.keyBindings;\n });\n\n if (keyBindings.indexOf(this.keyBindings) === -1) {\n keyBindings.push(this.keyBindings);\n }\n\n return keyBindings;\n },\n\n _prepKeyBindings: function() {\n this._keyBindings = {};\n\n this._collectKeyBindings().forEach(function(keyBindings) {\n for (var eventString in keyBindings) {\n this._addKeyBinding(eventString, keyBindings[eventString]);\n }\n }, this);\n\n for (var eventString in this._imperativeKeyBindings) {\n this._addKeyBinding(\n eventString, this._imperativeKeyBindings[eventString]);\n }\n\n // Give precedence to combos with modifiers to be checked first.\n for (var eventName in this._keyBindings) {\n this._keyBindings[eventName].sort(function(kb1, kb2) {\n var b1 = kb1[0].hasModifiers;\n var b2 = kb2[0].hasModifiers;\n return (b1 === b2) ? 0 : b1 ? -1 : 1;\n })\n }\n },\n\n _addKeyBinding: function(eventString, handlerName) {\n parseEventString(eventString).forEach(function(keyCombo) {\n this._keyBindings[keyCombo.event] =\n this._keyBindings[keyCombo.event] || [];\n\n this._keyBindings[keyCombo.event].push([keyCombo, handlerName]);\n }, this);\n },\n\n _resetKeyEventListeners: function() {\n this._unlistenKeyEventListeners();\n\n if (this.isAttached) {\n this._listenKeyEventListeners();\n }\n },\n\n _listenKeyEventListeners: function() {\n if (!this.keyEventTarget) {\n return;\n }\n Object.keys(this._keyBindings).forEach(function(eventName) {\n var keyBindings = this._keyBindings[eventName];\n var boundKeyHandler = this._onKeyBindingEvent.bind(this, keyBindings);\n\n this._boundKeyHandlers.push(\n [this.keyEventTarget, eventName, boundKeyHandler]);\n\n this.keyEventTarget.addEventListener(eventName, boundKeyHandler);\n }, this);\n },\n\n _unlistenKeyEventListeners: function() {\n var keyHandlerTuple;\n var keyEventTarget;\n var eventName;\n var boundKeyHandler;\n\n while (this._boundKeyHandlers.length) {\n // My kingdom for block-scope binding and destructuring assignment..\n keyHandlerTuple = this._boundKeyHandlers.pop();\n keyEventTarget = keyHandlerTuple[0];\n eventName = keyHandlerTuple[1];\n boundKeyHandler = keyHandlerTuple[2];\n\n keyEventTarget.removeEventListener(eventName, boundKeyHandler);\n }\n },\n\n _onKeyBindingEvent: function(keyBindings, event) {\n if (this.stopKeyboardEventPropagation) {\n event.stopPropagation();\n }\n\n // if event has been already prevented, don't do anything\n if (event.defaultPrevented) {\n return;\n }\n\n for (var i = 0; i < keyBindings.length; i++) {\n var keyCombo = keyBindings[i][0];\n var handlerName = keyBindings[i][1];\n if (keyComboMatchesEvent(keyCombo, event)) {\n this._triggerKeyHandler(keyCombo, handlerName, event);\n // exit the loop if eventDefault was prevented\n if (event.defaultPrevented) {\n return;\n }\n }\n }\n },\n\n _triggerKeyHandler: function(keyCombo, handlerName, keyboardEvent) {\n var detail = Object.create(keyCombo);\n detail.keyboardEvent = keyboardEvent;\n var event =\n new CustomEvent(keyCombo.event, {detail: detail, cancelable: true});\n this[handlerName].call(this, event);\n if (event.defaultPrevented) {\n keyboardEvent.preventDefault();\n }\n }\n};\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\n\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\nconst template = html`\n\n \n\n`;\ntemplate.setAttribute('style', 'display: none;');\ndocument.head.appendChild(template.content);\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/iron-icon/iron-icon.js';\nimport '@polymer/paper-styles/default-theme.js';\n\nimport {PaperInkyFocusBehavior} from '@polymer/paper-behaviors/paper-inky-focus-behavior.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\nconst template = html`\n\n \n\n`;\ntemplate.setAttribute('style', 'display: none;');\ndocument.body.appendChild(template.content);\n\n/**\nMaterial design: [Icon\ntoggles](https://www.google.com/design/spec/components/buttons.html#buttons-toggle-buttons)\n\n`paper-icon-button` is a button with an image placed at the center. When the\nuser touches the button, a ripple effect emanates from the center of the button.\n\n`paper-icon-button` does not include a default icon set. To use icons from the\ndefault set, include `PolymerElements/iron-icons/iron-icons.html`, and use the\n`icon` attribute to specify which icon from the icon set to use.\n\n \n\nSee [`iron-iconset`](iron-iconset) for more information about\nhow to use a custom icon set.\n\nExample:\n\n \n\n \n \n\nTo use `paper-icon-button` as a link, wrap it in an anchor tag. Since\n`paper-icon-button` will already receive focus, you may want to prevent the\nanchor tag from receiving focus as well by setting its tabindex to -1.\n\n \n \n \n\n### Styling\n\nStyle the button with CSS as you would a normal DOM element. If you are using\nthe icons provided by `iron-icons`, they will inherit the foreground color of\nthe button.\n\n /* make a red \"favorite\" button *\\/\n \n\nBy default, the ripple is the same color as the foreground at 25% opacity. You\nmay customize the color using the `--paper-icon-button-ink-color` custom\nproperty.\n\nThe following custom properties and mixins are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-icon-button-disabled-text` | The color of the disabled button | `--disabled-text-color`\n`--paper-icon-button-ink-color` | Selected/focus ripple color | `--primary-text-color`\n`--paper-icon-button` | Mixin for a button | `{}`\n`--paper-icon-button-disabled` | Mixin for a disabled button | `{}`\n`--paper-icon-button-hover` | Mixin for button on hover | `{}`\n\n@group Paper Elements\n@element paper-icon-button\n@demo demo/index.html\n*/\nPolymer({\n is: 'paper-icon-button',\n\n hostAttributes: {role: 'button', tabindex: '0'},\n\n behaviors: [PaperInkyFocusBehavior],\n\n properties: {\n /**\n * The URL of an image for the icon. If the src property is specified,\n * the icon property should not be.\n */\n src: {type: String},\n\n /**\n * Specifies the icon name or index in the set of icons available in\n * the icon's icon set. If the icon property is specified,\n * the src property should not be.\n */\n icon: {type: String},\n\n /**\n * Specifies the alternate text for the button, for accessibility.\n */\n alt: {type: String, observer: '_altChanged'}\n },\n\n _altChanged: function(newValue, oldValue) {\n var label = this.getAttribute('aria-label');\n\n // Don't stomp over a user-set aria-label.\n if (!label || oldValue == label) {\n this.setAttribute('aria-label', newValue);\n }\n }\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\n\nimport {IronMeta} from '@polymer/iron-meta/iron-meta.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\nimport {Base} from '@polymer/polymer/polymer-legacy.js';\n\n/**\n\nThe `iron-icon` element displays an icon. By default an icon renders as a 24px\nsquare.\n\nExample using src:\n\n \n\nExample setting size to 32px x 32px:\n\n \n\n \n\nThe iron elements include several sets of icons. To use the default set of\nicons, import `iron-icons.js` and use the `icon` attribute to specify an icon:\n\n \n\n \n\nTo use a different built-in set of icons, import the specific\n`iron-icons/-icons.js`, and specify the icon as `:`.\nFor example, to use a communication icon, you would use:\n\n \n\n \n\nYou can also create custom icon sets of bitmap or SVG icons.\n\nExample of using an icon named `cherry` from a custom iconset with the ID\n`fruit`:\n\n \n\nSee `` and `` for more information about how to\ncreate a custom iconset.\n\nSee the `iron-icons` demo to see the icons available in the various iconsets.\n\n### Styling\n\nThe following custom properties are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--iron-icon` | Mixin applied to the icon | {}\n`--iron-icon-width` | Width of the icon | `24px`\n`--iron-icon-height` | Height of the icon | `24px`\n`--iron-icon-fill-color` | Fill color of the svg icon | `currentcolor`\n`--iron-icon-stroke-color` | Stroke color of the svg icon | none\n\n@group Iron Elements\n@element iron-icon\n@demo demo/index.html\n@hero hero.svg\n@homepage polymer.github.io\n*/\nPolymer({\n _template: html`\n \n`,\n\n is: 'iron-icon',\n\n properties: {\n\n /**\n * The name of the icon to use. The name should be of the form:\n * `iconset_name:icon_name`.\n */\n icon: {type: String},\n\n /**\n * The name of the theme to used, if one is specified by the\n * iconset.\n */\n theme: {type: String},\n\n /**\n * If using iron-icon without an iconset, you can set the src to be\n * the URL of an individual icon image file. Note that this will take\n * precedence over a given icon attribute.\n */\n src: {type: String},\n\n /**\n * @type {!IronMeta}\n */\n _meta: {value: Base.create('iron-meta', {type: 'iconset'})}\n\n },\n\n observers: [\n '_updateIcon(_meta, isAttached)',\n '_updateIcon(theme, isAttached)',\n '_srcChanged(src, isAttached)',\n '_iconChanged(icon, isAttached)'\n ],\n\n _DEFAULT_ICONSET: 'icons',\n\n _iconChanged: function(icon) {\n var parts = (icon || '').split(':');\n this._iconName = parts.pop();\n this._iconsetName = parts.pop() || this._DEFAULT_ICONSET;\n this._updateIcon();\n },\n\n _srcChanged: function(src) {\n this._updateIcon();\n },\n\n _usesIconset: function() {\n return this.icon || !this.src;\n },\n\n /** @suppress {visibility} */\n _updateIcon: function() {\n if (this._usesIconset()) {\n if (this._img && this._img.parentNode) {\n dom(this.root).removeChild(this._img);\n }\n if (this._iconName === '') {\n if (this._iconset) {\n this._iconset.removeIcon(this);\n }\n } else if (this._iconsetName && this._meta) {\n this._iconset = /** @type {?Polymer.Iconset} */ (\n this._meta.byKey(this._iconsetName));\n if (this._iconset) {\n this._iconset.applyIcon(this, this._iconName, this.theme);\n this.unlisten(window, 'iron-iconset-added', '_updateIcon');\n } else {\n this.listen(window, 'iron-iconset-added', '_updateIcon');\n }\n }\n } else {\n if (this._iconset) {\n this._iconset.removeIcon(this);\n }\n if (!this._img) {\n this._img = document.createElement('img');\n this._img.style.width = '100%';\n this._img.style.height = '100%';\n this._img.draggable = false;\n }\n this._img.src = this.src;\n dom(this.root).appendChild(this._img);\n }\n }\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport './iron-control-state.js';\n\nimport {IronA11yKeysBehavior} from '@polymer/iron-a11y-keys-behavior/iron-a11y-keys-behavior.js';\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\n\n/**\n * @demo demo/index.html\n * @polymerBehavior IronButtonState\n */\nexport const IronButtonStateImpl = {\n\n properties: {\n\n /**\n * If true, the user is currently holding down the button.\n */\n pressed: {\n type: Boolean,\n readOnly: true,\n value: false,\n reflectToAttribute: true,\n observer: '_pressedChanged'\n },\n\n /**\n * If true, the button toggles the active state with each tap or press\n * of the spacebar.\n */\n toggles: {type: Boolean, value: false, reflectToAttribute: true},\n\n /**\n * If true, the button is a toggle and is currently in the active state.\n */\n active:\n {type: Boolean, value: false, notify: true, reflectToAttribute: true},\n\n /**\n * True if the element is currently being pressed by a \"pointer,\" which\n * is loosely defined as mouse or touch input (but specifically excluding\n * keyboard input).\n */\n pointerDown: {type: Boolean, readOnly: true, value: false},\n\n /**\n * True if the input device that caused the element to receive focus\n * was a keyboard.\n */\n receivedFocusFromKeyboard: {type: Boolean, readOnly: true},\n\n /**\n * The aria attribute to be set if the button is a toggle and in the\n * active state.\n */\n ariaActiveAttribute: {\n type: String,\n value: 'aria-pressed',\n observer: '_ariaActiveAttributeChanged'\n }\n },\n\n listeners: {down: '_downHandler', up: '_upHandler', tap: '_tapHandler'},\n\n observers:\n ['_focusChanged(focused)', '_activeChanged(active, ariaActiveAttribute)'],\n\n /**\n * @type {!Object}\n */\n keyBindings: {\n 'enter:keydown': '_asyncClick',\n 'space:keydown': '_spaceKeyDownHandler',\n 'space:keyup': '_spaceKeyUpHandler',\n },\n\n _mouseEventRe: /^mouse/,\n\n _tapHandler: function() {\n if (this.toggles) {\n // a tap is needed to toggle the active state\n this._userActivate(!this.active);\n } else {\n this.active = false;\n }\n },\n\n _focusChanged: function(focused) {\n this._detectKeyboardFocus(focused);\n\n if (!focused) {\n this._setPressed(false);\n }\n },\n\n _detectKeyboardFocus: function(focused) {\n this._setReceivedFocusFromKeyboard(!this.pointerDown && focused);\n },\n\n // to emulate native checkbox, (de-)activations from a user interaction fire\n // 'change' events\n _userActivate: function(active) {\n if (this.active !== active) {\n this.active = active;\n this.fire('change');\n }\n },\n\n _downHandler: function(event) {\n this._setPointerDown(true);\n this._setPressed(true);\n this._setReceivedFocusFromKeyboard(false);\n },\n\n _upHandler: function() {\n this._setPointerDown(false);\n this._setPressed(false);\n },\n\n /**\n * @param {!KeyboardEvent} event .\n */\n _spaceKeyDownHandler: function(event) {\n var keyboardEvent = event.detail.keyboardEvent;\n var target = dom(keyboardEvent).localTarget;\n\n // Ignore the event if this is coming from a focused light child, since that\n // element will deal with it.\n if (this.isLightDescendant(/** @type {Node} */ (target)))\n return;\n\n keyboardEvent.preventDefault();\n keyboardEvent.stopImmediatePropagation();\n this._setPressed(true);\n },\n\n /**\n * @param {!KeyboardEvent} event .\n */\n _spaceKeyUpHandler: function(event) {\n var keyboardEvent = event.detail.keyboardEvent;\n var target = dom(keyboardEvent).localTarget;\n\n // Ignore the event if this is coming from a focused light child, since that\n // element will deal with it.\n if (this.isLightDescendant(/** @type {Node} */ (target)))\n return;\n\n if (this.pressed) {\n this._asyncClick();\n }\n this._setPressed(false);\n },\n\n // trigger click asynchronously, the asynchrony is useful to allow one\n // event handler to unwind before triggering another event\n _asyncClick: function() {\n this.async(function() {\n this.click();\n }, 1);\n },\n\n // any of these changes are considered a change to button state\n\n _pressedChanged: function(pressed) {\n this._changedButtonState();\n },\n\n _ariaActiveAttributeChanged: function(value, oldValue) {\n if (oldValue && oldValue != value && this.hasAttribute(oldValue)) {\n this.removeAttribute(oldValue);\n }\n },\n\n _activeChanged: function(active, ariaActiveAttribute) {\n if (this.toggles) {\n this.setAttribute(this.ariaActiveAttribute, active ? 'true' : 'false');\n } else {\n this.removeAttribute(this.ariaActiveAttribute);\n }\n this._changedButtonState();\n },\n\n _controlStateChanged: function() {\n if (this.disabled) {\n this._setPressed(false);\n } else {\n this._changedButtonState();\n }\n },\n\n // provide hook for follow-on behaviors to react to button-state\n\n _changedButtonState: function() {\n if (this._buttonStateChanged) {\n this._buttonStateChanged(); // abstract\n }\n }\n\n};\n\n/** @polymerBehavior */\nexport const IronButtonState = [IronA11yKeysBehavior, IronButtonStateImpl];\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\n\nexport {}; // ensure this file can only be parsed as a module.\n\n// Give the user the choice to opt out of font loading.\nif (!window.polymerSkipLoadingFontRoboto) {\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.type = 'text/css';\n link.crossOrigin = 'anonymous';\n link.href =\n 'https://fonts.googleapis.com/css?family=Roboto+Mono:400,700|Roboto:400,300,300italic,400italic,500,500italic,700,700italic';\n document.head.appendChild(link);\n}\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\n/*\nTypographic styles are provided matching the Material Design standard styles:\nhttp://www.google.com/design/spec/style/typography.html#typography-standard-styles\n\nNote that these are English/Latin centric styles. You may need to further adjust\nline heights and weights for CJK typesetting. See the notes in the Material\nDesign typography section.\n*/\n\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/font-roboto/roboto.js';\n\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\nconst template = html`\n \n`;\ntemplate.setAttribute('style', 'display: none;');\ndocument.head.appendChild(template.content);\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\napp-toolbar is a horizontal toolbar containing items that can be used for\nlabel, navigation, search and actions.\n\n### Example\n\nAdd a title to the toolbar.\n\n```html\n\n
    App name
    \n
    \n```\n\nAdd a button to the left and right side of the toolbar.\n\n```html\n\n \n
    App name
    \n \n
    \n```\n\nYou can use the attributes `top-item` or `bottom-item` to completely fit an\nelement to the top or bottom of the toolbar respectively.\n\n### Content attributes\n\nAttribute | Description\n---------------------|---------------------------------------------------------\n`main-title` | The main title element.\n`condensed-title` | The title element if used inside a condensed app-header.\n`spacer` | Adds a left margin of `64px`.\n`bottom-item` | Sticks the element to the bottom of the toolbar.\n`top-item` | Sticks the element to the top of the toolbar.\n\n### Styling\n\nCustom property | Description | Default\n-----------------------------|------------------------------|-----------------------\n`--app-toolbar-font-size` | Toolbar font size | 20px\n\n@group App Elements\n@element app-toolbar\n@demo app-toolbar/demo/index.html\n*/\nPolymer({\n _template: html`\n \n\n \n`,\n\n is: 'app-toolbar'\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/paper-ripple/paper-ripple.js';\n\nimport {IronButtonStateImpl} from '@polymer/iron-behaviors/iron-button-state.js';\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\n\n/**\n * `PaperRippleBehavior` dynamically implements a ripple when the element has\n * focus via pointer or keyboard.\n *\n * NOTE: This behavior is intended to be used in conjunction with and after\n * `IronButtonState` and `IronControlState`.\n *\n * @polymerBehavior PaperRippleBehavior\n */\nexport const PaperRippleBehavior = {\n properties: {\n /**\n * If true, the element will not produce a ripple effect when interacted\n * with via the pointer.\n */\n noink: {type: Boolean, observer: '_noinkChanged'},\n\n /**\n * @type {Element|undefined}\n */\n _rippleContainer: {\n type: Object,\n }\n },\n\n /**\n * Ensures a `` element is available when the element is\n * focused.\n */\n _buttonStateChanged: function() {\n if (this.focused) {\n this.ensureRipple();\n }\n },\n\n /**\n * In addition to the functionality provided in `IronButtonState`, ensures\n * a ripple effect is created when the element is in a `pressed` state.\n */\n _downHandler: function(event) {\n IronButtonStateImpl._downHandler.call(this, event);\n if (this.pressed) {\n this.ensureRipple(event);\n }\n },\n\n /**\n * Ensures this element contains a ripple effect. For startup efficiency\n * the ripple effect is dynamically on demand when needed.\n * @param {!Event=} optTriggeringEvent (optional) event that triggered the\n * ripple.\n */\n ensureRipple: function(optTriggeringEvent) {\n if (!this.hasRipple()) {\n this._ripple = this._createRipple();\n this._ripple.noink = this.noink;\n var rippleContainer = this._rippleContainer || this.root;\n if (rippleContainer) {\n dom(rippleContainer).appendChild(this._ripple);\n }\n if (optTriggeringEvent) {\n // Check if the event happened inside of the ripple container\n // Fall back to host instead of the root because distributed text\n // nodes are not valid event targets\n var domContainer = dom(this._rippleContainer || this);\n var target = dom(optTriggeringEvent).rootTarget;\n if (domContainer.deepContains(/** @type {Node} */ (target))) {\n this._ripple.uiDownAction(optTriggeringEvent);\n }\n }\n }\n },\n\n /**\n * Returns the `` element used by this element to create\n * ripple effects. The element's ripple is created on demand, when\n * necessary, and calling this method will force the\n * ripple to be created.\n */\n getRipple: function() {\n this.ensureRipple();\n return this._ripple;\n },\n\n /**\n * Returns true if this element currently contains a ripple effect.\n * @return {boolean}\n */\n hasRipple: function() {\n return Boolean(this._ripple);\n },\n\n /**\n * Create the element's ripple effect via creating a ``.\n * Override this method to customize the ripple element.\n * @return {!PaperRippleElement} Returns a `` element.\n */\n _createRipple: function() {\n var element = /** @type {!PaperRippleElement} */ (\n document.createElement('paper-ripple'));\n return element;\n },\n\n _noinkChanged: function(noink) {\n if (this.hasRipple()) {\n this._ripple.noink = noink;\n }\n }\n};\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\n`iron-a11y-announcer` is a singleton element that is intended to add a11y\nto features that require on-demand announcement from screen readers. In\norder to make use of the announcer, it is best to request its availability\nin the announcing element.\n\nExample:\n\n Polymer({\n\n is: 'x-chatty',\n\n attached: function() {\n // This will create the singleton element if it has not\n // been created yet:\n Polymer.IronA11yAnnouncer.requestAvailability();\n }\n });\n\nAfter the `iron-a11y-announcer` has been made available, elements can\nmake announces by firing bubbling `iron-announce` events.\n\nExample:\n\n this.fire('iron-announce', {\n text: 'This is an announcement!'\n }, { bubbles: true });\n\nNote: announcements are only audible if you have a screen reader enabled.\n\n@group Iron Elements\n@demo demo/index.html\n*/\nexport const IronA11yAnnouncer = Polymer({\n _template: html`\n \n
    [[_text]]
    \n`,\n\n is: 'iron-a11y-announcer',\n\n properties: {\n\n /**\n * The value of mode is used to set the `aria-live` attribute\n * for the element that will be announced. Valid values are: `off`,\n * `polite` and `assertive`.\n */\n mode: {type: String, value: 'polite'},\n\n _text: {type: String, value: ''}\n },\n\n created: function() {\n if (!IronA11yAnnouncer.instance) {\n IronA11yAnnouncer.instance = this;\n }\n\n document.body.addEventListener(\n 'iron-announce', this._onIronAnnounce.bind(this));\n },\n\n /**\n * Cause a text string to be announced by screen readers.\n *\n * @param {string} text The text that should be announced.\n */\n announce: function(text) {\n this._text = '';\n this.async(function() {\n this._text = text;\n }, 100);\n },\n\n _onIronAnnounce: function(event) {\n if (event.detail && event.detail.text) {\n this.announce(event.detail.text);\n }\n }\n});\n\nIronA11yAnnouncer.instance = null;\n\nIronA11yAnnouncer.requestAvailability = function() {\n if (!IronA11yAnnouncer.instance) {\n IronA11yAnnouncer.instance = document.createElement('iron-a11y-announcer');\n }\n\n document.body.appendChild(IronA11yAnnouncer.instance);\n};\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {IronA11yAnnouncer} from '@polymer/iron-a11y-announcer/iron-a11y-announcer.js';\nimport {IronValidatableBehavior} from '@polymer/iron-validatable-behavior/iron-validatable-behavior.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\n`` is a wrapper to a native `` element, that adds two-way\nbinding and prevention of invalid input. To use it, you must distribute a native\n`` yourself. You can continue to use the native `input` as you would\nnormally:\n\n \n \n \n\n \n \n \n\n### Two-way binding\n\nBy default you can only get notified of changes to a native ``'s `value`\ndue to user input:\n\n \n\nThis means that if you imperatively set the value (i.e. `someNativeInput.value =\n'foo'`), no events will be fired and this change cannot be observed.\n\n`iron-input` adds the `bind-value` property that mirrors the native `input`'s\n'`value` property; this property can be used for two-way data binding.\n`bind-value` will notify if it is changed either by user input or by script.\n\n \n \n \n\nNote: this means that if you want to imperatively set the native `input`'s, you\n_must_ set `bind-value` instead, so that the wrapper `iron-input` can be\nnotified.\n\n### Validation\n\n`iron-input` uses the native `input`'s validation. For simplicity, `iron-input`\nhas a `validate()` method (which internally just checks the distributed\n`input`'s validity), which sets an `invalid` attribute that can also be used for\nstyling.\n\nTo validate automatically as you type, you can use the `auto-validate`\nattribute.\n\n`iron-input` also fires an `iron-input-validate` event after `validate()` is\ncalled. You can use it to implement a custom validator:\n\n var CatsOnlyValidator = {\n validate: function(ironInput) {\n var valid = !ironInput.bindValue || ironInput.bindValue === 'cat';\n ironInput.invalid = !valid;\n return valid;\n }\n }\n ironInput.addEventListener('iron-input-validate', function() {\n CatsOnly.validate(input2);\n });\n\nYou can also use an element implementing an\n[`IronValidatorBehavior`](/element/PolymerElements/iron-validatable-behavior).\nThis example can also be found in the demo for this element:\n\n \n \n \n\n### Preventing invalid input\n\nIt may be desirable to only allow users to enter certain characters. You can use\nthe `allowed-pattern` attribute to accomplish this. This feature is separate\nfrom validation, and `allowed-pattern` does not affect how the input is\nvalidated.\n\n // Only allow typing digits, but a valid input has exactly 5 digits.\n \n \n \n\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n \n`,\n\n is: 'iron-input',\n behaviors: [IronValidatableBehavior],\n\n /**\n * Fired whenever `validate()` is called.\n *\n * @event iron-input-validate\n */\n\n properties: {\n\n /**\n * Use this property instead of `value` for two-way data binding, or to\n * set a default value for the input. **Do not** use the distributed\n * input's `value` property to set a default value.\n */\n bindValue: {type: String, value: ''},\n\n /**\n * Computed property that echoes `bindValue` (mostly used for Polymer 1.0\n * backcompatibility, if you were one-way binding to the Polymer 1.0\n * `input is=\"iron-input\"` value attribute).\n */\n value: {type: String, computed: '_computeValue(bindValue)'},\n\n /**\n * Regex-like list of characters allowed as input; all characters not in the\n * list will be rejected. The recommended format should be a list of allowed\n * characters, for example, `[a-zA-Z0-9.+-!;:]`.\n *\n * This pattern represents the allowed characters for the field; as the user\n * inputs text, each individual character will be checked against the\n * pattern (rather than checking the entire value as a whole). If a\n * character is not a match, it will be rejected.\n *\n * Pasted input will have each character checked individually; if any\n * character doesn't match `allowedPattern`, the entire pasted string will\n * be rejected.\n *\n * Note: if you were using `iron-input` in 1.0, you were also required to\n * set `prevent-invalid-input`. This is no longer needed as of Polymer 2.0,\n * and will be set automatically for you if an `allowedPattern` is provided.\n *\n */\n allowedPattern: {type: String},\n\n /**\n * Set to true to auto-validate the input value as you type.\n */\n autoValidate: {type: Boolean, value: false},\n\n /**\n * The native input element.\n */\n _inputElement: Object,\n },\n\n observers: ['_bindValueChanged(bindValue, _inputElement)'],\n listeners: {'input': '_onInput', 'keypress': '_onKeypress'},\n\n created: function() {\n IronA11yAnnouncer.requestAvailability();\n this._previousValidInput = '';\n this._patternAlreadyChecked = false;\n },\n\n attached: function() {\n // If the input is added at a later time, update the internal reference.\n this._observer = dom(this).observeNodes(function(info) {\n this._initSlottedInput();\n }.bind(this));\n },\n\n detached: function() {\n if (this._observer) {\n dom(this).unobserveNodes(this._observer);\n this._observer = null;\n }\n },\n\n /**\n * Returns the distributed input element.\n */\n get inputElement() {\n return this._inputElement;\n },\n\n _initSlottedInput: function() {\n this._inputElement = this.getEffectiveChildren()[0];\n\n if (this.inputElement && this.inputElement.value) {\n this.bindValue = this.inputElement.value;\n }\n\n this.fire('iron-input-ready');\n },\n\n get _patternRegExp() {\n var pattern;\n if (this.allowedPattern) {\n pattern = new RegExp(this.allowedPattern);\n } else {\n switch (this.inputElement.type) {\n case 'number':\n pattern = /[0-9.,e-]/;\n break;\n }\n }\n return pattern;\n },\n\n /**\n * @suppress {checkTypes}\n */\n _bindValueChanged: function(bindValue, inputElement) {\n // The observer could have run before attached() when we have actually\n // initialized this property.\n if (!inputElement) {\n return;\n }\n\n if (bindValue === undefined) {\n inputElement.value = null;\n } else if (bindValue !== inputElement.value) {\n this.inputElement.value = bindValue;\n }\n\n if (this.autoValidate) {\n this.validate();\n }\n\n // manually notify because we don't want to notify until after setting value\n this.fire('bind-value-changed', {value: bindValue});\n },\n\n _onInput: function() {\n // Need to validate each of the characters pasted if they haven't\n // been validated inside `_onKeypress` already.\n if (this.allowedPattern && !this._patternAlreadyChecked) {\n var valid = this._checkPatternValidity();\n if (!valid) {\n this._announceInvalidCharacter(\n 'Invalid string of characters not entered.');\n this.inputElement.value = this._previousValidInput;\n }\n }\n this.bindValue = this._previousValidInput = this.inputElement.value;\n this._patternAlreadyChecked = false;\n },\n\n _isPrintable: function(event) {\n // What a control/printable character is varies wildly based on the browser.\n // - most control characters (arrows, backspace) do not send a `keypress`\n // event\n // in Chrome, but the *do* on Firefox\n // - in Firefox, when they do send a `keypress` event, control chars have\n // a charCode = 0, keyCode = xx (for ex. 40 for down arrow)\n // - printable characters always send a keypress event.\n // - in Firefox, printable chars always have a keyCode = 0. In Chrome, the\n // keyCode\n // always matches the charCode.\n // None of this makes any sense.\n\n // For these keys, ASCII code == browser keycode.\n var anyNonPrintable = (event.keyCode == 8) || // backspace\n (event.keyCode == 9) || // tab\n (event.keyCode == 13) || // enter\n (event.keyCode == 27); // escape\n\n // For these keys, make sure it's a browser keycode and not an ASCII code.\n var mozNonPrintable = (event.keyCode == 19) || // pause\n (event.keyCode == 20) || // caps lock\n (event.keyCode == 45) || // insert\n (event.keyCode == 46) || // delete\n (event.keyCode == 144) || // num lock\n (event.keyCode == 145) || // scroll lock\n (event.keyCode > 32 &&\n event.keyCode < 41) || // page up/down, end, home, arrows\n (event.keyCode > 111 && event.keyCode < 124); // fn keys\n\n return !anyNonPrintable && !(event.charCode == 0 && mozNonPrintable);\n },\n\n _onKeypress: function(event) {\n if (!this.allowedPattern && this.inputElement.type !== 'number') {\n return;\n }\n var regexp = this._patternRegExp;\n if (!regexp) {\n return;\n }\n\n // Handle special keys and backspace\n if (event.metaKey || event.ctrlKey || event.altKey) {\n return;\n }\n\n // Check the pattern either here or in `_onInput`, but not in both.\n this._patternAlreadyChecked = true;\n\n var thisChar = String.fromCharCode(event.charCode);\n if (this._isPrintable(event) && !regexp.test(thisChar)) {\n event.preventDefault();\n this._announceInvalidCharacter(\n 'Invalid character ' + thisChar + ' not entered.');\n }\n },\n\n _checkPatternValidity: function() {\n var regexp = this._patternRegExp;\n if (!regexp) {\n return true;\n }\n for (var i = 0; i < this.inputElement.value.length; i++) {\n if (!regexp.test(this.inputElement.value[i])) {\n return false;\n }\n }\n return true;\n },\n\n /**\n * Returns true if `value` is valid. The validator provided in `validator`\n * will be used first, then any constraints.\n * @return {boolean} True if the value is valid.\n */\n validate: function() {\n if (!this.inputElement) {\n this.invalid = false;\n return true;\n }\n\n // Use the nested input's native validity.\n var valid = this.inputElement.checkValidity();\n\n // Only do extra checking if the browser thought this was valid.\n if (valid) {\n // Empty, required input is invalid\n if (this.required && this.bindValue === '') {\n valid = false;\n } else if (this.hasValidator()) {\n valid = IronValidatableBehavior.validate.call(this, this.bindValue);\n }\n }\n\n this.invalid = !valid;\n this.fire('iron-input-validate');\n return valid;\n },\n\n _announceInvalidCharacter: function(message) {\n this.fire('iron-announce', {text: message});\n },\n\n _computeValue: function(bindValue) {\n return bindValue;\n }\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\n/**\n * Use `Polymer.PaperInputAddonBehavior` to implement an add-on for\n * ``. A add-on appears below the input, and may display\n * information based on the input value and validity such as a character counter\n * or an error message.\n * @polymerBehavior\n */\nexport const PaperInputAddonBehavior = {\n attached: function() {\n this.fire('addon-attached');\n },\n\n /**\n * The function called by `` when the input value or\n * validity changes.\n * @param {{\n * invalid: boolean,\n * inputElement: (Element|undefined),\n * value: (string|undefined)\n * }} state -\n * inputElement: The input element.\n * value: The input value.\n * invalid: True if the input value is invalid.\n */\n update: function(state) {}\n\n};\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/paper-styles/typography.js';\n\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\nimport {PaperInputAddonBehavior} from './paper-input-addon-behavior.js';\n\n/*\n`` is a character counter for use with\n``. It shows the number of characters entered in the\ninput and the max length if it is specified.\n\n \n \n \n \n\n### Styling\n\nThe following mixin is available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-input-char-counter` | Mixin applied to the element | `{}`\n*/\nPolymer({\n _template: html`\n \n\n [[_charCounterStr]]\n`,\n\n is: 'paper-input-char-counter',\n behaviors: [PaperInputAddonBehavior],\n properties: {_charCounterStr: {type: String, value: '0'}},\n\n /**\n * This overrides the update function in PaperInputAddonBehavior.\n * @param {{\n * inputElement: (Element|undefined),\n * value: (string|undefined),\n * invalid: boolean\n * }} state -\n * inputElement: The input element.\n * value: The input value.\n * invalid: True if the input value is invalid.\n */\n update: function(state) {\n if (!state.inputElement) {\n return;\n }\n\n state.value = state.value || '';\n\n var counter = state.value.toString().length.toString();\n\n if (state.inputElement.hasAttribute('maxlength')) {\n counter += '/' + state.inputElement.getAttribute('maxlength');\n }\n\n this._charCounterStr = counter;\n }\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\nimport '@polymer/paper-styles/default-theme.js';\nimport '@polymer/paper-styles/typography.js';\n\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\nimport {dashToCamelCase} from '@polymer/polymer/lib/utils/case-map.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\nconst template = html`\n\n \n\n`;\ntemplate.setAttribute('style', 'display: none;');\ndocument.head.appendChild(template.content);\n\n/*\n`` is a container for a `