diff --git a/home-assistant-polymer b/home-assistant-polymer index d2a549433..5ca63a805 160000 --- a/home-assistant-polymer +++ b/home-assistant-polymer @@ -1 +1 @@ -Subproject commit d2a5494335381a0a807067bd2234b0324b0f47fa +Subproject commit 5ca63a80522a867557de20fe7bda0592e8f06e7e diff --git a/supervisor/api/panel/chunk.0f20b7eb2535b079dbfe.js b/supervisor/api/panel/chunk.0f20b7eb2535b079dbfe.js new file mode 100644 index 000000000..0b32362ec --- /dev/null +++ b/supervisor/api/panel/chunk.0f20b7eb2535b079dbfe.js @@ -0,0 +1,3 @@ +/*! For license information please see chunk.0f20b7eb2535b079dbfe.js.LICENSE */ +(self.webpackJsonp=self.webpackJsonp||[]).push([[0],{124:function(t,e,r){"use strict";var n=r(29),c=r(6),o=function(t){return function(e,r){if(e.constructor._observers){if(!e.constructor.hasOwnProperty("_observers")){var n=e.constructor._observers;e.constructor._observers=new Map,n.forEach(function(t,r){return e.constructor._observers.set(r,t)})}}else{e.constructor._observers=new Map;var c=e.updated;e.updated=function(t){var e=this;c.call(this,t),t.forEach(function(t,r){var n=e.constructor._observers.get(r);void 0!==n&&n.call(e,e[r],t)})}}e.constructor._observers.set(r,t)}};r(107);var i=function(){},a={get passive(){return!0,!1}};document.addEventListener("x",i,a),document.removeEventListener("x",i);function u(t){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(t,e){for(var r=0;r\n
\n
\n
\n \n
\n
\n \n ']);return E=function(){return t},t}function R(t,e){for(var r=0;r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (proto: any, propName: PropertyKey) => {\n // if we haven't wrapped `updated` in this class, do so\n if (!proto.constructor._observers) {\n proto.constructor._observers = new Map();\n const userUpdated = proto.updated;\n proto.updated = function(changedProperties: PropertyValues) {\n userUpdated.call(this, changedProperties);\n changedProperties.forEach((v, k) => {\n const observer = this.constructor._observers.get(k);\n if (observer !== undefined) {\n observer.call(this, this[k], v);\n }\n });\n };\n // clone any existing observers (superclasses)\n } else if (!proto.constructor.hasOwnProperty('_observers')) {\n const observers = proto.constructor._observers;\n proto.constructor._observers = new Map();\n observers.forEach(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (v: any, k: PropertyKey) => proto.constructor._observers.set(k, v));\n }\n // set this method\n proto.constructor._observers.set(propName, observer);\n };\n","/**\n@license\nCopyright 2018 Google Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n/**\n * Return an element assigned to a given slot that matches the given selector\n */\n\nimport {matches} from '@material/dom/ponyfill';\n\n/**\n * Determines whether a node is an element.\n *\n * @param node Node to check\n */\nexport const isNodeElement = (node: Node): node is Element => {\n return node.nodeType === Node.ELEMENT_NODE;\n};\n\nexport function findAssignedElement(slot: HTMLSlotElement, selector: string) {\n for (const node of slot.assignedNodes({flatten: true})) {\n if (isNodeElement(node)) {\n const el = (node as HTMLElement);\n if (matches(el, selector)) {\n return el;\n }\n }\n }\n\n return null;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type Constructor = new (...args: any[]) => T;\n\nexport function addHasRemoveClass(element: HTMLElement) {\n return {\n addClass: (className: string) => {\n element.classList.add(className);\n },\n removeClass: (className: string) => {\n element.classList.remove(className);\n },\n hasClass: (className: string) => element.classList.contains(className),\n };\n}\n\nlet supportsPassive = false;\nconst fn = () => { /* empty listener */ };\nconst optionsBlock: AddEventListenerOptions = {\n get passive() {\n supportsPassive = true;\n return false;\n }\n};\ndocument.addEventListener('x', fn, optionsBlock);\ndocument.removeEventListener('x', fn);\n/**\n * Do event listeners suport the `passive` option?\n */\nexport const supportsPassiveEventListener = supportsPassive;\n\nexport const deepActiveElementPath = (doc = window.document): Element[] => {\n let activeElement = doc.activeElement;\n const path: Element[] = [];\n\n if (!activeElement) {\n return path;\n }\n\n while (activeElement) {\n path.push(activeElement);\n if (activeElement.shadowRoot) {\n activeElement = activeElement.shadowRoot.activeElement;\n } else {\n break;\n }\n }\n\n return path;\n};\n\nexport const doesElementContainFocus = (element: HTMLElement): boolean => {\n const activePath = deepActiveElementPath();\n\n if (!activePath.length) {\n return false;\n }\n\n const deepActiveElement = activePath[activePath.length - 1];\n const focusEv =\n new Event('check-if-focused', {bubbles: true, composed: true});\n let composedPath: EventTarget[] = [];\n const listener = (ev: Event) => {\n composedPath = ev.composedPath();\n };\n\n document.body.addEventListener('check-if-focused', listener);\n deepActiveElement.dispatchEvent(focusEv);\n document.body.removeEventListener('check-if-focused', listener);\n\n return composedPath.indexOf(element) !== -1;\n};\n","/**\n@license\nCopyright 2018 Google Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {MDCFoundation} from '@material/base';\nimport {LitElement} from 'lit-element';\n\nimport {Constructor} from './utils.js';\nexport {observer} from './observer.js';\nexport {addHasRemoveClass} from './utils.js';\nexport * from '@material/base/types.js';\n\nexport abstract class BaseElement extends LitElement {\n /**\n * Root element for MDC Foundation usage.\n *\n * Define in your component with the `@query` decorator\n */\n protected abstract mdcRoot: HTMLElement;\n\n /**\n * Return the foundation class for this component\n */\n protected abstract readonly mdcFoundationClass: Constructor;\n\n /**\n * An instance of the MDC Foundation class to attach to the root element\n */\n protected abstract mdcFoundation: MDCFoundation;\n\n /**\n * Create the adapter for the `mdcFoundation`.\n *\n * Override and return an object with the Adapter's functions implemented:\n *\n * {\n * addClass: () => {},\n * removeClass: () => {},\n * ...\n * }\n */\n protected abstract createAdapter(): {}\n\n /**\n * Create and attach the MDC Foundation to the instance\n */\n protected createFoundation() {\n if (this.mdcFoundation !== undefined) {\n this.mdcFoundation.destroy();\n }\n this.mdcFoundation = new this.mdcFoundationClass(this.createAdapter());\n this.mdcFoundation.init();\n }\n\n protected firstUpdated() {\n this.createFoundation();\n }\n}\n","/**\n@license\nCopyright 2018 Google Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {MDCRippleFoundation} from '@material/ripple/foundation.js';\n\nimport {BaseElement} from './base-element';\n\nexport * from './base-element';\n\nexport interface HTMLElementWithRipple extends HTMLElement {\n ripple?: MDCRippleFoundation;\n}\n\nexport abstract class FormElement extends BaseElement {\n /**\n * Form-capable element in the component ShadowRoot.\n *\n * Define in your component with the `@query` decorator\n */\n protected abstract formElement: HTMLElement;\n\n protected createRenderRoot() {\n return this.attachShadow({mode: 'open', delegatesFocus: true});\n }\n\n /**\n * Implement ripple getter for Ripple integration with mwc-formfield\n */\n readonly ripple?: MDCRippleFoundation;\n\n click() {\n if (this.formElement) {\n this.formElement.focus();\n this.formElement.click();\n }\n }\n\n setAriaLabel(label: string) {\n if (this.formElement) {\n this.formElement.setAttribute('aria-label', label);\n }\n }\n\n protected firstUpdated() {\n super.firstUpdated();\n this.mdcRoot.addEventListener('change', (e) => {\n this.dispatchEvent(new Event('change', e));\n });\n }\n}\n","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n/** CSS classes used by the switch. */\nvar cssClasses = {\n /** Class used for a switch that is in the \"checked\" (on) position. */\n CHECKED: 'mdc-switch--checked',\n /** Class used for a switch that is disabled. */\n DISABLED: 'mdc-switch--disabled',\n};\n/** String constants used by the switch. */\nvar strings = {\n /** Aria attribute for checked or unchecked state of switch */\n ARIA_CHECKED_ATTR: 'aria-checked',\n /** A CSS selector used to locate the native HTML control for the switch. */\n NATIVE_CONTROL_SELECTOR: '.mdc-switch__native-control',\n /** A CSS selector used to locate the ripple surface element for the switch. */\n RIPPLE_SURFACE_SELECTOR: '.mdc-switch__thumb-underlay',\n};\nexport { cssClasses, strings };\n//# sourceMappingURL=constants.js.map","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport * as tslib_1 from \"tslib\";\nimport { MDCFoundation } from '@material/base/foundation';\nimport { cssClasses, strings } from './constants';\nvar MDCSwitchFoundation = /** @class */ (function (_super) {\n tslib_1.__extends(MDCSwitchFoundation, _super);\n function MDCSwitchFoundation(adapter) {\n return _super.call(this, tslib_1.__assign({}, MDCSwitchFoundation.defaultAdapter, adapter)) || this;\n }\n Object.defineProperty(MDCSwitchFoundation, \"strings\", {\n /** The string constants used by the switch. */\n get: function () {\n return strings;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCSwitchFoundation, \"cssClasses\", {\n /** The CSS classes used by the switch. */\n get: function () {\n return cssClasses;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCSwitchFoundation, \"defaultAdapter\", {\n /** The default Adapter for the switch. */\n get: function () {\n return {\n addClass: function () { return undefined; },\n removeClass: function () { return undefined; },\n setNativeControlChecked: function () { return undefined; },\n setNativeControlDisabled: function () { return undefined; },\n setNativeControlAttr: function () { return undefined; },\n };\n },\n enumerable: true,\n configurable: true\n });\n /** Sets the checked state of the switch. */\n MDCSwitchFoundation.prototype.setChecked = function (checked) {\n this.adapter_.setNativeControlChecked(checked);\n this.updateAriaChecked_(checked);\n this.updateCheckedStyling_(checked);\n };\n /** Sets the disabled state of the switch. */\n MDCSwitchFoundation.prototype.setDisabled = function (disabled) {\n this.adapter_.setNativeControlDisabled(disabled);\n if (disabled) {\n this.adapter_.addClass(cssClasses.DISABLED);\n }\n else {\n this.adapter_.removeClass(cssClasses.DISABLED);\n }\n };\n /** Handles the change event for the switch native control. */\n MDCSwitchFoundation.prototype.handleChange = function (evt) {\n var nativeControl = evt.target;\n this.updateAriaChecked_(nativeControl.checked);\n this.updateCheckedStyling_(nativeControl.checked);\n };\n /** Updates the styling of the switch based on its checked state. */\n MDCSwitchFoundation.prototype.updateCheckedStyling_ = function (checked) {\n if (checked) {\n this.adapter_.addClass(cssClasses.CHECKED);\n }\n else {\n this.adapter_.removeClass(cssClasses.CHECKED);\n }\n };\n MDCSwitchFoundation.prototype.updateAriaChecked_ = function (checked) {\n this.adapter_.setNativeControlAttr(strings.ARIA_CHECKED_ATTR, \"\" + !!checked);\n };\n return MDCSwitchFoundation;\n}(MDCFoundation));\nexport { MDCSwitchFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCSwitchFoundation;\n//# sourceMappingURL=foundation.js.map","/**\n@license\nCopyright 2018 Google Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {addHasRemoveClass, FormElement, HTMLElementWithRipple, observer} from '@material/mwc-base/form-element.js';\nimport {ripple} from '@material/mwc-ripple/ripple-directive.js';\nimport {MDCSwitchAdapter} from '@material/switch/adapter';\nimport MDCSwitchFoundation from '@material/switch/foundation.js';\nimport {html, property, query} from 'lit-element';\n\nexport class SwitchBase extends FormElement {\n @property({type: Boolean})\n @observer(function(this: SwitchBase, value: boolean) {\n this.mdcFoundation.setChecked(value);\n })\n checked = false;\n\n @property({type: Boolean})\n @observer(function(this: SwitchBase, value: boolean) {\n this.mdcFoundation.setDisabled(value);\n })\n disabled = false;\n\n @query('.mdc-switch') protected mdcRoot!: HTMLElement;\n\n @query('input') protected formElement!: HTMLInputElement;\n\n protected mdcFoundation!: MDCSwitchFoundation;\n\n private _changeHandler(e: Event) {\n this.mdcFoundation.handleChange(e);\n // catch \"click\" event and sync properties\n this.checked = this.formElement.checked;\n }\n\n protected readonly mdcFoundationClass = MDCSwitchFoundation;\n\n protected createAdapter(): MDCSwitchAdapter {\n return {\n ...addHasRemoveClass(this.mdcRoot),\n setNativeControlChecked: (checked: boolean) => {\n this.formElement.checked = checked;\n },\n setNativeControlDisabled: (disabled: boolean) => {\n this.formElement.disabled = disabled;\n },\n setNativeControlAttr: (attr, value) => {\n this.formElement.setAttribute(attr, value);\n },\n };\n }\n\n get ripple() {\n return this.rippleNode.ripple;\n }\n\n @query('.mdc-switch__thumb-underlay')\n protected rippleNode!: HTMLElementWithRipple;\n\n protected render() {\n return html`\n
\n
\n
\n
\n \n
\n
\n
\n `;\n }\n}\n","/**\n@license\nCopyright 2018 Google Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {customElement} from 'lit-element';\n\nimport {SwitchBase} from './mwc-switch-base.js';\nimport {style} from './mwc-switch-css.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'mwc-switch': Switch;\n }\n}\n\n@customElement('mwc-switch')\nexport class Switch extends SwitchBase {\n static styles = style;\n}\n","/**\n@license\nCopyright 2018 Google Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {css} from 'lit-element';\n\nexport const style = css`.mdc-switch__thumb-underlay{left:-18px;right:initial;top:-17px;width:48px;height:48px}[dir=rtl] .mdc-switch__thumb-underlay,.mdc-switch__thumb-underlay[dir=rtl]{left:initial;right:-18px}.mdc-switch__native-control{width:68px;height:48px}.mdc-switch{display:inline-block;position:relative;outline:none;user-select:none}.mdc-switch.mdc-switch--checked .mdc-switch__track{background-color:#018786;background-color:var(--mdc-theme-secondary, #018786)}.mdc-switch.mdc-switch--checked .mdc-switch__thumb{background-color:#018786;background-color:var(--mdc-theme-secondary, #018786);border-color:#018786;border-color:var(--mdc-theme-secondary, #018786)}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__track{background-color:#000}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb{background-color:#fff;border-color:#fff}.mdc-switch__native-control{left:0;right:initial;position:absolute;top:0;margin:0;opacity:0;cursor:pointer;pointer-events:auto}[dir=rtl] .mdc-switch__native-control,.mdc-switch__native-control[dir=rtl]{left:initial;right:0}.mdc-switch__track{box-sizing:border-box;width:32px;height:14px;border:1px solid;border-radius:7px;opacity:.38;transition:opacity 90ms cubic-bezier(0.4, 0, 0.2, 1),background-color 90ms cubic-bezier(0.4, 0, 0.2, 1),border-color 90ms cubic-bezier(0.4, 0, 0.2, 1);border-color:transparent}.mdc-switch__thumb-underlay{display:flex;position:absolute;align-items:center;justify-content:center;transform:translateX(0);transition:transform 90ms cubic-bezier(0.4, 0, 0.2, 1),background-color 90ms cubic-bezier(0.4, 0, 0.2, 1),border-color 90ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-switch__thumb{box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2),0px 2px 2px 0px rgba(0, 0, 0, 0.14),0px 1px 5px 0px rgba(0,0,0,.12);box-sizing:border-box;width:20px;height:20px;border:10px solid;border-radius:50%;pointer-events:none;z-index:1}.mdc-switch--checked .mdc-switch__track{opacity:.54}.mdc-switch--checked .mdc-switch__thumb-underlay{transform:translateX(20px)}[dir=rtl] .mdc-switch--checked .mdc-switch__thumb-underlay,.mdc-switch--checked .mdc-switch__thumb-underlay[dir=rtl]{transform:translateX(-20px)}.mdc-switch--checked .mdc-switch__native-control{transform:translateX(-20px)}[dir=rtl] .mdc-switch--checked .mdc-switch__native-control,.mdc-switch--checked .mdc-switch__native-control[dir=rtl]{transform:translateX(20px)}.mdc-switch--disabled{opacity:.38;pointer-events:none}.mdc-switch--disabled .mdc-switch__thumb{border-width:1px}.mdc-switch--disabled .mdc-switch__native-control{cursor:default;pointer-events:none}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay::before,.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay::after{background-color:#9e9e9e}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay:hover::before{opacity:.08}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay.mdc-ripple-upgraded--background-focused::before,.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.24}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb-underlay.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.mdc-switch__thumb-underlay{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-switch__thumb-underlay::before,.mdc-switch__thumb-underlay::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-switch__thumb-underlay::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-switch__thumb-underlay.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-switch__thumb-underlay.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-switch__thumb-underlay.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-switch__thumb-underlay.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-switch__thumb-underlay.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-switch__thumb-underlay::before,.mdc-switch__thumb-underlay::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-switch__thumb-underlay.mdc-ripple-upgraded::before,.mdc-switch__thumb-underlay.mdc-ripple-upgraded::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-switch__thumb-underlay.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-switch__thumb-underlay::before,.mdc-switch__thumb-underlay::after{background-color:#018786;background-color:var(--mdc-theme-secondary, #018786)}.mdc-switch__thumb-underlay:hover::before{opacity:.04}.mdc-switch__thumb-underlay.mdc-ripple-upgraded--background-focused::before,.mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.12}.mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-switch__thumb-underlay:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-switch__thumb-underlay.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}:host{outline:none}`;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/supervisor/api/panel/chunk.257952ea452437810f3f.js b/supervisor/api/panel/chunk.257952ea452437810f3f.js new file mode 100644 index 000000000..0eed3eb48 --- /dev/null +++ b/supervisor/api/panel/chunk.257952ea452437810f3f.js @@ -0,0 +1,2 @@ +(self.webpackJsonp=self.webpackJsonp||[]).push([[8],{4:function(t,e,n){"use strict";n.r(e);n(97);function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function L(t,e){for(var n=0;n 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\";\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/supervisor/api/panel/chunk.2efa3db34abe2c94f3f1.js b/supervisor/api/panel/chunk.2efa3db34abe2c94f3f1.js new file mode 100644 index 000000000..6600788d5 --- /dev/null +++ b/supervisor/api/panel/chunk.2efa3db34abe2c94f3f1.js @@ -0,0 +1,3 @@ +/*! For license information please see chunk.2efa3db34abe2c94f3f1.js.LICENSE */ +(self.webpackJsonp=self.webpackJsonp||[]).push([[3],{167:function(e,t,r){"use strict";r.r(t);r(18),r(53),r(42);var n=r(6),i=r(34),o=(r(56),r(94),r(11));function a(e){return(a="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)}function s(){var e=f(["\n :host([inert]) {\n pointer-events: initial !important;\n cursor: initial !important;\n }\n ha-paper-dialog {\n min-width: 400px;\n max-width: 500px;\n }\n @media (max-width: 400px) {\n ha-paper-dialog {\n min-width: initial;\n }\n }\n a {\n color: var(--primary-color);\n }\n p {\n margin: 0;\n padding-top: 6px;\n padding-bottom: 24px;\n color: var(--primary-text-color);\n }\n .no-bottom-padding {\n padding-bottom: 0;\n }\n .secondary {\n color: var(--secondary-text-color);\n }\n "]);return s=function(){return e},e}function c(){var e=f(['\n \n ',"\n \n "]);return c=function(){return e},e}function l(){var e=f(["\n \n "]);return l=function(){return e},e}function u(){var e=f(["\n \n ","\n

\n "]);return u=function(){return e},e}function d(){var e=f(['\n \n

\n ',"\n

\n \n ","\n ",'\n \n
\n ','\n \n ',"\n \n
\n \n "]);return d=function(){return e},e}function p(){var e=f([""]);return p=function(){return e},e}function f(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function h(e,t,r,n,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void r(l)}s.done?t(c):Promise.resolve(c).then(n,i)}function m(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){h(o,n,i,a,s,"next",e)}function s(e){h(o,n,i,a,s,"throw",e)}a(void 0)})}}function y(e,t){return(y=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v(e){return function(){var t,r=g(e);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}()){var n=g(this).constructor;t=Reflect.construct(r,arguments,n)}else t=r.apply(this,arguments);return function(e,t){if(t&&("object"===a(t)||"function"==typeof t))return t;return b(e)}(this,t)}}function b(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function g(e){return(g=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function w(e){var t,r=x(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function k(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function _(e){return e.decorators&&e.decorators.length}function E(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function O(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function x(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n\n :host {\n display: block;\n @apply --layout-relative;\n }\n\n :host(.is-scrolled:not(:first-child))::before {\n content: \'\';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 1px;\n background: var(--divider-color);\n }\n\n :host(.can-scroll:not(.scrolled-to-bottom):not(:last-child))::after {\n content: \'\';\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 1px;\n background: var(--divider-color);\n }\n\n .scrollable {\n padding: 0 24px;\n\n @apply --layout-scroll;\n @apply --paper-dialog-scrollable;\n }\n\n .fit {\n @apply --layout-fit;\n }\n \n\n
\n \n
\n']);return a=function(){return e},e}Object(i.a)({_template:Object(o.a)(a()),is:"paper-dialog-scrollable",properties:{dialogElement:{type:Object}},get scrollTarget(){return this.$.scrollable},ready:function(){this._ensureTarget(),this.classList.add("no-padding")},attached:function(){this._ensureTarget(),requestAnimationFrame(this.updateScrollState.bind(this))},updateScrollState:function(){this.toggleClass("is-scrolled",this.scrollTarget.scrollTop>0),this.toggleClass("can-scroll",this.scrollTarget.offsetHeight=this.scrollTarget.scrollHeight)},_ensureTarget:function(){this.dialogElement=this.dialogElement||this.parentElement,this.dialogElement&&this.dialogElement.behaviors&&this.dialogElement.behaviors.indexOf(n.b)>=0?(this.dialogElement.sizingTarget=this.scrollTarget,this.scrollTarget.classList.remove("fit")):this.dialogElement&&this.scrollTarget.classList.add("fit")}})},56:function(e,t,r){"use strict";r(5),r(16),r(14),r(30),r(39);var n=document.createElement("template");n.setAttribute("style","display: none;"),n.innerHTML='\n \n',document.head.appendChild(n.content);var i=r(75),o=r(31),a=r(8),s=r(7);function c(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n']);return c=function(){return e},e}Object(a.a)({_template:Object(s.a)(c()),is:"paper-dialog",behaviors:[o.a,i.a],listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},_renderOpened:function(){this.cancelAnimation(),this.playAnimation("entry")},_renderClosed:function(){this.cancelAnimation(),this.playAnimation("exit")},_onNeonAnimationFinish:function(){this.opened?this._finishRenderOpened():this._finishRenderClosed()}});var l=r(60),u=r(70),d=r(9),p={getTabbableNodes:function(e){var t=[];return this._collectTabbableNodes(e,t)?u.a._sortByTabIndex(t):t},_collectTabbableNodes:function(e,t){if(e.nodeType!==Node.ELEMENT_NODE||!u.a._isVisible(e))return!1;var r,n=e,i=u.a._normalizedTabIndex(n),o=i>0;i>=0&&t.push(n),r="content"===n.localName||"slot"===n.localName?Object(d.a)(n).getDistributedNodes():Object(d.a)(n.shadowRoot||n.root||n).children;for(var a=0;a\n
\n \n
\n \n
\n \n \n \n ']);return l=function(){return e},e}function u(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e){return function(){var t,r=_(e);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}()){var n=_(this).constructor;t=Reflect.construct(r,arguments,n)}else t=r.apply(this,arguments);return function(e,t){if(t&&("object"===s(t)||"function"==typeof t))return t;return f(e)}(this,t)}}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e){var t,r=g(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function m(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function y(e){return e.decorators&&e.decorators.length}function v(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function b(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function g(e){var t=function(e,t){if("object"!==s(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===s(t)?t:String(t)}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a {\n this._params = params;\n if (params.prompt) {\n this._value = params.defaultValue;\n }\n }\n\n protected render(): TemplateResult {\n if (!this._params) {\n return html``;\n }\n\n const confirmPrompt = this._params.confirmation || this._params.prompt;\n\n return html`\n \n

\n ${this._params.title\n ? this._params.title\n : this._params.confirmation &&\n this.hass.localize(\n \"ui.dialogs.generic.default_confirmation_title\"\n )}\n

\n \n ${this._params.text\n ? html`\n \n ${this._params.text}\n

\n `\n : \"\"}\n ${this._params.prompt\n ? html`\n \n `\n : \"\"}\n
\n
\n ${confirmPrompt &&\n html`\n \n ${this._params.dismissText\n ? this._params.dismissText\n : this.hass.localize(\"ui.dialogs.generic.cancel\")}\n \n `}\n \n ${this._params.confirmText\n ? this._params.confirmText\n : this.hass.localize(\"ui.dialogs.generic.ok\")}\n \n
\n \n `;\n }\n\n private _valueChanged(ev: PolymerChangedEvent) {\n this._value = ev.detail.value;\n }\n\n private async _dismiss(): Promise {\n if (this._params!.cancel) {\n this._params!.cancel();\n }\n this._params = undefined;\n }\n\n private _handleKeyUp(ev: KeyboardEvent) {\n if (ev.keyCode === 13) {\n this._confirm();\n }\n }\n\n private async _confirm(): Promise {\n if (this._params!.confirm) {\n this._params!.confirm(this._value);\n }\n this._dismiss();\n }\n\n private _openedChanged(ev: PolymerChangedEvent): void {\n if (!(ev.detail as any).value) {\n this._params = undefined;\n }\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyleDialog,\n css`\n :host([inert]) {\n pointer-events: initial !important;\n cursor: initial !important;\n }\n ha-paper-dialog {\n min-width: 400px;\n max-width: 500px;\n }\n @media (max-width: 400px) {\n ha-paper-dialog {\n min-width: initial;\n }\n }\n a {\n color: var(--primary-color);\n }\n p {\n margin: 0;\n padding-top: 6px;\n padding-bottom: 24px;\n color: var(--primary-text-color);\n }\n .no-bottom-padding {\n padding-bottom: 0;\n }\n .secondary {\n color: var(--secondary-text-color);\n }\n `,\n ];\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"dialog-box\": DialogBox;\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 {IronOverlayBehavior} from '@polymer/iron-overlay-behavior/iron-overlay-behavior.js';\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\n\n/**\n Use `Polymer.PaperDialogBehavior` and `paper-dialog-shared-styles.html` to\n implement a Material Design dialog.\n\n For example, if `` implements this behavior:\n\n \n

Header

\n
Dialog body
\n
\n Cancel\n Accept\n
\n
\n\n `paper-dialog-shared-styles.html` provide styles for a header, content area,\n and an action area for buttons. Use the `

` tag for the header and the\n `buttons` class for the action area. You can use the `paper-dialog-scrollable`\n element (in its own repository) if you need a scrolling content area.\n\n Use the `dialog-dismiss` and `dialog-confirm` attributes on interactive\n controls to close the dialog. If the user dismisses the dialog with\n `dialog-confirm`, the `closingReason` will update to include `confirmed:\n true`.\n\n ### Accessibility\n\n This element has `role=\"dialog\"` by default. Depending on the context, it may\n be more appropriate to override this attribute with `role=\"alertdialog\"`.\n\n If `modal` is set, the element will prevent the focus from exiting the\n element. It will also ensure that focus remains in the dialog.\n\n @hero hero.svg\n @demo demo/index.html\n @polymerBehavior PaperDialogBehavior\n */\nexport const PaperDialogBehaviorImpl = {\n\n hostAttributes: {'role': 'dialog', 'tabindex': '-1'},\n\n properties: {\n\n /**\n * If `modal` is true, this implies `no-cancel-on-outside-click`,\n * `no-cancel-on-esc-key` and `with-backdrop`.\n */\n modal: {type: Boolean, value: false},\n\n __readied: {type: Boolean, value: false}\n\n },\n\n observers: ['_modalChanged(modal, __readied)'],\n\n listeners: {'tap': '_onDialogClick'},\n\n /**\n * @return {void}\n */\n ready: function() {\n // Only now these properties can be read.\n this.__prevNoCancelOnOutsideClick = this.noCancelOnOutsideClick;\n this.__prevNoCancelOnEscKey = this.noCancelOnEscKey;\n this.__prevWithBackdrop = this.withBackdrop;\n this.__readied = true;\n },\n\n _modalChanged: function(modal, readied) {\n // modal implies noCancelOnOutsideClick, noCancelOnEscKey and withBackdrop.\n // We need to wait for the element to be ready before we can read the\n // properties values.\n if (!readied) {\n return;\n }\n\n if (modal) {\n this.__prevNoCancelOnOutsideClick = this.noCancelOnOutsideClick;\n this.__prevNoCancelOnEscKey = this.noCancelOnEscKey;\n this.__prevWithBackdrop = this.withBackdrop;\n this.noCancelOnOutsideClick = true;\n this.noCancelOnEscKey = true;\n this.withBackdrop = true;\n } else {\n // If the value was changed to false, let it false.\n this.noCancelOnOutsideClick =\n this.noCancelOnOutsideClick && this.__prevNoCancelOnOutsideClick;\n this.noCancelOnEscKey =\n this.noCancelOnEscKey && this.__prevNoCancelOnEscKey;\n this.withBackdrop = this.withBackdrop && this.__prevWithBackdrop;\n }\n },\n\n _updateClosingReasonConfirmed: function(confirmed) {\n this.closingReason = this.closingReason || {};\n this.closingReason.confirmed = confirmed;\n },\n\n /**\n * Will dismiss the dialog if user clicked on an element with dialog-dismiss\n * or dialog-confirm attribute.\n */\n _onDialogClick: function(event) {\n // Search for the element with dialog-confirm or dialog-dismiss,\n // from the root target until this (excluded).\n var path = dom(event).path;\n for (var i = 0, l = path.indexOf(this); i < l; i++) {\n var target = path[i];\n if (target.hasAttribute &&\n (target.hasAttribute('dialog-dismiss') ||\n target.hasAttribute('dialog-confirm'))) {\n this._updateClosingReasonConfirmed(\n target.hasAttribute('dialog-confirm'));\n this.close();\n event.stopPropagation();\n break;\n }\n }\n }\n\n};\n\n/** @polymerBehavior */\nexport const PaperDialogBehavior =\n [IronOverlayBehavior, PaperDialogBehaviorImpl];\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';\n\nimport {PaperDialogBehaviorImpl} from '@polymer/paper-dialog-behavior/paper-dialog-behavior.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[Dialogs](https://www.google.com/design/spec/components/dialogs.html)\n\n`paper-dialog-scrollable` implements a scrolling area used in a Material Design\ndialog. It shows a divider at the top and/or bottom indicating more content,\ndepending on scroll position. Use this together with elements implementing\n`Polymer.PaperDialogBehavior`.\n\n \n

Header

\n \n Lorem ipsum...\n \n
\n OK\n
\n
\n\nIt shows a top divider after scrolling if it is not the first child in its\nparent container, indicating there is more content above. It shows a bottom\ndivider if it is scrollable and it is not the last child in its parent\ncontainer, indicating there is more content below. The bottom divider is hidden\nif it is scrolled to the bottom.\n\nIf `paper-dialog-scrollable` is not a direct child of the element implementing\n`Polymer.PaperDialogBehavior`, remember to set the `dialogElement`:\n\n \n

Header

\n
\n

Sub-header

\n \n Lorem ipsum...\n \n
\n
\n OK\n
\n
\n\n \n\n### Styling\nThe following custom properties and mixins are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-dialog-scrollable` | Mixin for the scrollable content | {}\n\n@group Paper Elements\n@element paper-dialog-scrollable\n@demo demo/index.html\n@hero hero.svg\n*/\nPolymer({\n _template: html`\n \n\n
\n \n
\n`,\n\n is: 'paper-dialog-scrollable',\n\n properties: {\n\n /**\n * The dialog element that implements `Polymer.PaperDialogBehavior`\n * containing this element.\n * @type {?Node}\n */\n dialogElement: {type: Object}\n\n },\n\n /**\n * Returns the scrolling element.\n */\n get scrollTarget() {\n return this.$.scrollable;\n },\n\n ready: function() {\n this._ensureTarget();\n this.classList.add('no-padding');\n },\n\n attached: function() {\n this._ensureTarget();\n requestAnimationFrame(this.updateScrollState.bind(this));\n },\n\n updateScrollState: function() {\n this.toggleClass('is-scrolled', this.scrollTarget.scrollTop > 0);\n this.toggleClass(\n 'can-scroll',\n this.scrollTarget.offsetHeight < this.scrollTarget.scrollHeight);\n this.toggleClass(\n 'scrolled-to-bottom',\n this.scrollTarget.scrollTop + this.scrollTarget.offsetHeight >=\n this.scrollTarget.scrollHeight);\n },\n\n _ensureTarget: function() {\n // Read parentElement instead of parentNode in order to skip shadowRoots.\n this.dialogElement = this.dialogElement || this.parentElement;\n // Check if dialog implements paper-dialog-behavior. If not, fit\n // scrollTarget to host.\n if (this.dialogElement && this.dialogElement.behaviors &&\n this.dialogElement.behaviors.indexOf(PaperDialogBehaviorImpl) >= 0) {\n this.dialogElement.sizingTarget = this.scrollTarget;\n this.scrollTarget.classList.remove('fit');\n } else if (this.dialogElement) {\n this.scrollTarget.classList.add('fit');\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/*\n### Styling\n\nThe following custom properties and mixins are available for styling.\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-dialog-background-color` | Dialog background color | `--primary-background-color`\n`--paper-dialog-color` | Dialog foreground color | `--primary-text-color`\n`--paper-dialog` | Mixin applied to the dialog | `{}`\n`--paper-dialog-title` | Mixin applied to the title (`

`) element | `{}`\n`--paper-dialog-button-color` | Button area foreground color | `--default-primary-color`\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';\nimport '@polymer/paper-styles/shadow.js';\nconst $_documentContainer = document.createElement('template');\n$_documentContainer.setAttribute('style', 'display: none;');\n\n$_documentContainer.innerHTML = `\n \n`;\n\ndocument.head.appendChild($_documentContainer.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/paper-dialog-behavior/paper-dialog-shared-styles.js';\n\nimport {NeonAnimationRunnerBehavior} from '@polymer/neon-animation/neon-animation-runner-behavior.js';\nimport {PaperDialogBehavior} from '@polymer/paper-dialog-behavior/paper-dialog-behavior.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[Dialogs](https://www.google.com/design/spec/components/dialogs.html)\n\n`` is a dialog with Material Design styling and optional\nanimations when it is opened or closed. It provides styles for a header, content\narea, and an action area for buttons. You can use the\n`` element (in its own repository) if you need a\nscrolling content area. To autofocus a specific child element after opening the\ndialog, give it the `autofocus` attribute. See `Polymer.PaperDialogBehavior` and\n`Polymer.IronOverlayBehavior` for specifics.\n\nFor example, the following code implements a dialog with a header, scrolling\ncontent area and buttons. Focus will be given to the `dialog-confirm` button\nwhen the dialog is opened.\n\n \n

Header

\n \n Lorem ipsum...\n \n
\n Cancel\n Accept\n
\n
\n\n### Styling\n\nSee the docs for `Polymer.PaperDialogBehavior` for the custom properties\navailable for styling this element.\n\n### Animations\n\nSet the `entry-animation` and/or `exit-animation` attributes to add an animation\nwhen the dialog is opened or closed. See the documentation in\n[PolymerElements/neon-animation](https://github.com/PolymerElements/neon-animation)\nfor more info.\n\nFor example:\n\n \n\n \n

Header

\n
Dialog body
\n
\n\n### Accessibility\n\nSee the docs for `Polymer.PaperDialogBehavior` for accessibility features\nimplemented by this element.\n\n@group Paper Elements\n@element paper-dialog\n@hero hero.svg\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n \n`,\n\n is: 'paper-dialog',\n behaviors: [PaperDialogBehavior, NeonAnimationRunnerBehavior],\n listeners: {'neon-animation-finish': '_onNeonAnimationFinish'},\n\n _renderOpened: function() {\n this.cancelAnimation();\n this.playAnimation('entry');\n },\n\n _renderClosed: function() {\n this.cancelAnimation();\n this.playAnimation('exit');\n },\n\n _onNeonAnimationFinish: function() {\n if (this.opened) {\n this._finishRenderOpened();\n } else {\n this._finishRenderClosed();\n }\n }\n});\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\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/*\n Fixes issue with not using shadow dom properly in iron-overlay-behavior/icon-focusables-helper.js\n*/\nimport { IronFocusablesHelper } from \"@polymer/iron-overlay-behavior/iron-focusables-helper\";\nimport { dom } from \"@polymer/polymer/lib/legacy/polymer.dom\";\n\nexport const HaIronFocusablesHelper = {\n /**\n * Returns a sorted array of tabbable nodes, including the root node.\n * It searches the tabbable nodes in the light and shadow dom of the chidren,\n * sorting the result by tabindex.\n * @param {!Node} node\n * @return {!Array}\n */\n getTabbableNodes: function (node) {\n var result = [];\n // If there is at least one element with tabindex > 0, we need to sort\n // the final array by tabindex.\n var needsSortByTabIndex = this._collectTabbableNodes(node, result);\n if (needsSortByTabIndex) {\n return IronFocusablesHelper._sortByTabIndex(result);\n }\n return result;\n },\n\n /**\n * Searches for nodes that are tabbable and adds them to the `result` array.\n * Returns if the `result` array needs to be sorted by tabindex.\n * @param {!Node} node The starting point for the search; added to `result`\n * if tabbable.\n * @param {!Array} result\n * @return {boolean}\n * @private\n */\n _collectTabbableNodes: function (node, result) {\n // If not an element or not visible, no need to explore children.\n if (\n node.nodeType !== Node.ELEMENT_NODE ||\n !IronFocusablesHelper._isVisible(node)\n ) {\n return false;\n }\n var element = /** @type {!HTMLElement} */ (node);\n var tabIndex = IronFocusablesHelper._normalizedTabIndex(element);\n var needsSort = tabIndex > 0;\n if (tabIndex >= 0) {\n result.push(element);\n }\n\n // In ShadowDOM v1, tab order is affected by the order of distrubution.\n // E.g. getTabbableNodes(#root) in ShadowDOM v1 should return [#A, #B];\n // in ShadowDOM v0 tab order is not affected by the distrubution order,\n // in fact getTabbableNodes(#root) returns [#B, #A].\n //
\n // \n // \n // \n // \n // \n // \n //
\n // TODO(valdrin) support ShadowDOM v1 when upgrading to Polymer v2.0.\n var children;\n if (element.localName === \"content\" || element.localName === \"slot\") {\n children = dom(element).getDistributedNodes();\n } else {\n // /////////////////////////\n // Use shadow root if possible, will check for distributed nodes.\n // THIS IS THE CHANGED LINE\n children = dom(element.shadowRoot || element.root || element).children;\n // /////////////////////////\n }\n for (var i = 0; i < children.length; i++) {\n // Ensure method is always invoked to collect tabbable children.\n needsSort = this._collectTabbableNodes(children[i], result) || needsSort;\n }\n return needsSort;\n },\n};\n","import \"@polymer/paper-dialog/paper-dialog\";\nimport type { PaperDialogElement } from \"@polymer/paper-dialog/paper-dialog\";\nimport { mixinBehaviors } from \"@polymer/polymer/lib/legacy/class\";\nimport type { Constructor } from \"../../types\";\nimport { HaIronFocusablesHelper } from \"./ha-iron-focusables-helper\";\n\nconst paperDialogClass = customElements.get(\"paper-dialog\") as Constructor<\n PaperDialogElement\n>;\n\n// behavior that will override existing iron-overlay-behavior and call the fixed implementation\nconst haTabFixBehaviorImpl = {\n get _focusableNodes() {\n return HaIronFocusablesHelper.getTabbableNodes(this);\n },\n};\n\n// paper-dialog that uses the haTabFixBehaviorImpl behvaior\n// export class HaPaperDialog extends paperDialogClass {}\n// @ts-ignore\nexport class HaPaperDialog\n extends mixinBehaviors([haTabFixBehaviorImpl], paperDialogClass)\n implements PaperDialogElement {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-paper-dialog\": HaPaperDialog;\n }\n}\n// @ts-ignore\ncustomElements.define(\"ha-paper-dialog\", HaPaperDialog);\n","import { ripple } from \"@material/mwc-ripple/ripple-directive\";\nimport \"@material/mwc-switch\";\nimport type { Switch } from \"@material/mwc-switch\";\nimport { style } from \"@material/mwc-switch/mwc-switch-css\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n property,\n query,\n} from \"lit-element\";\nimport { forwardHaptic } from \"../data/haptics\";\nimport { Constructor } from \"../types\";\n\nconst MwcSwitch = customElements.get(\"mwc-switch\") as Constructor;\n\n@customElement(\"ha-switch\")\nexport class HaSwitch extends MwcSwitch {\n // Generate a haptic vibration.\n // Only set to true if the new value of the switch is applied right away when toggling.\n // Do not add haptic when a user is required to press save.\n @property({ type: Boolean }) public haptic = false;\n\n @query(\"slot\") private _slot!: HTMLSlotElement;\n\n protected firstUpdated() {\n super.firstUpdated();\n this.style.setProperty(\n \"--mdc-theme-secondary\",\n \"var(--switch-checked-color)\"\n );\n this.classList.toggle(\n \"slotted\",\n Boolean(this._slot.assignedNodes().length)\n );\n this.addEventListener(\"change\", () => {\n if (this.haptic) {\n forwardHaptic(\"light\");\n }\n });\n }\n\n protected render() {\n return html`\n
\n
\n \n
\n \n
\n
\n \n \n `;\n }\n\n protected static get styles(): CSSResult[] {\n return [\n style,\n css`\n :host {\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n .mdc-switch.mdc-switch--checked .mdc-switch__thumb {\n background-color: var(--switch-checked-button-color);\n border-color: var(--switch-checked-button-color);\n }\n .mdc-switch.mdc-switch--checked .mdc-switch__track {\n background-color: var(--switch-checked-track-color);\n border-color: var(--switch-checked-track-color);\n }\n .mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb {\n background-color: var(--switch-unchecked-button-color);\n border-color: var(--switch-unchecked-button-color);\n }\n .mdc-switch:not(.mdc-switch--checked) .mdc-switch__track {\n background-color: var(--switch-unchecked-track-color);\n border-color: var(--switch-unchecked-track-color);\n }\n :host(.slotted) .mdc-switch {\n margin-right: 24px;\n }\n `,\n ];\n }\n\n private _haChangeHandler(e: Event) {\n this.mdcFoundation.handleChange(e);\n // catch \"click\" event and sync properties\n this.checked = this.formElement.checked;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-switch\": HaSwitch;\n }\n}\n","/**\n * Broadcast haptic feedback requests\n */\n\nimport { fireEvent, HASSDomEvent } from \"../common/dom/fire_event\";\n\n// Allowed types are from iOS HIG.\n// https://developer.apple.com/design/human-interface-guidelines/ios/user-interaction/feedback/#haptics\n// Implementors on platforms other than iOS should attempt to match the patterns (shown in HIG) as closely as possible.\nexport type HapticType =\n | \"success\"\n | \"warning\"\n | \"failure\"\n | \"light\"\n | \"medium\"\n | \"heavy\"\n | \"selection\";\n\ndeclare global {\n // for fire event\n interface HASSDomEvents {\n haptic: HapticType;\n }\n\n interface GlobalEventHandlersEventMap {\n haptic: HASSDomEvent;\n }\n}\n\nexport const forwardHaptic = (hapticType: HapticType) => {\n fireEvent(window, \"haptic\", hapticType);\n};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/supervisor/api/panel/chunk.4caf65292b82df27c80d.js b/supervisor/api/panel/chunk.4caf65292b82df27c80d.js new file mode 100644 index 000000000..3a90058df --- /dev/null +++ b/supervisor/api/panel/chunk.4caf65292b82df27c80d.js @@ -0,0 +1,2 @@ +(self.webpackJsonp=self.webpackJsonp||[]).push([[7],{178:function(e,t,r){"use strict";r.r(t);r(33),r(35);var n=r(6),i=r(49),o=r(23),a=r(11),s=r(13),c=(r(18),r(20),r(126),r(127),r(118),r(138),r(116));function l(e){return(l="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)}function u(e){return function(e){if(Array.isArray(e))return S(e)}(e)||A(e)||D(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t,r,n,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void r(l)}s.done?t(c):Promise.resolve(c).then(n,i)}function f(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){d(o,n,i,a,s,"next",e)}function s(e){d(o,n,i,a,s,"throw",e)}a(void 0)})}}function p(){var e=b(["\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 "]);return p=function(){return e},e}function h(){var e=b(["\n ","\n "]);return h=function(){return e},e}function m(){var e=b(["\n ","\n "]);return m=function(){return e},e}function y(){var e=b(['
',"
"]);return y=function(){return e},e}function v(){var e=b(['\n \n
\n ','\n\n \n \n \n \n \n \n
\n
\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;ae.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n ".concat(t.codeMirrorCss,"\n .CodeMirror {\n height: var(--code-mirror-height, auto);\n direction: var(--code-mirror-direction, ltr);\n }\n .CodeMirror-scroll {\n max-height: var(--code-mirror-max-height, --code-mirror-height);\n }\n .CodeMirror-gutters {\n border-right: 1px solid var(--paper-input-container-color, var(--secondary-text-color));\n background-color: var(--paper-dialog-background-color, var(--primary-background-color));\n transition: 0.2s ease border-right;\n }\n :host(.error-state) .CodeMirror-gutters {\n border-color: var(--error-state-color, red);\n }\n .CodeMirror-focused .CodeMirror-gutters {\n border-right: 2px solid var(--paper-input-container-focus-color, var(--primary-color));\n }\n .CodeMirror-linenumber {\n color: var(--paper-dialog-color, var(--primary-text-color));\n }\n .rtl .CodeMirror-vscrollbar {\n right: auto;\n left: 0px;\n }\n .rtl-gutter {\n width: 20px;\n }\n "),this.codemirror=r(n,{value:this._value,lineNumbers:!0,tabSize:2,mode:this.mode,autofocus:!1!==this.autofocus,viewportMargin:1/0,readOnly:this.readOnly,extraKeys:{Tab:"indentMore","Shift-Tab":"indentLess"},gutters:this._calcGutters()}),this._setScrollBarDirection(),this.codemirror.on("changes",function(){return i._onChange()});case 9:case"end":return e.stop()}},e,this)}),function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){H(o,n,i,a,s,"next",e)}function s(e){H(o,n,i,a,s,"throw",e)}a(void 0)})});return function(){return t.apply(this,arguments)}}()},{kind:"method",key:"_onChange",value:function(){var e=this.value;e!==this._value&&(this._value=e,Object(R.a)(this,"value-changed",{value:this._value}))}},{kind:"method",key:"_calcGutters",value:function(){return this.rtl?["rtl-gutter","CodeMirror-linenumbers"]:[]}},{kind:"method",key:"_setScrollBarDirection",value:function(){this.codemirror&&this.codemirror.getWrapperElement().classList.toggle("rtl",this.rtl)}}]}},n.b);function Z(){var e=re(["

","

"]);return Z=function(){return e},e}function ee(){var e=re(["\n ","\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;aInvalid YAML
']);return we=function(){return e},e}function ke(){var e=Oe(['
',"
"]);return ke=function(){return e},e}function Ee(){var e=Oe(['\n \n
\n \n
\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a bit more top margin */\n font-weight: 500;\n overflow: hidden;\n text-transform: uppercase;\n text-overflow: ellipsis;\n transition: background-color 0.3s ease-in-out;\n text-transform: var(--ha-label-badge-label-text-transform, uppercase);\n }\n .label-badge .label.big span {\n font-size: 90%;\n padding: 10% 12% 7% 12%; /* push smaller text a bit down to center vertically */\n }\n .badge-container .title {\n margin-top: 1em;\n font-size: var(--ha-label-badge-title-font-size, 0.9em);\n width: var(--ha-label-badge-title-width, 5em);\n font-weight: var(--ha-label-badge-title-font-weight, 400);\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: normal;\n }\n "]);return He=function(){return e},e}function Be(){var e=We(['
',"
"]);return Be=function(){return e},e}function Le(){var e=We(['\n \n ',"\n
\n "]);return Le=function(){return e},e}function $e(){var e=We([" "," "]);return $e=function(){return e},e}function Ve(){var e=We([' ']);return Ve=function(){return e},e}function qe(){var e=We(['\n
\n
\n \n ',"\n ","\n
\n ","\n
\n ","\n
\n "]);return qe=function(){return e},e}function We(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function Ge(e,t){return(Ge=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ye(e){return function(){var t,r=it(e);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}()){var n=it(this).constructor;t=Reflect.construct(r,arguments,n)}else t=r.apply(this,arguments);return function(e,t){if(t&&("object"===Ne(t)||"function"==typeof t))return t;return Je(e)}(this,t)}}function Je(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ke(e){var t,r=tt(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function Qe(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function Xe(e){return e.decorators&&e.decorators.length}function Ze(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function et(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function tt(e){var t=function(e,t){if("object"!==Ne(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Ne(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ne(t)?t:String(t)}function rt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a4)}),!this.icon||this.value||this.image?"":Object(n.e)(Ve(),this.icon),this.value&&!this.image?Object(n.e)($e(),this.value):"",this.label?Object(n.e)(Le(),Object(Ie.a)({label:!0,big:this.label.length>5}),this.label):"",this.description?Object(n.e)(Be(),this.description):"")}},{kind:"get",static:!0,key:"styles",value:function(){return[Object(n.c)(He())]}},{kind:"method",key:"updated",value:function(e){nt(it(r.prototype),"updated",this).call(this,e),e.has("image")&&(this.shadowRoot.getElementById("badge").style.backgroundImage=this.image?"url(".concat(this.image,")"):"")}}]}},n.a);customElements.define("ha-label-badge",ot);r(72),r(94),r(43);var at=r(117);function st(e){return(st="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)}function ct(e,t,r,n,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void r(l)}s.done?t(c):Promise.resolve(c).then(n,i)}function lt(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){ct(o,n,i,a,s,"next",e)}function s(e){ct(o,n,i,a,s,"throw",e)}a(void 0)})}}function ut(){var e=Vt(["\n :host {\n display: block;\n }\n paper-card {\n display: block;\n margin-bottom: 16px;\n }\n paper-card.warning {\n background-color: var(--google-red-500);\n color: white;\n --paper-card-header-color: white;\n }\n paper-card.warning mwc-button {\n --mdc-theme-primary: white !important;\n }\n .warning {\n color: var(--google-red-500);\n --mdc-theme-primary: var(--google-red-500);\n }\n .light-color {\n color: var(--secondary-text-color);\n }\n .addon-header {\n font-size: 24px;\n color: var(--paper-card-header-color, --primary-text-color);\n }\n .addon-version {\n float: right;\n font-size: 15px;\n vertical-align: middle;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\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 {\n display: flex;\n margin: 33px 0;\n }\n .state div {\n width: 180px;\n display: inline-block;\n }\n .state iron-icon {\n width: 16px;\n height: 16px;\n color: var(--secondary-text-color);\n }\n ha-switch {\n display: flex;\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 protection-enable mwc-button {\n --mdc-theme-primary: white;\n }\n .description a,\n ha-markdown a {\n color: var(--primary-color);\n }\n .red {\n --ha-label-badge-color: var(--label-badge-red, #df4c1e);\n }\n .blue {\n --ha-label-badge-color: var(--label-badge-blue, #039be5);\n }\n .green {\n --ha-label-badge-color: var(--label-badge-green, #0da035);\n }\n .yellow {\n --ha-label-badge-color: var(--label-badge-yellow, #f4b400);\n }\n .security {\n margin-bottom: 16px;\n }\n .card-actions {\n display: flow-root;\n }\n .security h3 {\n margin-bottom: 8px;\n font-weight: normal;\n }\n .security ha-label-badge {\n cursor: pointer;\n margin-right: 4px;\n --iron-icon-height: 45px;\n }\n "]);return ut=function(){return e},e}function dt(){var e=Vt(['\n \n
\n \n This add-on is not available on your system.\n

\n ']);return ft=function(){return e},e}function pt(){var e=Vt(["\n ","\n \n Install\n \n "]);return pt=function(){return e},e}function ht(){var e=Vt(['\n \n \n Open web UI\n \n \n ']);return mt=function(){return e},e}function yt(){var e=Vt(["\n \n Start\n \n ']);return yt=function(){return e},e}function vt(){var e=Vt(['\n \n Restart\n \n \n Stop\n \n ']);return vt=function(){return e},e}function bt(){var e=Vt(['\n \n Rebuild\n \n ']);return bt=function(){return e},e}function gt(){var e=Vt(['\n ',"
"]);return wt=function(){return e},e}function kt(){var e=Vt(['\n
\n
\n Protection mode\n \n \n \n Grant the add-on elevated system access.\n \n \n
\n \n
Show in sidebar
\n \n
Start on boot
\n \n
\n
\n
Auto update
\n \n ']);return Pt=function(){return e},e}function _t(){var e=Vt(["\n \n ']);return _t=function(){return e},e}function xt(){var e=Vt(["\n \n ']);return xt=function(){return e},e}function Dt(){var e=Vt(["\n \n ']);return Dt=function(){return e},e}function St(){var e=Vt(["\n \n ']);return St=function(){return e},e}function At(){var e=Vt(["\n \n ']);return Ct=function(){return e},e}function Tt(){var e=Vt(["\n \n ']);return Tt=function(){return e},e}function zt(){var e=Vt(["\n \n ']);return zt=function(){return e},e}function Rt(){var e=Vt(['\n
\n
\n `\n : \"\"}\n\n \n
\n
\n ${!this.narrow ? this.addon.name : \"\"}\n
\n ${this.addon.version\n ? html`\n ${this.addon.version}\n ${this._computeIsRunning\n ? html`\n \n `\n : html`\n \n `}\n `\n : html` ${this.addon.version_latest} `}\n
\n
\n
\n ${this.addon.logo\n ? html`\n \n \n \n `\n : \"\"}\n
\n \n \n ${this.addon.host_network\n ? html`\n \n `\n : \"\"}\n ${this.addon.full_access\n ? html`\n \n `\n : \"\"}\n ${this.addon.homeassistant_api\n ? html`\n \n `\n : \"\"}\n ${this._computeHassioApi\n ? html`\n \n `\n : \"\"}\n ${this.addon.docker_api\n ? html`\n \n `\n : \"\"}\n ${this.addon.host_pid\n ? html`\n \n `\n : \"\"}\n ${this.addon.apparmor\n ? html`\n \n `\n : \"\"}\n ${this.addon.auth_api\n ? html`\n \n `\n : \"\"}\n ${this.addon.ingress\n ? html`\n \n `\n : \"\"}\n
\n\n ${this.addon.version\n ? html`\n
\n
Start on boot
\n \n
\n
\n
Auto update
\n \n
\n ${this.addon.ingress\n ? html`\n
\n
Show in sidebar
\n \n ${this._computeCannotIngressSidebar\n ? html`\n \n This option requires Home Assistant 0.92 or\n later.\n \n `\n : \"\"}\n
\n `\n : \"\"}\n ${this._computeUsesProtectedOptions\n ? html`\n
\n
\n Protection mode\n \n \n \n Grant the add-on elevated system access.\n \n \n
\n \n
\n `\n : \"\"}\n `\n : \"\"}\n ${this._error ? html`
${this._error}
` : \"\"}\n
\n
\n ${this.addon.version\n ? html`\n \n Uninstall\n \n ${this.addon.build\n ? html`\n \n Rebuild\n \n `\n : \"\"}\n ${this._computeIsRunning\n ? html`\n \n Restart\n \n \n Stop\n \n `\n : html`\n \n Start\n \n `}\n ${this._computeShowWebUI\n ? html`\n \n \n Open web UI\n \n \n `\n : \"\"}\n ${this._computeShowIngressUI\n ? html`\n \n Open web UI\n \n `\n : \"\"}\n `\n : html`\n ${!this.addon.available\n ? html`\n

\n This add-on is not available on your system.\n

\n `\n : \"\"}\n \n Install\n \n `}\n
\n
\n\n ${this.addon.long_description\n ? html`\n \n
\n \n
\n
\n `\n : \"\"}\n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\n :host {\n display: block;\n }\n paper-card {\n display: block;\n margin-bottom: 16px;\n }\n paper-card.warning {\n background-color: var(--google-red-500);\n color: white;\n --paper-card-header-color: white;\n }\n paper-card.warning mwc-button {\n --mdc-theme-primary: white !important;\n }\n .warning {\n color: var(--google-red-500);\n --mdc-theme-primary: var(--google-red-500);\n }\n .light-color {\n color: var(--secondary-text-color);\n }\n .addon-header {\n font-size: 24px;\n color: var(--paper-card-header-color, --primary-text-color);\n }\n .addon-version {\n float: right;\n font-size: 15px;\n vertical-align: middle;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\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 {\n display: flex;\n margin: 33px 0;\n }\n .state div {\n width: 180px;\n display: inline-block;\n }\n .state iron-icon {\n width: 16px;\n height: 16px;\n color: var(--secondary-text-color);\n }\n ha-switch {\n display: flex;\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 protection-enable mwc-button {\n --mdc-theme-primary: white;\n }\n .description a,\n ha-markdown a {\n color: var(--primary-color);\n }\n .red {\n --ha-label-badge-color: var(--label-badge-red, #df4c1e);\n }\n .blue {\n --ha-label-badge-color: var(--label-badge-blue, #039be5);\n }\n .green {\n --ha-label-badge-color: var(--label-badge-green, #0da035);\n }\n .yellow {\n --ha-label-badge-color: var(--label-badge-yellow, #f4b400);\n }\n .security {\n margin-bottom: 16px;\n }\n .card-actions {\n display: flow-root;\n }\n .security h3 {\n margin-bottom: 8px;\n font-weight: normal;\n }\n .security ha-label-badge {\n cursor: pointer;\n margin-right: 4px;\n --iron-icon-height: 45px;\n }\n `,\n ];\n }\n\n private get _computeHassioApi(): boolean {\n return (\n this.addon.hassio_api &&\n (this.addon.hassio_role === \"manager\" ||\n this.addon.hassio_role === \"admin\")\n );\n }\n\n private get _computeApparmorClassName(): string {\n if (this.addon.apparmor === \"profile\") {\n return \"green\";\n }\n if (this.addon.apparmor === \"disable\") {\n return \"red\";\n }\n return \"\";\n }\n\n private _showMoreInfo(ev): void {\n const id = ev.target.getAttribute(\"id\");\n showHassioMarkdownDialog(this, {\n title: PERMIS_DESC[id].title,\n content: PERMIS_DESC[id].description,\n });\n }\n\n private get _computeIsRunning(): boolean {\n return this.addon?.state === \"started\";\n }\n\n private get _computeUpdateAvailable(): boolean | \"\" {\n return (\n this.addon &&\n !this.addon.detached &&\n this.addon.version &&\n this.addon.version !== this.addon.version_latest\n );\n }\n\n private get _pathWebui(): string | null {\n return (\n this.addon.webui &&\n this.addon.webui.replace(\"[HOST]\", document.location.hostname)\n );\n }\n\n private get _computeShowWebUI(): boolean | \"\" | null {\n return !this.addon.ingress && this.addon.webui && this._computeIsRunning;\n }\n\n private _openIngress(): void {\n navigate(this, `/hassio/ingress/${this.addon.slug}`);\n }\n\n private get _computeShowIngressUI(): boolean {\n return this.addon.ingress && this._computeIsRunning;\n }\n\n private get _computeCannotIngressSidebar(): boolean {\n return (\n !this.addon.ingress || !atLeastVersion(this.hass.config.version, 0, 92)\n );\n }\n\n private get _computeUsesProtectedOptions(): boolean {\n return (\n this.addon.docker_api || this.addon.full_access || this.addon.host_pid\n );\n }\n\n private async _startOnBootToggled(): Promise {\n this._error = undefined;\n const data: HassioAddonSetOptionParams = {\n boot: this.addon.boot === \"auto\" ? \"manual\" : \"auto\",\n };\n try {\n await setHassioAddonOption(this.hass, this.addon.slug, data);\n const eventdata = {\n success: true,\n response: undefined,\n path: \"option\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to set addon option, ${err.body?.message || err}`;\n }\n }\n\n private async _autoUpdateToggled(): Promise {\n this._error = undefined;\n const data: HassioAddonSetOptionParams = {\n auto_update: !this.addon.auto_update,\n };\n try {\n await setHassioAddonOption(this.hass, this.addon.slug, data);\n const eventdata = {\n success: true,\n response: undefined,\n path: \"option\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to set addon option, ${err.body?.message || err}`;\n }\n }\n\n private async _protectionToggled(): Promise {\n this._error = undefined;\n const data: HassioAddonSetSecurityParams = {\n protected: !this.addon.protected,\n };\n try {\n await setHassioAddonSecurity(this.hass, this.addon.slug, data);\n const eventdata = {\n success: true,\n response: undefined,\n path: \"security\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to set addon security option, ${\n err.body?.message || err\n }`;\n }\n }\n\n private async _panelToggled(): Promise {\n this._error = undefined;\n const data: HassioAddonSetOptionParams = {\n ingress_panel: !this.addon.ingress_panel,\n };\n try {\n await setHassioAddonOption(this.hass, this.addon.slug, data);\n const eventdata = {\n success: true,\n response: undefined,\n path: \"option\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to set addon option, ${err.body?.message || err}`;\n }\n }\n\n private async _openChangelog(): Promise {\n this._error = undefined;\n try {\n const content = await fetchHassioAddonChangelog(\n this.hass,\n this.addon.slug\n );\n showHassioMarkdownDialog(this, {\n title: \"Changelog\",\n content,\n });\n } catch (err) {\n this._error = `Failed to get addon changelog, ${\n err.body?.message || err\n }`;\n }\n }\n\n private async _installClicked(): Promise {\n this._error = undefined;\n this._installing = true;\n try {\n await installHassioAddon(this.hass, this.addon.slug);\n const eventdata = {\n success: true,\n response: undefined,\n path: \"install\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to install addon, ${err.body?.message || err}`;\n }\n this._installing = false;\n }\n\n private async _uninstallClicked(): Promise {\n if (!confirm(\"Are you sure you want to uninstall this add-on?\")) {\n return;\n }\n this._error = undefined;\n try {\n await uninstallHassioAddon(this.hass, this.addon.slug);\n const eventdata = {\n success: true,\n response: undefined,\n path: \"uninstall\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to uninstall addon, ${err.body?.message || err}`;\n }\n }\n}\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-addon-info\": HassioAddonInfo;\n }\n}\n","import \"@material/mwc-button\";\nimport \"@polymer/paper-card/paper-card\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n TemplateResult,\n} from \"lit-element\";\nimport {\n fetchHassioAddonLogs,\n HassioAddonDetails,\n} from \"../../../../src/data/hassio/addon\";\nimport \"../../../../src/layouts/loading-screen\";\nimport { haStyle } from \"../../../../src/resources/styles\";\nimport { HomeAssistant } from \"../../../../src/types\";\nimport \"../../components/hassio-ansi-to-html\";\nimport { hassioStyle } from \"../../resources/hassio-style\";\n\n@customElement(\"hassio-addon-logs\")\nclass HassioAddonLogs extends LitElement {\n @property({ attribute: false }) public hass!: HomeAssistant;\n\n @property({ attribute: false }) public addon!: HassioAddonDetails;\n\n @property() private _error?: string;\n\n @property() private _content?: string;\n\n public async connectedCallback(): Promise {\n super.connectedCallback();\n await this._loadData();\n }\n\n protected render(): TemplateResult {\n return html`\n \n ${this._error ? html`
${this._error}
` : \"\"}\n
\n ${this._content\n ? html``\n : html``}\n
\n
\n Refresh\n
\n
\n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\n :host,\n paper-card {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n `,\n ];\n }\n\n private async _loadData(): Promise {\n this._error = undefined;\n try {\n this._content = await fetchHassioAddonLogs(this.hass, this.addon.slug);\n } catch (err) {\n this._error = `Failed to get addon logs, ${err.body?.message || err}`;\n }\n }\n\n private async _refresh(): Promise {\n await this._loadData();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-addon-logs\": HassioAddonLogs;\n }\n}\n","import \"@polymer/paper-card/paper-card\";\nimport { PaperInputElement } from \"@polymer/paper-input/paper-input\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n PropertyValues,\n TemplateResult,\n} from \"lit-element\";\nimport { fireEvent } from \"../../../../src/common/dom/fire_event\";\nimport {\n HassioAddonDetails,\n HassioAddonSetOptionParams,\n setHassioAddonOption,\n} from \"../../../../src/data/hassio/addon\";\nimport { haStyle } from \"../../../../src/resources/styles\";\nimport { HomeAssistant } from \"../../../../src/types\";\nimport { hassioStyle } from \"../../resources/hassio-style\";\n\ninterface NetworkItem {\n description: string;\n container: string;\n host: number | null;\n}\n\ninterface NetworkItemInput extends PaperInputElement {\n container: string;\n}\n\n@customElement(\"hassio-addon-network\")\nclass HassioAddonNetwork extends LitElement {\n @property({ attribute: false }) public hass!: HomeAssistant;\n\n @property({ attribute: false }) public addon!: HassioAddonDetails;\n\n @property() private _error?: string;\n\n @property() private _config?: NetworkItem[];\n\n public connectedCallback(): void {\n super.connectedCallback();\n this._setNetworkConfig();\n }\n\n protected render(): TemplateResult {\n if (!this._config) {\n return html``;\n }\n\n return html`\n \n
\n ${this._error ? html`
${this._error}
` : \"\"}\n\n \n \n \n \n \n \n \n ${this._config!.map((item) => {\n return html`\n \n \n \n \n \n `;\n })}\n \n
ContainerHostDescription
${item.container}\n \n ${item.description}
\n
\n
\n \n Reset to defaults\n \n Save\n
\n
\n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\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 display: flex;\n justify-content: space-between;\n }\n `,\n ];\n }\n\n protected update(changedProperties: PropertyValues): void {\n super.update(changedProperties);\n if (changedProperties.has(\"addon\")) {\n this._setNetworkConfig();\n }\n }\n\n private _setNetworkConfig(): void {\n const network = this.addon.network || {};\n const description = this.addon.network_description || {};\n const items: NetworkItem[] = Object.keys(network).map((key) => {\n return {\n container: key,\n host: network[key],\n description: description[key],\n };\n });\n this._config = items.sort((a, b) => (a.container > b.container ? 1 : -1));\n }\n\n private async _configChanged(ev: Event): Promise {\n const target = ev.target as NetworkItemInput;\n this._config!.forEach((item) => {\n if (\n item.container === target.container &&\n item.host !== parseInt(String(target.value), 10)\n ) {\n item.host = target.value ? parseInt(String(target.value), 10) : null;\n }\n });\n }\n\n private async _resetTapped(): Promise {\n const data: HassioAddonSetOptionParams = {\n network: null,\n };\n\n try {\n await setHassioAddonOption(this.hass, this.addon.slug, data);\n const eventdata = {\n success: true,\n response: undefined,\n path: \"option\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to set addon network configuration, ${\n err.body?.message || err\n }`;\n }\n }\n\n private async _saveTapped(): Promise {\n this._error = undefined;\n const networkconfiguration = {};\n this._config!.forEach((item) => {\n networkconfiguration[item.container] = parseInt(String(item.host), 10);\n });\n\n const data: HassioAddonSetOptionParams = {\n network: networkconfiguration,\n };\n\n try {\n await setHassioAddonOption(this.hass, this.addon.slug, data);\n const eventdata = {\n success: true,\n response: undefined,\n path: \"option\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to set addon network configuration, ${\n err.body?.message || err\n }`;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-addon-network\": HassioAddonNetwork;\n }\n}\n","import \"@polymer/paper-spinner/paper-spinner-lite\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n TemplateResult,\n} from \"lit-element\";\n\nimport { HomeAssistant } from \"../../../../src/types\";\nimport { HassioAddonDetails } from \"../../../../src/data/hassio/addon\";\nimport { hassioStyle } from \"../../resources/hassio-style\";\nimport { haStyle } from \"../../../../src/resources/styles\";\n\nimport \"./hassio-addon-info\";\n\n@customElement(\"hassio-addon-info-tab\")\nclass HassioAddonInfoDashboard extends LitElement {\n @property({ type: Boolean }) public narrow!: boolean;\n\n @property({ attribute: false }) public hass!: HomeAssistant;\n\n @property({ attribute: false }) public addon?: HassioAddonDetails;\n\n protected render(): TemplateResult {\n if (!this.addon) {\n return html` `;\n }\n\n return html`\n
\n \n
\n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\n @media screen and (min-width: 1024px) {\n .content {\n width: 50%;\n margin: auto;\n margin-top: 8px;\n max-width: 1024px;\n }\n }\n `,\n ];\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-addon-info-tab\": HassioAddonInfoDashboard;\n }\n}\n","import \"@polymer/paper-spinner/paper-spinner-lite\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n TemplateResult,\n} from \"lit-element\";\n\nimport { HomeAssistant } from \"../../../../src/types\";\nimport { HassioAddonDetails } from \"../../../../src/data/hassio/addon\";\nimport { hassioStyle } from \"../../resources/hassio-style\";\nimport { haStyle } from \"../../../../src/resources/styles\";\n\nimport \"./hassio-addon-audio\";\nimport \"./hassio-addon-config\";\nimport \"./hassio-addon-network\";\n\n@customElement(\"hassio-addon-config-tab\")\nclass HassioAddonConfigDashboard extends LitElement {\n @property({ attribute: false }) public hass!: HomeAssistant;\n\n @property({ attribute: false }) public addon?: HassioAddonDetails;\n\n protected render(): TemplateResult {\n if (!this.addon) {\n return html` `;\n }\n return html`\n
\n \n ${this.addon.network\n ? html`\n \n `\n : \"\"}\n ${this.addon.audio\n ? html`\n \n `\n : \"\"}\n
\n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\n @media screen and (min-width: 1024px) {\n .content {\n width: 50%;\n margin: auto;\n margin-top: 8px;\n max-width: 1024px;\n }\n }\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config {\n margin-bottom: 24px;\n }\n `,\n ];\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-addon-config-tab\": HassioAddonConfigDashboard;\n }\n}\n","import \"@polymer/paper-spinner/paper-spinner-lite\";\n\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n TemplateResult,\n} from \"lit-element\";\n\nimport { HomeAssistant } from \"../../../../src/types\";\nimport { HassioAddonDetails } from \"../../../../src/data/hassio/addon\";\nimport { hassioStyle } from \"../../resources/hassio-style\";\nimport { haStyle } from \"../../../../src/resources/styles\";\n\nimport \"./hassio-addon-logs\";\n\n@customElement(\"hassio-addon-log-tab\")\nclass HassioAddonLogDashboard extends LitElement {\n @property({ attribute: false }) public hass!: HomeAssistant;\n\n @property({ attribute: false }) public addon?: HassioAddonDetails;\n\n protected render(): TemplateResult {\n if (!this.addon) {\n return html` `;\n }\n return html`\n
\n \n
\n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\n @media screen and (min-width: 1024px) {\n .content {\n width: 50%;\n margin: auto;\n margin-top: 8px;\n max-width: 1024px;\n }\n }\n `,\n ];\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-addon-log-tab\": HassioAddonLogDashboard;\n }\n}\n","import \"@polymer/paper-spinner/paper-spinner-lite\";\n\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n TemplateResult,\n} from \"lit-element\";\n\nimport { HomeAssistant } from \"../../../../src/types\";\nimport {\n HassioAddonDetails,\n fetchHassioAddonDocumentation,\n} from \"../../../../src/data/hassio/addon\";\nimport \"../../../../src/components/ha-markdown\";\nimport \"../../../../src/layouts/loading-screen\";\nimport { hassioStyle } from \"../../resources/hassio-style\";\nimport { haStyle } from \"../../../../src/resources/styles\";\n\n@customElement(\"hassio-addon-documentation-tab\")\nclass HassioAddonDocumentationDashboard extends LitElement {\n @property({ attribute: false }) public hass!: HomeAssistant;\n\n @property({ attribute: false }) public addon?: HassioAddonDetails;\n\n @property() private _error?: string;\n\n @property() private _content?: string;\n\n public async connectedCallback(): Promise {\n super.connectedCallback();\n await this._loadData();\n }\n\n protected render(): TemplateResult {\n if (!this.addon) {\n return html` `;\n }\n return html`\n
\n ${this._error ? html`
${this._error}
` : \"\"}\n
\n ${this._content\n ? html``\n : html``}\n
\n
\n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\n @media screen and (min-width: 1024px) {\n .content {\n width: 50%;\n margin: auto;\n max-width: 1024px;\n }\n }\n `,\n ];\n }\n\n private async _loadData(): Promise {\n this._error = undefined;\n try {\n this._content = await fetchHassioAddonDocumentation(\n this.hass,\n this.addon!.slug\n );\n } catch (err) {\n this._error = `Failed to get addon documentation, ${\n err.body?.message || err\n }`;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-addon-documentation-tab\": HassioAddonDocumentationDashboard;\n }\n}\n","import {\n HassRouterPage,\n RouterOptions,\n} from \"../../../src/layouts/hass-router-page\";\nimport { customElement, property } from \"lit-element\";\nimport { HomeAssistant } from \"../../../src/types\";\n// Don't codesplit the others, because it breaks the UI when pushed to a Pi\nimport \"./info/hassio-addon-info-tab\";\nimport \"./config/hassio-addon-config-tab\";\nimport \"./log/hassio-addon-log-tab\";\nimport \"./documentation/hassio-addon-documentation-tab\";\nimport { HassioAddonDetails } from \"../../../src/data/hassio/addon\";\n\n@customElement(\"hassio-addon-router\")\nclass HassioAddonRouter extends HassRouterPage {\n @property({ type: Boolean }) public narrow = false;\n\n @property({ attribute: false }) public hass!: HomeAssistant;\n\n @property({ attribute: false }) public addon!: HassioAddonDetails;\n\n protected routerOptions: RouterOptions = {\n defaultPage: \"info\",\n showLoading: true,\n routes: {\n info: {\n tag: \"hassio-addon-info-tab\",\n },\n documentation: {\n tag: \"hassio-addon-documentation-tab\",\n },\n config: {\n tag: \"hassio-addon-config-tab\",\n },\n logs: {\n tag: \"hassio-addon-log-tab\",\n },\n },\n };\n\n protected updatePageEl(el) {\n el.route = this.routeTail;\n el.hass = this.hass;\n el.addon = this.addon;\n el.narrow = this.narrow;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-addon-router\": HassioAddonRouter;\n }\n}\n","import \"@polymer/paper-icon-button/paper-icon-button\";\nimport \"@polymer/paper-spinner/paper-spinner-lite\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n TemplateResult,\n} from \"lit-element\";\nimport memoizeOne from \"memoize-one\";\nimport {\n fetchHassioAddonInfo,\n HassioAddonDetails,\n} from \"../../../src/data/hassio/addon\";\nimport { haStyle } from \"../../../src/resources/styles\";\nimport { HomeAssistant, Route } from \"../../../src/types\";\nimport { hassioStyle } from \"../resources/hassio-style\";\nimport \"./config/hassio-addon-audio\";\nimport \"./config/hassio-addon-config\";\nimport \"./info/hassio-addon-info\";\nimport \"./log/hassio-addon-logs\";\nimport \"./config/hassio-addon-network\";\nimport type { PageNavigation } from \"../../../src/layouts/hass-tabs-subpage\";\nimport \"../../../src/layouts/hass-tabs-subpage\";\n\nimport \"./hassio-addon-router\";\n\n@customElement(\"hassio-addon-dashboard\")\nclass HassioAddonDashboard extends LitElement {\n @property({ attribute: false }) public hass!: HomeAssistant;\n\n @property({ attribute: false }) public route!: Route;\n\n @property({ attribute: false }) public addon?: HassioAddonDetails;\n\n @property({ type: Boolean }) public narrow!: boolean;\n\n private _computeTail = memoizeOne((route: Route) => {\n const dividerPos = route.path.indexOf(\"/\", 1);\n return dividerPos === -1\n ? {\n prefix: route.prefix + route.path,\n path: \"\",\n }\n : {\n prefix: route.prefix + route.path.substr(0, dividerPos),\n path: route.path.substr(dividerPos),\n };\n });\n\n protected render(): TemplateResult {\n if (!this.addon) {\n return html` `;\n }\n\n const addonTabs: PageNavigation[] = [\n {\n name: \"Info\",\n path: `/hassio/addon/${this.addon.slug}/info`,\n icon: \"mdi:information-variant\",\n },\n ];\n\n if (this.addon.documentation) {\n addonTabs.push({\n name: \"Documentation\",\n path: `/hassio/addon/${this.addon.slug}/documentation`,\n icon: \"mdi:file-document\",\n });\n }\n\n if (this.addon.version) {\n addonTabs.push(\n {\n name: \"Configuration\",\n path: `/hassio/addon/${this.addon.slug}/config`,\n icon: \"mdi:cogs\",\n },\n {\n name: \"Log\",\n path: `/hassio/addon/${this.addon.slug}/logs`,\n icon: \"mdi:math-log\",\n }\n );\n }\n\n const route = this._computeTail(this.route);\n\n return html`\n \n ${this.addon.name}\n \n \n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\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 protected async firstUpdated(): Promise {\n await this._routeDataChanged(this.route);\n this.addEventListener(\"hass-api-called\", (ev) => this._apiCalled(ev));\n }\n\n private async _apiCalled(ev): Promise {\n const path: string = ev.detail.path;\n\n if (!path) {\n return;\n }\n\n if (path === \"uninstall\") {\n history.back();\n } else {\n await this._routeDataChanged(this.route);\n }\n }\n\n private async _routeDataChanged(routeData: Route): Promise {\n const addon = routeData.path.split(\"/\")[1];\n try {\n const addoninfo = await fetchHassioAddonInfo(this.hass, addon);\n this.addon = addoninfo;\n } catch {\n this.addon = undefined;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-addon-dashboard\": HassioAddonDashboard;\n }\n}\n","import { customElement, property, UpdatingElement } from \"lit-element\";\n// @ts-ignore\n// eslint-disable-next-line import/no-webpack-loader-syntax\nimport markdownWorker from \"workerize-loader!../resources/markdown_worker\";\nimport { fireEvent } from \"../common/dom/fire_event\";\n\nlet worker: any | undefined;\n\n@customElement(\"ha-markdown\")\nclass HaMarkdown extends UpdatingElement {\n @property() public content = \"\";\n\n @property({ type: Boolean }) public allowSvg = false;\n\n protected update(changedProps) {\n super.update(changedProps);\n\n if (!worker) {\n worker = markdownWorker();\n }\n\n this._render();\n }\n\n private async _render() {\n this.innerHTML = await worker.renderMarkdown(\n this.content,\n {\n breaks: true,\n gfm: true,\n tables: true,\n },\n {\n allowSvg: this.allowSvg,\n }\n );\n\n this._resize();\n\n const walker = document.createTreeWalker(\n this,\n 1 /* SHOW_ELEMENT */,\n null,\n false\n );\n\n while (walker.nextNode()) {\n const node = walker.currentNode;\n\n // Open external links in a new window\n if (\n node instanceof HTMLAnchorElement &&\n node.host !== document.location.host\n ) {\n node.target = \"_blank\";\n node.rel = \"noreferrer\";\n\n // protect referrer on external links and deny window.opener access for security reasons\n // (see https://mathiasbynens.github.io/rel-noopener/)\n node.rel = \"noreferrer noopener\";\n\n // Fire a resize event when images loaded to notify content resized\n } else if (node) {\n node.addEventListener(\"load\", this._resize);\n }\n }\n }\n\n private _resize = () => fireEvent(this, \"iron-resize\");\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-markdown\": HaMarkdown;\n }\n}\n","\n\t\t\t\tvar addMethods = require(\"../../node_modules/workerize-loader/dist/rpc-wrapper.js\")\n\t\t\t\tvar methods = [\"renderMarkdown\"]\n\t\t\t\tmodule.exports = function() {\n\t\t\t\t\tvar w = new Worker(__webpack_public_path__ + \"264283c05b3002fb79ff.worker.js\", { name: \"[hash].worker.js\" })\n\t\t\t\t\taddMethods(w, methods)\n\t\t\t\t\t\n\t\t\t\t\treturn w\n\t\t\t\t}\n\t\t\t","import { ripple } from \"@material/mwc-ripple/ripple-directive\";\nimport \"@material/mwc-switch\";\nimport type { Switch } from \"@material/mwc-switch\";\nimport { style } from \"@material/mwc-switch/mwc-switch-css\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n property,\n query,\n} from \"lit-element\";\nimport { forwardHaptic } from \"../data/haptics\";\nimport { Constructor } from \"../types\";\n\nconst MwcSwitch = customElements.get(\"mwc-switch\") as Constructor;\n\n@customElement(\"ha-switch\")\nexport class HaSwitch extends MwcSwitch {\n // Generate a haptic vibration.\n // Only set to true if the new value of the switch is applied right away when toggling.\n // Do not add haptic when a user is required to press save.\n @property({ type: Boolean }) public haptic = false;\n\n @query(\"slot\") private _slot!: HTMLSlotElement;\n\n protected firstUpdated() {\n super.firstUpdated();\n this.style.setProperty(\n \"--mdc-theme-secondary\",\n \"var(--switch-checked-color)\"\n );\n this.classList.toggle(\n \"slotted\",\n Boolean(this._slot.assignedNodes().length)\n );\n this.addEventListener(\"change\", () => {\n if (this.haptic) {\n forwardHaptic(\"light\");\n }\n });\n }\n\n protected render() {\n return html`\n
\n
\n \n
\n \n
\n
\n \n \n `;\n }\n\n protected static get styles(): CSSResult[] {\n return [\n style,\n css`\n :host {\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n .mdc-switch.mdc-switch--checked .mdc-switch__thumb {\n background-color: var(--switch-checked-button-color);\n border-color: var(--switch-checked-button-color);\n }\n .mdc-switch.mdc-switch--checked .mdc-switch__track {\n background-color: var(--switch-checked-track-color);\n border-color: var(--switch-checked-track-color);\n }\n .mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb {\n background-color: var(--switch-unchecked-button-color);\n border-color: var(--switch-unchecked-button-color);\n }\n .mdc-switch:not(.mdc-switch--checked) .mdc-switch__track {\n background-color: var(--switch-unchecked-track-color);\n border-color: var(--switch-unchecked-track-color);\n }\n :host(.slotted) .mdc-switch {\n margin-right: 24px;\n }\n `,\n ];\n }\n\n private _haChangeHandler(e: Event) {\n this.mdcFoundation.handleChange(e);\n // catch \"click\" event and sync properties\n this.checked = this.formElement.checked;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-switch\": HaSwitch;\n }\n}\n","/**\n * Broadcast haptic feedback requests\n */\n\nimport { fireEvent, HASSDomEvent } from \"../common/dom/fire_event\";\n\n// Allowed types are from iOS HIG.\n// https://developer.apple.com/design/human-interface-guidelines/ios/user-interaction/feedback/#haptics\n// Implementors on platforms other than iOS should attempt to match the patterns (shown in HIG) as closely as possible.\nexport type HapticType =\n | \"success\"\n | \"warning\"\n | \"failure\"\n | \"light\"\n | \"medium\"\n | \"heavy\"\n | \"selection\";\n\ndeclare global {\n // for fire event\n interface HASSDomEvents {\n haptic: HapticType;\n }\n\n interface GlobalEventHandlersEventMap {\n haptic: HASSDomEvent;\n }\n}\n\nexport const forwardHaptic = (hapticType: HapticType) => {\n fireEvent(window, \"haptic\", hapticType);\n};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/supervisor/api/panel/chunk.5fb0086a3916d44eae35.js b/supervisor/api/panel/chunk.5fb0086a3916d44eae35.js new file mode 100644 index 000000000..6c13384a2 --- /dev/null +++ b/supervisor/api/panel/chunk.5fb0086a3916d44eae35.js @@ -0,0 +1,3 @@ +/*! For license information please see chunk.5fb0086a3916d44eae35.js.LICENSE */ +(self.webpackJsonp=self.webpackJsonp||[]).push([[4],{168:function(e,t,r){"use strict";r.r(t);r(84),r(53),r(33);var n=r(6),i=(r(56),r(72),r(11)),o=r(13);function a(e){return(a="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)}function s(){var e=c(['\n ha-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 ha-paper-dialog {\n max-height: 100%;\n }\n ha-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 ']);return s=function(){return e},e}function l(){var e=c(['\n \n \n \n
',"
\n
\n \n \n \n
\n "]);return l=function(){return e},e}function c(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e){return function(){var t,r=f(e);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}()){var n=f(this).constructor;t=Reflect.construct(r,arguments,n)}else t=r.apply(this,arguments);return function(e,t){if(t&&("object"===a(t)||"function"==typeof t))return t;return u(e)}(this,t)}}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e){var t,r=g(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function m(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function y(e){return e.decorators&&e.decorators.length}function v(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function b(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function g(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),l=this.toElementFinisherExtras((0,i[o])(s)||s);e=l.element,this.addElementPlacement(e,t),l.finisher&&n.push(l.finisher);var c=l.extras;if(c){for(var p=0;p=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n\n :host {\n display: block;\n @apply --layout-relative;\n }\n\n :host(.is-scrolled:not(:first-child))::before {\n content: \'\';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 1px;\n background: var(--divider-color);\n }\n\n :host(.can-scroll:not(.scrolled-to-bottom):not(:last-child))::after {\n content: \'\';\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 1px;\n background: var(--divider-color);\n }\n\n .scrollable {\n padding: 0 24px;\n\n @apply --layout-scroll;\n @apply --paper-dialog-scrollable;\n }\n\n .fit {\n @apply --layout-fit;\n }\n \n\n
\n \n
\n']);return a=function(){return e},e}Object(i.a)({_template:Object(o.a)(a()),is:"paper-dialog-scrollable",properties:{dialogElement:{type:Object}},get scrollTarget(){return this.$.scrollable},ready:function(){this._ensureTarget(),this.classList.add("no-padding")},attached:function(){this._ensureTarget(),requestAnimationFrame(this.updateScrollState.bind(this))},updateScrollState:function(){this.toggleClass("is-scrolled",this.scrollTarget.scrollTop>0),this.toggleClass("can-scroll",this.scrollTarget.offsetHeight=this.scrollTarget.scrollHeight)},_ensureTarget:function(){this.dialogElement=this.dialogElement||this.parentElement,this.dialogElement&&this.dialogElement.behaviors&&this.dialogElement.behaviors.indexOf(n.b)>=0?(this.dialogElement.sizingTarget=this.scrollTarget,this.scrollTarget.classList.remove("fit")):this.dialogElement&&this.scrollTarget.classList.add("fit")}})},56:function(e,t,r){"use strict";r(5),r(16),r(14),r(30),r(39);var n=document.createElement("template");n.setAttribute("style","display: none;"),n.innerHTML='\n \n',document.head.appendChild(n.content);var i=r(75),o=r(31),a=r(8),s=r(7);function l(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n']);return l=function(){return e},e}Object(a.a)({_template:Object(s.a)(l()),is:"paper-dialog",behaviors:[o.a,i.a],listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},_renderOpened:function(){this.cancelAnimation(),this.playAnimation("entry")},_renderClosed:function(){this.cancelAnimation(),this.playAnimation("exit")},_onNeonAnimationFinish:function(){this.opened?this._finishRenderOpened():this._finishRenderClosed()}});var c=r(60),p=r(70),d=r(9),u={getTabbableNodes:function(e){var t=[];return this._collectTabbableNodes(e,t)?p.a._sortByTabIndex(t):t},_collectTabbableNodes:function(e,t){if(e.nodeType!==Node.ELEMENT_NODE||!p.a._isVisible(e))return!1;var r,n=e,i=p.a._normalizedTabIndex(n),o=i>0;i>=0&&t.push(n),r="content"===n.localName||"slot"===n.localName?Object(d.a)(n).getDistributedNodes():Object(d.a)(n.shadowRoot||n.root||n).children;for(var a=0;ae.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),l=this.toElementFinisherExtras((0,i[o])(s)||s);e=l.element,this.addElementPlacement(e,t),l.finisher&&n.push(l.finisher);var c=l.extras;if(c){for(var p=0;p=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n \n \n
${this.title}
\n
\n \n \n \n \n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyleDialog,\n hassioStyle,\n css`\n ha-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 ha-paper-dialog {\n max-height: 100%;\n }\n ha-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\ndeclare global {\n interface HTMLElementTagNameMap {\n \"dialog-hassio-markdown\": HassioMarkdownDialog;\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 {IronOverlayBehavior} from '@polymer/iron-overlay-behavior/iron-overlay-behavior.js';\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\n\n/**\n Use `Polymer.PaperDialogBehavior` and `paper-dialog-shared-styles.html` to\n implement a Material Design dialog.\n\n For example, if `` implements this behavior:\n\n \n

Header

\n
Dialog body
\n
\n Cancel\n Accept\n
\n
\n\n `paper-dialog-shared-styles.html` provide styles for a header, content area,\n and an action area for buttons. Use the `

` tag for the header and the\n `buttons` class for the action area. You can use the `paper-dialog-scrollable`\n element (in its own repository) if you need a scrolling content area.\n\n Use the `dialog-dismiss` and `dialog-confirm` attributes on interactive\n controls to close the dialog. If the user dismisses the dialog with\n `dialog-confirm`, the `closingReason` will update to include `confirmed:\n true`.\n\n ### Accessibility\n\n This element has `role=\"dialog\"` by default. Depending on the context, it may\n be more appropriate to override this attribute with `role=\"alertdialog\"`.\n\n If `modal` is set, the element will prevent the focus from exiting the\n element. It will also ensure that focus remains in the dialog.\n\n @hero hero.svg\n @demo demo/index.html\n @polymerBehavior PaperDialogBehavior\n */\nexport const PaperDialogBehaviorImpl = {\n\n hostAttributes: {'role': 'dialog', 'tabindex': '-1'},\n\n properties: {\n\n /**\n * If `modal` is true, this implies `no-cancel-on-outside-click`,\n * `no-cancel-on-esc-key` and `with-backdrop`.\n */\n modal: {type: Boolean, value: false},\n\n __readied: {type: Boolean, value: false}\n\n },\n\n observers: ['_modalChanged(modal, __readied)'],\n\n listeners: {'tap': '_onDialogClick'},\n\n /**\n * @return {void}\n */\n ready: function() {\n // Only now these properties can be read.\n this.__prevNoCancelOnOutsideClick = this.noCancelOnOutsideClick;\n this.__prevNoCancelOnEscKey = this.noCancelOnEscKey;\n this.__prevWithBackdrop = this.withBackdrop;\n this.__readied = true;\n },\n\n _modalChanged: function(modal, readied) {\n // modal implies noCancelOnOutsideClick, noCancelOnEscKey and withBackdrop.\n // We need to wait for the element to be ready before we can read the\n // properties values.\n if (!readied) {\n return;\n }\n\n if (modal) {\n this.__prevNoCancelOnOutsideClick = this.noCancelOnOutsideClick;\n this.__prevNoCancelOnEscKey = this.noCancelOnEscKey;\n this.__prevWithBackdrop = this.withBackdrop;\n this.noCancelOnOutsideClick = true;\n this.noCancelOnEscKey = true;\n this.withBackdrop = true;\n } else {\n // If the value was changed to false, let it false.\n this.noCancelOnOutsideClick =\n this.noCancelOnOutsideClick && this.__prevNoCancelOnOutsideClick;\n this.noCancelOnEscKey =\n this.noCancelOnEscKey && this.__prevNoCancelOnEscKey;\n this.withBackdrop = this.withBackdrop && this.__prevWithBackdrop;\n }\n },\n\n _updateClosingReasonConfirmed: function(confirmed) {\n this.closingReason = this.closingReason || {};\n this.closingReason.confirmed = confirmed;\n },\n\n /**\n * Will dismiss the dialog if user clicked on an element with dialog-dismiss\n * or dialog-confirm attribute.\n */\n _onDialogClick: function(event) {\n // Search for the element with dialog-confirm or dialog-dismiss,\n // from the root target until this (excluded).\n var path = dom(event).path;\n for (var i = 0, l = path.indexOf(this); i < l; i++) {\n var target = path[i];\n if (target.hasAttribute &&\n (target.hasAttribute('dialog-dismiss') ||\n target.hasAttribute('dialog-confirm'))) {\n this._updateClosingReasonConfirmed(\n target.hasAttribute('dialog-confirm'));\n this.close();\n event.stopPropagation();\n break;\n }\n }\n }\n\n};\n\n/** @polymerBehavior */\nexport const PaperDialogBehavior =\n [IronOverlayBehavior, PaperDialogBehaviorImpl];\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';\n\nimport {PaperDialogBehaviorImpl} from '@polymer/paper-dialog-behavior/paper-dialog-behavior.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[Dialogs](https://www.google.com/design/spec/components/dialogs.html)\n\n`paper-dialog-scrollable` implements a scrolling area used in a Material Design\ndialog. It shows a divider at the top and/or bottom indicating more content,\ndepending on scroll position. Use this together with elements implementing\n`Polymer.PaperDialogBehavior`.\n\n \n

Header

\n \n Lorem ipsum...\n \n
\n OK\n
\n
\n\nIt shows a top divider after scrolling if it is not the first child in its\nparent container, indicating there is more content above. It shows a bottom\ndivider if it is scrollable and it is not the last child in its parent\ncontainer, indicating there is more content below. The bottom divider is hidden\nif it is scrolled to the bottom.\n\nIf `paper-dialog-scrollable` is not a direct child of the element implementing\n`Polymer.PaperDialogBehavior`, remember to set the `dialogElement`:\n\n \n

Header

\n
\n

Sub-header

\n \n Lorem ipsum...\n \n
\n
\n OK\n
\n
\n\n \n\n### Styling\nThe following custom properties and mixins are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-dialog-scrollable` | Mixin for the scrollable content | {}\n\n@group Paper Elements\n@element paper-dialog-scrollable\n@demo demo/index.html\n@hero hero.svg\n*/\nPolymer({\n _template: html`\n \n\n
\n \n
\n`,\n\n is: 'paper-dialog-scrollable',\n\n properties: {\n\n /**\n * The dialog element that implements `Polymer.PaperDialogBehavior`\n * containing this element.\n * @type {?Node}\n */\n dialogElement: {type: Object}\n\n },\n\n /**\n * Returns the scrolling element.\n */\n get scrollTarget() {\n return this.$.scrollable;\n },\n\n ready: function() {\n this._ensureTarget();\n this.classList.add('no-padding');\n },\n\n attached: function() {\n this._ensureTarget();\n requestAnimationFrame(this.updateScrollState.bind(this));\n },\n\n updateScrollState: function() {\n this.toggleClass('is-scrolled', this.scrollTarget.scrollTop > 0);\n this.toggleClass(\n 'can-scroll',\n this.scrollTarget.offsetHeight < this.scrollTarget.scrollHeight);\n this.toggleClass(\n 'scrolled-to-bottom',\n this.scrollTarget.scrollTop + this.scrollTarget.offsetHeight >=\n this.scrollTarget.scrollHeight);\n },\n\n _ensureTarget: function() {\n // Read parentElement instead of parentNode in order to skip shadowRoots.\n this.dialogElement = this.dialogElement || this.parentElement;\n // Check if dialog implements paper-dialog-behavior. If not, fit\n // scrollTarget to host.\n if (this.dialogElement && this.dialogElement.behaviors &&\n this.dialogElement.behaviors.indexOf(PaperDialogBehaviorImpl) >= 0) {\n this.dialogElement.sizingTarget = this.scrollTarget;\n this.scrollTarget.classList.remove('fit');\n } else if (this.dialogElement) {\n this.scrollTarget.classList.add('fit');\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/*\n### Styling\n\nThe following custom properties and mixins are available for styling.\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-dialog-background-color` | Dialog background color | `--primary-background-color`\n`--paper-dialog-color` | Dialog foreground color | `--primary-text-color`\n`--paper-dialog` | Mixin applied to the dialog | `{}`\n`--paper-dialog-title` | Mixin applied to the title (`

`) element | `{}`\n`--paper-dialog-button-color` | Button area foreground color | `--default-primary-color`\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';\nimport '@polymer/paper-styles/shadow.js';\nconst $_documentContainer = document.createElement('template');\n$_documentContainer.setAttribute('style', 'display: none;');\n\n$_documentContainer.innerHTML = `\n \n`;\n\ndocument.head.appendChild($_documentContainer.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/paper-dialog-behavior/paper-dialog-shared-styles.js';\n\nimport {NeonAnimationRunnerBehavior} from '@polymer/neon-animation/neon-animation-runner-behavior.js';\nimport {PaperDialogBehavior} from '@polymer/paper-dialog-behavior/paper-dialog-behavior.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[Dialogs](https://www.google.com/design/spec/components/dialogs.html)\n\n`` is a dialog with Material Design styling and optional\nanimations when it is opened or closed. It provides styles for a header, content\narea, and an action area for buttons. You can use the\n`` element (in its own repository) if you need a\nscrolling content area. To autofocus a specific child element after opening the\ndialog, give it the `autofocus` attribute. See `Polymer.PaperDialogBehavior` and\n`Polymer.IronOverlayBehavior` for specifics.\n\nFor example, the following code implements a dialog with a header, scrolling\ncontent area and buttons. Focus will be given to the `dialog-confirm` button\nwhen the dialog is opened.\n\n \n

Header

\n \n Lorem ipsum...\n \n
\n Cancel\n Accept\n
\n
\n\n### Styling\n\nSee the docs for `Polymer.PaperDialogBehavior` for the custom properties\navailable for styling this element.\n\n### Animations\n\nSet the `entry-animation` and/or `exit-animation` attributes to add an animation\nwhen the dialog is opened or closed. See the documentation in\n[PolymerElements/neon-animation](https://github.com/PolymerElements/neon-animation)\nfor more info.\n\nFor example:\n\n \n\n \n

Header

\n
Dialog body
\n
\n\n### Accessibility\n\nSee the docs for `Polymer.PaperDialogBehavior` for accessibility features\nimplemented by this element.\n\n@group Paper Elements\n@element paper-dialog\n@hero hero.svg\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n \n`,\n\n is: 'paper-dialog',\n behaviors: [PaperDialogBehavior, NeonAnimationRunnerBehavior],\n listeners: {'neon-animation-finish': '_onNeonAnimationFinish'},\n\n _renderOpened: function() {\n this.cancelAnimation();\n this.playAnimation('entry');\n },\n\n _renderClosed: function() {\n this.cancelAnimation();\n this.playAnimation('exit');\n },\n\n _onNeonAnimationFinish: function() {\n if (this.opened) {\n this._finishRenderOpened();\n } else {\n this._finishRenderClosed();\n }\n }\n});\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\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/*\n Fixes issue with not using shadow dom properly in iron-overlay-behavior/icon-focusables-helper.js\n*/\nimport { IronFocusablesHelper } from \"@polymer/iron-overlay-behavior/iron-focusables-helper\";\nimport { dom } from \"@polymer/polymer/lib/legacy/polymer.dom\";\n\nexport const HaIronFocusablesHelper = {\n /**\n * Returns a sorted array of tabbable nodes, including the root node.\n * It searches the tabbable nodes in the light and shadow dom of the chidren,\n * sorting the result by tabindex.\n * @param {!Node} node\n * @return {!Array}\n */\n getTabbableNodes: function (node) {\n var result = [];\n // If there is at least one element with tabindex > 0, we need to sort\n // the final array by tabindex.\n var needsSortByTabIndex = this._collectTabbableNodes(node, result);\n if (needsSortByTabIndex) {\n return IronFocusablesHelper._sortByTabIndex(result);\n }\n return result;\n },\n\n /**\n * Searches for nodes that are tabbable and adds them to the `result` array.\n * Returns if the `result` array needs to be sorted by tabindex.\n * @param {!Node} node The starting point for the search; added to `result`\n * if tabbable.\n * @param {!Array} result\n * @return {boolean}\n * @private\n */\n _collectTabbableNodes: function (node, result) {\n // If not an element or not visible, no need to explore children.\n if (\n node.nodeType !== Node.ELEMENT_NODE ||\n !IronFocusablesHelper._isVisible(node)\n ) {\n return false;\n }\n var element = /** @type {!HTMLElement} */ (node);\n var tabIndex = IronFocusablesHelper._normalizedTabIndex(element);\n var needsSort = tabIndex > 0;\n if (tabIndex >= 0) {\n result.push(element);\n }\n\n // In ShadowDOM v1, tab order is affected by the order of distrubution.\n // E.g. getTabbableNodes(#root) in ShadowDOM v1 should return [#A, #B];\n // in ShadowDOM v0 tab order is not affected by the distrubution order,\n // in fact getTabbableNodes(#root) returns [#B, #A].\n //
\n // \n // \n // \n // \n // \n // \n //
\n // TODO(valdrin) support ShadowDOM v1 when upgrading to Polymer v2.0.\n var children;\n if (element.localName === \"content\" || element.localName === \"slot\") {\n children = dom(element).getDistributedNodes();\n } else {\n // /////////////////////////\n // Use shadow root if possible, will check for distributed nodes.\n // THIS IS THE CHANGED LINE\n children = dom(element.shadowRoot || element.root || element).children;\n // /////////////////////////\n }\n for (var i = 0; i < children.length; i++) {\n // Ensure method is always invoked to collect tabbable children.\n needsSort = this._collectTabbableNodes(children[i], result) || needsSort;\n }\n return needsSort;\n },\n};\n","import \"@polymer/paper-dialog/paper-dialog\";\nimport type { PaperDialogElement } from \"@polymer/paper-dialog/paper-dialog\";\nimport { mixinBehaviors } from \"@polymer/polymer/lib/legacy/class\";\nimport type { Constructor } from \"../../types\";\nimport { HaIronFocusablesHelper } from \"./ha-iron-focusables-helper\";\n\nconst paperDialogClass = customElements.get(\"paper-dialog\") as Constructor<\n PaperDialogElement\n>;\n\n// behavior that will override existing iron-overlay-behavior and call the fixed implementation\nconst haTabFixBehaviorImpl = {\n get _focusableNodes() {\n return HaIronFocusablesHelper.getTabbableNodes(this);\n },\n};\n\n// paper-dialog that uses the haTabFixBehaviorImpl behvaior\n// export class HaPaperDialog extends paperDialogClass {}\n// @ts-ignore\nexport class HaPaperDialog\n extends mixinBehaviors([haTabFixBehaviorImpl], paperDialogClass)\n implements PaperDialogElement {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-paper-dialog\": HaPaperDialog;\n }\n}\n// @ts-ignore\ncustomElements.define(\"ha-paper-dialog\", HaPaperDialog);\n","import { customElement, property, UpdatingElement } from \"lit-element\";\n// @ts-ignore\n// eslint-disable-next-line import/no-webpack-loader-syntax\nimport markdownWorker from \"workerize-loader!../resources/markdown_worker\";\nimport { fireEvent } from \"../common/dom/fire_event\";\n\nlet worker: any | undefined;\n\n@customElement(\"ha-markdown\")\nclass HaMarkdown extends UpdatingElement {\n @property() public content = \"\";\n\n @property({ type: Boolean }) public allowSvg = false;\n\n protected update(changedProps) {\n super.update(changedProps);\n\n if (!worker) {\n worker = markdownWorker();\n }\n\n this._render();\n }\n\n private async _render() {\n this.innerHTML = await worker.renderMarkdown(\n this.content,\n {\n breaks: true,\n gfm: true,\n tables: true,\n },\n {\n allowSvg: this.allowSvg,\n }\n );\n\n this._resize();\n\n const walker = document.createTreeWalker(\n this,\n 1 /* SHOW_ELEMENT */,\n null,\n false\n );\n\n while (walker.nextNode()) {\n const node = walker.currentNode;\n\n // Open external links in a new window\n if (\n node instanceof HTMLAnchorElement &&\n node.host !== document.location.host\n ) {\n node.target = \"_blank\";\n node.rel = \"noreferrer\";\n\n // protect referrer on external links and deny window.opener access for security reasons\n // (see https://mathiasbynens.github.io/rel-noopener/)\n node.rel = \"noreferrer noopener\";\n\n // Fire a resize event when images loaded to notify content resized\n } else if (node) {\n node.addEventListener(\"load\", this._resize);\n }\n }\n }\n\n private _resize = () => fireEvent(this, \"iron-resize\");\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-markdown\": HaMarkdown;\n }\n}\n","\n\t\t\t\tvar addMethods = require(\"../../node_modules/workerize-loader/dist/rpc-wrapper.js\")\n\t\t\t\tvar methods = [\"renderMarkdown\"]\n\t\t\t\tmodule.exports = function() {\n\t\t\t\t\tvar w = new Worker(__webpack_public_path__ + \"264283c05b3002fb79ff.worker.js\", { name: \"[hash].worker.js\" })\n\t\t\t\t\taddMethods(w, methods)\n\t\t\t\t\t\n\t\t\t\t\treturn w\n\t\t\t\t}\n\t\t\t","export default function addMethods(worker, methods) {\n\tlet c = 0;\n\tlet callbacks = {};\n\tworker.addEventListener('message', (e) => {\n\t\tlet d = e.data;\n\t\tif (d.type!=='RPC') return;\n\t\tif (d.id) {\n\t\t\tlet f = callbacks[d.id];\n\t\t\tif (f) {\n\t\t\t\tdelete callbacks[d.id];\n\t\t\t\tif (d.error) {\n\t\t\t\t\tf[1](Object.assign(Error(d.error.message), d.error));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tf[0](d.result);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tlet evt = document.createEvent('Event');\n\t\t\tevt.initEvent(d.method, false, false);\n\t\t\tevt.data = d.params;\n\t\t\tworker.dispatchEvent(evt);\n\t\t}\n\t});\n\tmethods.forEach( method => {\n\t\tworker[method] = (...params) => new Promise( (a, b) => {\n\t\t\tlet id = ++c;\n\t\t\tcallbacks[id] = [a, b];\n\t\t\tworker.postMessage({ type: 'RPC', id, method, params });\n\t\t});\n\t});\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/supervisor/api/panel/chunk.9b52b3714af8aa55d380.js b/supervisor/api/panel/chunk.9b52b3714af8aa55d380.js new file mode 100644 index 000000000..141d7cef3 --- /dev/null +++ b/supervisor/api/panel/chunk.9b52b3714af8aa55d380.js @@ -0,0 +1,3 @@ +/*! For license information please see chunk.9b52b3714af8aa55d380.js.LICENSE */ +(self.webpackJsonp=self.webpackJsonp||[]).push([[14],[,,,,,,,,,,,,,,,function(t,e,n){"use strict";var i=n(51),r=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],o=["scalar","sequence","mapping"];t.exports=function(t,e){var n,a;if(e=e||{},Object.keys(e).forEach(function(e){if(-1===r.indexOf(e))throw new i('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=(n=e.styleAliases||null,a={},null!==n&&Object.keys(n).forEach(function(t){n[t].forEach(function(e){a[String(e)]=t})}),a),-1===o.indexOf(this.kind))throw new i('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}},,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t){return null==t}t.exports.isNothing=r,t.exports.isObject=function(t){return"object"===i(t)&&null!==t},t.exports.toArray=function(t){return Array.isArray(t)?t:r(t)?[]:[t]},t.exports.repeat=function(t,e){var n,i="";for(n=0;n1||n<0||n>1?h:function(r){function o(t,e,n){return 3*t*(1-n)*(1-n)*n+3*e*(1-n)*n*n+n*n*n}if(r<=0){var a=0;return t>0?a=e/t:!e&&n>0&&(a=i/n),a*r}if(r>=1){var s=0;return n<1?s=(i-1)/(n-1):1==n&&t<1&&(s=(e-1)/(t-1)),1+s*(r-1)}for(var u=0,l=1;u=1)return 1;var i=1/t;return(n+=e*i)-n%i}}function s(t){y||(y=document.createElement("div").style),y.animationTimingFunction="",y.animationTimingFunction=t;var e=y.animationTimingFunction;if(""==e&&i())throw new TypeError(t+" is not a valid value for easing");return e}function u(t){if("linear"==t)return h;var e=_.exec(t);if(e)return o.apply(this,e.slice(1).map(Number));var n=b.exec(t);return n?a(Number(n[1]),{start:p,middle:d,end:m}[n[2]]):g[t]||h}function l(t,e,n){if(null==e)return w;var i=n.delay+t+n.endDelay;return e=Math.min(n.delay+t,i)?A:T}var c="backwards|forwards|both|none".split("|"),f="reverse|alternate|alternate-reverse".split("|"),h=function(t){return t};n.prototype={_setMember:function(e,n){this["_"+e]=n,this._effect&&(this._effect._timingInput[e]=n,this._effect._timing=t.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=t.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(t){this._setMember("delay",t)},get delay(){return this._delay},set endDelay(t){this._setMember("endDelay",t)},get endDelay(){return this._endDelay},set fill(t){this._setMember("fill",t)},get fill(){return this._fill},set iterationStart(t){if((isNaN(t)||t<0)&&i())throw new TypeError("iterationStart must be a non-negative number, received: "+timing.iterationStart);this._setMember("iterationStart",t)},get iterationStart(){return this._iterationStart},set duration(t){if("auto"!=t&&(isNaN(t)||t<0)&&i())throw new TypeError("duration must be non-negative or auto, received: "+t);this._setMember("duration",t)},get duration(){return this._duration},set direction(t){this._setMember("direction",t)},get direction(){return this._direction},set easing(t){this._easingFunction=u(s(t)),this._setMember("easing",t)},get easing(){return this._easing},set iterations(t){if((isNaN(t)||t<0)&&i())throw new TypeError("iterations must be non-negative, received: "+t);this._setMember("iterations",t)},get iterations(){return this._iterations}};var p=1,d=.5,m=0,g={ease:o(.25,.1,.25,1),"ease-in":o(.42,0,1,1),"ease-out":o(0,0,.58,1),"ease-in-out":o(.42,0,.58,1),"step-start":a(1,p),"step-middle":a(1,d),"step-end":a(1,m)},y=null,v="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",_=new RegExp("cubic-bezier\\("+v+","+v+","+v+","+v+"\\)"),b=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,w=0,x=1,A=2,T=3;t.cloneTimingInput=function(t){if("number"==typeof t)return t;var e={};for(var n in t)e[n]=t[n];return e},t.makeTiming=r,t.numericTimingToObject=function(t){return"number"==typeof t&&(t=isNaN(t)?{duration:0}:{duration:t}),t},t.normalizeTimingInput=function(e,n){return r(e=t.numericTimingToObject(e),n)},t.calculateActiveDuration=function(t){return Math.abs(function(t){return 0===t.duration||0===t.iterations?0:t.duration*t.iterations}(t)/t.playbackRate)},t.calculateIterationProgress=function(t,e,n){var i=l(t,e,n),r=function(t,e,n,i,r){switch(i){case x:return"backwards"==e||"both"==e?0:null;case T:return n-r;case A:return"forwards"==e||"both"==e?t:null;case w:return null}}(t,n.fill,e,i,n.delay);if(null===r)return null;var o=function(t,e,n,i,r){var o=r;return 0===t?e!==x&&(o+=n):o+=i/t,o}(n.duration,i,n.iterations,r,n.iterationStart),a=function(t,e,n,i,r,o){var a=t===1/0?e%1:t%1;return 0!==a||n!==A||0===i||0===r&&0!==o||(a=1),a}(o,n.iterationStart,i,n.iterations,r,n.duration),s=function(t,e,n,i){return t===A&&e===1/0?1/0:1===n?Math.floor(i)-1:Math.floor(i)}(i,n.iterations,a,o),u=function(t,e,n){var i=t;if("normal"!==t&&"reverse"!==t){var r=e;"alternate-reverse"===t&&(r+=1),i="normal",r!==1/0&&r%2!=0&&(i="reverse")}return"normal"===i?n:1-n}(n.direction,s,a);return n._easingFunction(u)},t.calculatePhase=l,t.normalizeEasing=s,t.parseEasingFunction=u}(i={}),function(t,e){function n(t,e){return t in u&&u[t][e]||e}function i(t,e,i){if(!function(t){return"display"===t||0===t.lastIndexOf("animation",0)||0===t.lastIndexOf("transition",0)}(t)){var r=o[t];if(r)for(var s in a.style[t]=e,r){var u=r[s],l=a.style[u];i[u]=n(u,l)}else i[t]=n(t,e)}}function r(t){var e=[];for(var n in t)if(!(n in["easing","offset","composite"])){var i=t[n];Array.isArray(i)||(i=[i]);for(var r,o=i.length,a=0;a1)throw new TypeError("Keyframe offsets must be between 0 and 1.")}}else if("composite"==r){if("add"==o||"accumulate"==o)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};if("replace"!=o)throw new TypeError("Invalid composite mode "+o+".")}else o="easing"==r?t.normalizeEasing(o):""+o;i(r,o,n)}return null==n.offset&&(n.offset=null),null==n.easing&&(n.easing="linear"),n}),o=!0,a=-1/0,s=0;s=0&&t.offset<=1}),o||function(){var t=n.length;null==n[t-1].offset&&(n[t-1].offset=1),t>1&&null==n[0].offset&&(n[0].offset=0);for(var e=0,i=n[0].offset,r=1;r=t.applyFrom&&n0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(t){t=+t,isNaN(t)||(e.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-t/this._playbackRate),this._currentTimePending=!1,this._currentTime!=t&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(t,!0),e.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(t){t=+t,isNaN(t)||this._paused||this._idle||(this._startTime=t,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),e.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(t){if(t!=this._playbackRate){var n=this.currentTime;this._playbackRate=t,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),e.applyDirtiedAnimation(this)),null!=n&&(this.currentTime=n)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException("Unable to rewind negative playback rate animation with infinite duration","InvalidStateError");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),e.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,e.applyDirtiedAnimation(this))},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._isFinished=!0,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this._effect._update(null),e.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(t,e){"function"==typeof e&&"finish"==t&&this._finishHandlers.push(e)},removeEventListener:function(t,e){if("finish"==t){var n=this._finishHandlers.indexOf(e);n>=0&&this._finishHandlers.splice(n,1)}},_fireEvents:function(t){if(this._isFinished){if(!this._finishedFlag){var e=new i(this,this._currentTime,t),n=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){n.forEach(function(t){t.call(e.target,e)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(t,e){this._idle||this._paused||(null==this._startTime?e&&(this.startTime=t-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((t-this._startTime)*this.playbackRate)),e&&(this._currentTimePending=!1,this._fireEvents(t))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var t=this._effect._target;return t._activeAnimations||(t._activeAnimations=[]),t._activeAnimations},_markTarget:function(){var t=this._targetAnimations();-1===t.indexOf(this)&&t.push(this)},_unmarkTarget:function(){var t=this._targetAnimations(),e=t.indexOf(this);-1!==e&&t.splice(e,1)}}}(i,r),function(t,e,n){function i(t){var e=l;l=[],ti?n%=i:i%=n;return t*e/(n+i)}(i.length,r.length),l=0;l=1?e:"visible"}]},["visibility"]),function(t,e){function n(t){t=t.trim(),o.fillStyle="#000",o.fillStyle=t;var e=o.fillStyle;if(o.fillStyle="#fff",o.fillStyle=t,e==o.fillStyle){o.fillRect(0,0,1,1);var n=o.getImageData(0,0,1,1).data;o.clearRect(0,0,1,1);var i=n[3]/255;return[n[0]*i,n[1]*i,n[2]*i,i]}}function i(e,n){return[e,n,function(e){function n(t){return Math.max(0,Math.min(255,t))}if(e[3])for(var i=0;i<3;i++)e[i]=Math.round(n(e[i]/e[3]));return e[3]=t.numberToString(t.clamp(0,1,e[3])),"rgba("+e.join(",")+")"}]}var r=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");r.width=r.height=1;var o=r.getContext("2d");t.addPropertiesHandler(n,i,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","fill","flood-color","lighting-color","outline-color","stop-color","stroke","text-decoration-color"]),t.consumeColor=t.consumeParenthesised.bind(null,n),t.mergeColors=i}(r),function(t,e){function n(t){function e(){var e=a.exec(t);o=e?e[0]:void 0}function n(){if("("!==o)return function(){var t=Number(o);return e(),t}();e();var t=r();return")"!==o?NaN:(e(),t)}function i(){for(var t=n();"*"===o||"/"===o;){var i=o;e();var r=n();"*"===i?t*=r:t/=r}return t}function r(){for(var t=i();"+"===o||"-"===o;){var n=o;e();var r=i();"+"===n?t+=r:t-=r}return t}var o,a=/([\+\-\w\.]+|[\(\)\*\/])/g;return e(),r()}function i(t,e){if("0"==(e=e.trim().toLowerCase())&&"px".search(t)>=0)return{px:0};if(/^[^(]*$|^calc/.test(e)){e=e.replace(/calc\(/g,"(");var i={};e=e.replace(t,function(t){return i[t]=null,"U"+t});for(var r="U("+t.source+")",o=e.replace(/[-+]?(\d*\.)?\d+([Ee][-+]?\d+)?/g,"N").replace(new RegExp("N"+r,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),a=[/N\*(D)/g,/(N|D)[*\/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],s=0;s1?"calc("+n+")":n}]}var a="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",s=i.bind(null,new RegExp(a,"g")),u=i.bind(null,new RegExp(a+"|%","g")),l=i.bind(null,/deg|rad|grad|turn/g);t.parseLength=s,t.parseLengthOrPercent=u,t.consumeLengthOrPercent=t.consumeParenthesised.bind(null,u),t.parseAngle=l,t.mergeDimensions=o;var c=t.consumeParenthesised.bind(null,s),f=t.consumeRepeated.bind(void 0,c,/^/),h=t.consumeRepeated.bind(void 0,f,/^,/);t.consumeSizePairList=h;var p=t.mergeNestedRepeated.bind(void 0,r," "),d=t.mergeNestedRepeated.bind(void 0,p,",");t.mergeNonNegativeSizePair=p,t.addPropertiesHandler(function(t){var e=h(t);if(e&&""==e[1])return e[0]},d,["background-size"]),t.addPropertiesHandler(u,r,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),t.addPropertiesHandler(u,o,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","stroke-dashoffset","text-indent","top","vertical-align","word-spacing"])}(r),function(t,e){function n(e){return t.consumeLengthOrPercent(e)||t.consumeToken(/^auto/,e)}function i(e){var i=t.consumeList([t.ignore(t.consumeToken.bind(null,/^rect/)),t.ignore(t.consumeToken.bind(null,/^\(/)),t.consumeRepeated.bind(null,n,/^,/),t.ignore(t.consumeToken.bind(null,/^\)/))],e);if(i&&4==i[0].length)return i[0]}var r=t.mergeWrappedNestedRepeated.bind(null,function(t){return"rect("+t+")"},function(e,n){return"auto"==e||"auto"==n?[!0,!1,function(i){var r=i?e:n;if("auto"==r)return"auto";var o=t.mergeDimensions(r,r);return o[2](o[0])}]:t.mergeDimensions(e,n)},", ");t.parseBox=i,t.mergeBoxes=r,t.addPropertiesHandler(i,r,["clip"])}(r),function(t,e){function n(t){return function(e){var n=0;return t.map(function(t){return t===l?e[n++]:t})}}function i(t){return t}function r(e){if("none"==(e=e.toLowerCase().trim()))return[];for(var n,i=/\s*(\w+)\(([^)]*)\)/g,r=[],o=0;n=i.exec(e);){if(n.index!=o)return;o=n.index+n[0].length;var a=n[1],s=h[a];if(!s)return;var u=n[2].split(","),l=s[0];if(l.length=0&&this._cancelHandlers.splice(n,1)}else u.call(this,t,e)},o}}}(),function(t){var e=document.documentElement,n=null,i=!1;try{var r="0"==getComputedStyle(e).getPropertyValue("opacity")?"1":"0";(n=e.animate({opacity:[r,r]},{duration:1})).currentTime=0,i=getComputedStyle(e).getPropertyValue("opacity")==r}catch(t){}finally{n&&n.cancel()}if(!i){var o=window.Element.prototype.animate;window.Element.prototype.animate=function(e,n){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&e[Symbol.iterator]&&(e=Array.from(e)),Array.isArray(e)||null===e||(e=t.convertToArrayForm(e)),o.call(this,e,n)}}}(i),function(t,e,n){function i(t){var n=e.timeline;n.currentTime=t,n._discardAnimations(),0==n._animations.length?o=!1:requestAnimationFrame(i)}var r=window.requestAnimationFrame;window.requestAnimationFrame=function(t){return r(function(n){e.timeline._updateAnimationsPromises(),t(n),e.timeline._updateAnimationsPromises()})},e.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},e.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){e.animationsWithPromises=e.animationsWithPromises.filter(function(t){return t._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(t){return"finished"!=t.playState&&"idle"!=t.playState})},_play:function(t){var n=new e.Animation(t,this);return this._animations.push(n),e.restartWebAnimationsNextTick(),n._updatePromises(),n._animation.play(),n._updatePromises(),n},play:function(t){return t&&t.remove(),this._play(t)}};var o=!1;e.restartWebAnimationsNextTick=function(){o||(o=!0,requestAnimationFrame(i))};var a=new e.AnimationTimeline;e.timeline=a;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return a}})}catch(t){}try{window.document.timeline=a}catch(t){}}(0,o),function(t,e,n){e.animationsWithPromises=[],e.Animation=function(e,n){if(this.id="",e&&e._id&&(this.id=e._id),this.effect=e,e&&(e._animation=this),!n)throw new Error("Animation with null timeline is not supported");this._timeline=n,this._sequenceNumber=t.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},e.Animation.prototype={_updatePromises:function(){var t=this._oldPlayState,e=this.playState;return this._readyPromise&&e!==t&&("idle"==e?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==t?this._resolveReadyPromise():"pending"==e&&(this._readyPromise=void 0)),this._finishedPromise&&e!==t&&("idle"==e?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==e?this._resolveFinishedPromise():"finished"==t&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var t,n,i,r,o=!!this._animation;o&&(t=this.playbackRate,n=this._paused,i=this.startTime,r=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=e.newUnderlyingAnimationForKeyframeEffect(this.effect),e.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=e.newUnderlyingAnimationForGroup(this.effect),e.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&e.bindAnimationForCustomEffect(this),o&&(1!=t&&(this.playbackRate=t),null!==i?this.startTime=i:null!==r?this.currentTime=r:null!==this._holdTime&&(this.currentTime=this._holdTime),n&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var t=this.effect._timing.delay;this._childAnimations.forEach(function(n){this._arrangeChildren(n,t),this.effect instanceof window.SequenceEffect&&(t+=e.groupChildDuration(n.effect))}.bind(this))}},_setExternalAnimation:function(t){if(this.effect&&this._isGroup)for(var e=0;e\n :host {\n display: inline-block;\n position: relative;\n width: 400px;\n border: 1px solid;\n padding: 2px;\n -moz-appearance: textarea;\n -webkit-appearance: textarea;\n overflow: hidden;\n }\n\n .mirror-text {\n visibility: hidden;\n word-wrap: break-word;\n @apply --iron-autogrow-textarea;\n }\n\n .fit {\n @apply --layout-fit;\n }\n\n textarea {\n position: relative;\n outline: none;\n border: none;\n resize: none;\n background: inherit;\n color: inherit;\n /* see comments in template */\n width: 100%;\n height: 100%;\n font-size: inherit;\n font-family: inherit;\n line-height: inherit;\n text-align: inherit;\n @apply --iron-autogrow-textarea;\n }\n\n textarea::-webkit-input-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n\n textarea:-moz-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n\n textarea::-moz-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n\n textarea:-ms-input-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
\n \n
\n'],['\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
\n \n
\n']);return u=function(){return t},t}Object(o.a)({_template:Object(s.a)(u()),is:"iron-autogrow-textarea",behaviors:[r.a,i.a],properties:{value:{observer:"_valueChanged",type:String,notify:!0},bindValue:{observer:"_bindValueChanged",type:String,notify:!0},rows:{type:Number,value:1,observer:"_updateCached"},maxRows:{type:Number,value:0,observer:"_updateCached"},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,value:!1},inputmode:{type:String},placeholder:{type:String},readonly:{type:String},required:{type:Boolean},minlength:{type:Number},maxlength:{type:Number},label:{type:String}},listeners:{input:"_onInput"},get textarea(){return this.$.textarea},get selectionStart(){return this.$.textarea.selectionStart},get selectionEnd(){return this.$.textarea.selectionEnd},set selectionStart(t){this.$.textarea.selectionStart=t},set selectionEnd(t){this.$.textarea.selectionEnd=t},attached:function(){navigator.userAgent.match(/iP(?:[oa]d|hone)/)&&(this.$.textarea.style.marginLeft="-3px")},validate:function(){var t=this.$.textarea.validity.valid;return t&&(this.required&&""===this.value?t=!1:this.hasValidator()&&(t=r.a.validate.call(this,this.value))),this.invalid=!t,this.fire("iron-input-validate"),t},_bindValueChanged:function(t){this.value=t},_valueChanged:function(t){var e=this.textarea;e&&(e.value!==t&&(e.value=t||0===t?t:""),this.bindValue=t,this.$.mirror.innerHTML=this._valueForMirror(),this.fire("bind-value-changed",{value:this.bindValue}))},_onInput:function(t){var e=Object(a.a)(t).path;this.value=e?e[0].value:t.target.value},_constrain:function(t){var e;for(t=t||[""],e=this.maxRows>0&&t.length>this.maxRows?t.slice(0,this.maxRows):t.slice(0);this.rows>0&&e.length")+" "},_valueForMirror:function(){var t=this.textarea;if(t)return this.tokens=t&&t.value?t.value.replace(/&/gm,"&").replace(/"/gm,""").replace(/'/gm,"'").replace(//gm,">").split("\n"):[""],this._constrain(this.tokens)},_updateCached:function(){this.$.mirror.innerHTML=this._constrain(this.tokens)}})},function(t,e,n){"use strict";var i=n(141);t.exports=i},function(t,e,n){"use strict";var i=n(142),r=n(165);function o(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}t.exports.Type=n(15),t.exports.Schema=n(41),t.exports.FAILSAFE_SCHEMA=n(88),t.exports.JSON_SCHEMA=n(122),t.exports.CORE_SCHEMA=n(121),t.exports.DEFAULT_SAFE_SCHEMA=n(52),t.exports.DEFAULT_FULL_SCHEMA=n(71),t.exports.load=i.load,t.exports.loadAll=i.loadAll,t.exports.safeLoad=i.safeLoad,t.exports.safeLoadAll=i.safeLoadAll,t.exports.dump=r.dump,t.exports.safeDump=r.safeDump,t.exports.YAMLException=n(51),t.exports.MINIMAL_SCHEMA=n(88),t.exports.SAFE_SCHEMA=n(52),t.exports.DEFAULT_SCHEMA=n(71),t.exports.scan=o("scan"),t.exports.parse=o("parse"),t.exports.compose=o("compose"),t.exports.addConstructor=o("addConstructor")},function(t,e,n){"use strict";function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var r=n(40),o=n(51),a=n(143),s=n(52),u=n(71),l=Object.prototype.hasOwnProperty,c=1,f=2,h=3,p=4,d=1,m=2,g=3,y=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,v=/[\x85\u2028\u2029]/,_=/[,\[\]\{\}]/,b=/^(?:!|!!|![a-z\-]+!)$/i,w=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function x(t){return Object.prototype.toString.call(t)}function A(t){return 10===t||13===t}function T(t){return 9===t||32===t}function E(t){return 9===t||32===t||10===t||13===t}function k(t){return 44===t||91===t||93===t||123===t||125===t}function S(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}function C(t){return 48===t?"\0":97===t?"":98===t?"\b":116===t?"\t":9===t?"\t":110===t?"\n":118===t?"\v":102===t?"\f":114===t?"\r":101===t?"":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"…":95===t?" ":76===t?"\u2028":80===t?"\u2029":""}function P(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023))}for(var R=new Array(256),O=new Array(256),N=0;N<256;N++)R[N]=C(N)?1:0,O[N]=C(N);function I(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||u,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function F(t,e){return new o(e,new a(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function L(t,e){throw F(t,e)}function M(t,e){t.onWarning&&t.onWarning.call(null,F(t,e))}var D={YAML:function(t,e,n){var i,r,o;null!==t.version&&L(t,"duplication of %YAML directive"),1!==n.length&&L(t,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&L(t,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),o=parseInt(i[2],10),1!==r&&L(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=o<2,1!==o&&2!==o&&M(t,"unsupported YAML version of the document")},TAG:function(t,e,n){var i,r;2!==n.length&&L(t,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],b.test(i)||L(t,"ill-formed tag handle (first argument) of the TAG directive"),l.call(t.tagMap,i)&&L(t,'there is a previously declared suffix for "'+i+'" tag handle'),w.test(r)||L(t,"ill-formed tag prefix (second argument) of the TAG directive"),t.tagMap[i]=r}};function j(t,e,n,i){var r,o,a,s;if(e1&&(t.result+=r.repeat("\n",e-1))}function W(t,e){var n,i,r=t.tag,o=t.anchor,a=[],s=!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=a),i=t.input.charCodeAt(t.position);0!==i&&45===i&&E(t.input.charCodeAt(t.position+1));)if(s=!0,t.position++,z(t,!0,-1)&&t.lineIndent<=e)a.push(null),i=t.input.charCodeAt(t.position);else if(n=t.line,G(t,e,h,!1,!0),a.push(t.result),z(t,!0,-1),i=t.input.charCodeAt(t.position),(t.line===n||t.lineIndent>e)&&0!==i)L(t,"bad indentation of a sequence entry");else if(t.lineIndente?x=1:t.lineIndent===e?x=0:t.lineIndente?x=1:t.lineIndent===e?x=0:t.lineIndente)&&(G(t,e,p,!0,r)&&(y?m=t.result:g=t.result),y||(U(t,c,h,d,m,g,o,a),d=m=g=null),z(t,!0,-1),s=t.input.charCodeAt(t.position)),t.lineIndent>e&&0!==s)L(t,"bad indentation of a mapping entry");else if(t.lineIndent=0))break;0===o?L(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?L(t,"repeat of an indentation width identifier"):(f=e+o-1,c=!0)}if(T(a)){do{a=t.input.charCodeAt(++t.position)}while(T(a));if(35===a)do{a=t.input.charCodeAt(++t.position)}while(!A(a)&&0!==a)}for(;0!==a;){for(Y(t),t.lineIndent=0,a=t.input.charCodeAt(t.position);(!c||t.lineIndentf&&(f=t.lineIndent),A(a))h++;else{if(t.lineIndent0){for(r=a,o=0;r>0;r--)(a=S(s=t.input.charCodeAt(++t.position)))>=0?o=(o<<4)+a:L(t,"expected hexadecimal character");t.result+=P(o),t.position++}else L(t,"unknown escape sequence");n=i=t.position}else A(s)?(j(t,n,i,!0),q(t,z(t,!1,e)),n=i=t.position):t.position===t.lineStart&&$(t)?L(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}L(t,"unexpected end of the stream within a double quoted scalar")}(t,b)?N=!0:!function(t){var e,n,i;if(42!==(i=t.input.charCodeAt(t.position)))return!1;for(i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!E(i)&&!k(i);)i=t.input.charCodeAt(++t.position);return t.position===e&&L(t,"name of an alias node must contain at least one character"),n=t.input.slice(e,t.position),t.anchorMap.hasOwnProperty(n)||L(t,'unidentified alias "'+n+'"'),t.result=t.anchorMap[n],z(t,!0,-1),!0}(t)?function(t,e,n){var i,r,o,a,s,u,l,c,f=t.kind,h=t.result;if(E(c=t.input.charCodeAt(t.position))||k(c)||35===c||38===c||42===c||33===c||124===c||62===c||39===c||34===c||37===c||64===c||96===c)return!1;if((63===c||45===c)&&(E(i=t.input.charCodeAt(t.position+1))||n&&k(i)))return!1;for(t.kind="scalar",t.result="",r=o=t.position,a=!1;0!==c;){if(58===c){if(E(i=t.input.charCodeAt(t.position+1))||n&&k(i))break}else if(35===c){if(E(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&$(t)||n&&k(c))break;if(A(c)){if(s=t.line,u=t.lineStart,l=t.lineIndent,z(t,!1,-1),t.lineIndent>=e){a=!0,c=t.input.charCodeAt(t.position);continue}t.position=o,t.line=s,t.lineStart=u,t.lineIndent=l;break}}a&&(j(t,r,o,!1),q(t,t.line-s),r=o=t.position,a=!1),T(c)||(o=t.position+1),c=t.input.charCodeAt(++t.position)}return j(t,r,o,!1),!!t.result||(t.kind=f,t.result=h,!1)}(t,b,c===n)&&(N=!0,null===t.tag&&(t.tag="?")):(N=!0,null===t.tag&&null===t.anchor||L(t,"alias node should not have any properties")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===x&&(N=u&&W(t,w))),null!==t.tag&&"!"!==t.tag)if("?"===t.tag){for(y=0,v=t.implicitTypes.length;y tag; it should be "'+_.kind+'", not "'+t.kind+'"'),_.resolve(t.result)?(t.result=_.construct(t.result),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):L(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):L(t,"unknown tag !<"+t.tag+">");return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||N}function V(t){var e,n,i,r,o=t.position,a=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};0!==(r=t.input.charCodeAt(t.position))&&(z(t,!0,-1),r=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==r));){for(a=!0,r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!E(r);)r=t.input.charCodeAt(++t.position);for(i=[],(n=t.input.slice(e,t.position)).length<1&&L(t,"directive name must not be less than one character in length");0!==r;){for(;T(r);)r=t.input.charCodeAt(++t.position);if(35===r){do{r=t.input.charCodeAt(++t.position)}while(0!==r&&!A(r));break}if(A(r))break;for(e=t.position;0!==r&&!E(r);)r=t.input.charCodeAt(++t.position);i.push(t.input.slice(e,t.position))}0!==r&&Y(t),l.call(D,n)?D[n](t,n,i):M(t,'unknown document directive "'+n+'"')}z(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,z(t,!0,-1)):a&&L(t,"directives end mark is expected"),G(t,t.lineIndent-1,p,!1,!0),z(t,!0,-1),t.checkLineBreaks&&v.test(t.input.slice(o,t.position))&&M(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&$(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,z(t,!0,-1)):t.position0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(r-1));)if(r-=1,this.position-r>e/2-1){n=" ... ",r+=5;break}for(o="",a=this.position;ae/2-1){o=" ... ",a-=5;break}return s=this.buffer.slice(r,a),i.repeat(" ",t)+n+s+o+"\n"+i.repeat(" ",t+this.position-r+n.length)+"^"},r.prototype.toString=function(t){var e,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),t||(e=this.getSnippet())&&(n+=":\n"+e),n},t.exports=r},function(t,e,n){"use strict";var i=n(15);t.exports=new i("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return null!==t?t:""}})},function(t,e,n){"use strict";var i=n(15);t.exports=new i("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return null!==t?t:[]}})},function(t,e,n){"use strict";var i=n(15);t.exports=new i("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return null!==t?t:{}}})},function(t,e,n){"use strict";var i=n(15);t.exports=new i("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)},construct:function(){return null},predicate:function(t){return null===t},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},function(t,e,n){"use strict";var i=n(15);t.exports=new i("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)},construct:function(t){return"true"===t||"True"===t||"TRUE"===t},predicate:function(t){return"[object Boolean]"===Object.prototype.toString.call(t)},represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})},function(t,e,n){"use strict";var i=n(40),r=n(15);function o(t){return 48<=t&&t<=55}function a(t){return 48<=t&&t<=57}t.exports=new r("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,n,i=t.length,r=0,s=!1;if(!i)return!1;if("-"!==(e=t[r])&&"+"!==e||(e=t[++r]),"0"===e){if(r+1===i)return!0;if("b"===(e=t[++r])){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},function(t,e,n){"use strict";var i=n(40),r=n(15),o=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var a=/^[-+]?[0-9]+e/;t.exports=new r("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return null!==t&&!(!o.test(t)||"_"===t[t.length-1])},construct:function(t){var e,n,i,r;return n="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,r=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(t){r.unshift(parseFloat(t,10))}),e=0,i=1,r.forEach(function(t){e+=t*i,i*=60}),n*e):n*parseFloat(e,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||i.isNegativeZero(t))},represent:function(t,e){var n;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(i.isNegativeZero(t))return"-0.0";return n=t.toString(10),a.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},function(t,e,n){"use strict";var i=n(15),r=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),o=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");t.exports=new i("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==r.exec(t)||null!==o.exec(t))},construct:function(t){var e,n,i,a,s,u,l,c,f=0,h=null;if(null===(e=r.exec(t))&&(e=o.exec(t)),null===e)throw new Error("Date resolve error");if(n=+e[1],i=+e[2]-1,a=+e[3],!e[4])return new Date(Date.UTC(n,i,a));if(s=+e[4],u=+e[5],l=+e[6],e[7]){for(f=e[7].slice(0,3);f.length<3;)f+="0";f=+f}return e[9]&&(h=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(h=-h)),c=new Date(Date.UTC(n,i,a,s,u,l,f)),h&&c.setTime(c.getTime()-h),c},instanceOf:Date,represent:function(t){return t.toISOString()}})},function(t,e,n){"use strict";var i=n(15);t.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}})},function(t,e,n){"use strict";var i;try{i=n(154).Buffer}catch(a){}var r=n(15),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";t.exports=new r("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,n,i=0,r=t.length,a=o;for(n=0;n64)){if(e<0)return!1;i+=6}return i%8==0},construct:function(t){var e,n,r=t.replace(/[\r\n=]/g,""),a=r.length,s=o,u=0,l=[];for(e=0;e>16&255),l.push(u>>8&255),l.push(255&u)),u=u<<6|s.indexOf(r.charAt(e));return 0==(n=a%4*6)?(l.push(u>>16&255),l.push(u>>8&255),l.push(255&u)):18===n?(l.push(u>>10&255),l.push(u>>2&255)):12===n&&l.push(u>>4&255),i?i.from?i.from(l):new i(l):l},predicate:function(t){return i&&i.isBuffer(t)},represent:function(t){var e,n,i="",r=0,a=t.length,s=o;for(e=0;e>18&63],i+=s[r>>12&63],i+=s[r>>6&63],i+=s[63&r]),r=(r<<8)+t[e];return 0==(n=a%3)?(i+=s[r>>18&63],i+=s[r>>12&63],i+=s[r>>6&63],i+=s[63&r]):2===n?(i+=s[r>>10&63],i+=s[r>>4&63],i+=s[r<<2&63],i+=s[64]):1===n&&(i+=s[r>>2&63],i+=s[r<<4&63],i+=s[64],i+=s[64]),i}})},function(t,e,n){"use strict";(function(t){var i=n(156),r=n(157),o=n(158);function a(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(t,e){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|t}function d(t,e){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return U(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Y(t).length;default:if(i)return U(t).length;e=(""+e).toLowerCase(),i=!0}}function m(t,e,n){var i=t[e];t[e]=t[n],t[n]=i}function g(t,e,n,i,r){if(0===t.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=r?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(r)return-1;n=t.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof e&&(e=u.from(e,i)),u.isBuffer(e))return 0===e.length?-1:y(t,e,n,i,r);if("number"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):y(t,[e],n,i,r);throw new TypeError("val must be string, number or Buffer")}function y(t,e,n,i,r){var o,a=1,s=t.length,u=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,n/=2}function l(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(r){var c=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){for(var f=!0,h=0;hr&&(i=r):i=r;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var a=0;a>8,r=n%256,o.push(r),o.push(i);return o}(e,t.length-n),t,n,i)}function T(t,e,n){return 0===e&&n===t.length?i.fromByteArray(t):i.fromByteArray(t.slice(e,n))}function E(t,e,n){n=Math.min(t.length,n);for(var i=[],r=e;r239?4:l>223?3:l>191?2:1;if(r+f<=n)switch(f){case 1:l<128&&(c=l);break;case 2:128==(192&(o=t[r+1]))&&(u=(31&l)<<6|63&o)>127&&(c=u);break;case 3:o=t[r+1],a=t[r+2],128==(192&o)&&128==(192&a)&&(u=(15&l)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:o=t[r+1],a=t[r+2],s=t[r+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&l)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(c=u)}null===c?(c=65533,f=1):c>65535&&(c-=65536,i.push(c>>>10&1023|55296),c=56320|1023&c),i.push(c),r+=f}return function(t){var e=t.length;if(e<=k)return String.fromCharCode.apply(String,t);var n="",i=0;for(;ithis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return P(this,e,n);case"utf8":case"utf-8":return E(this,e,n);case"ascii":return S(this,e,n);case"latin1":case"binary":return C(this,e,n);case"base64":return T(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,n);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}.apply(this,arguments)},u.prototype.equals=function(t){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===u.compare(this,t)},u.prototype.inspect=function(){var t="",n=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),""},u.prototype.compare=function(t,e,n,i,r){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),e<0||n>t.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&e>=n)return 0;if(i>=r)return-1;if(e>=n)return 1;if(this===t)return 0;for(var o=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(e>>>=0),s=Math.min(o,a),l=this.slice(i,r),c=t.slice(e,n),f=0;fr)&&(n=r),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return v(this,t,e,n);case"utf8":case"utf-8":return _(this,t,e,n);case"ascii":return b(this,t,e,n);case"latin1":case"binary":return w(this,t,e,n);case"base64":return x(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var k=4096;function S(t,e,n){var i="";n=Math.min(t.length,n);for(var r=e;ri)&&(n=i);for(var r="",o=e;on)throw new RangeError("Trying to access beyond buffer length")}function N(t,e,n,i,r,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||et.length)throw new RangeError("Index out of range")}function I(t,e,n,i){e<0&&(e=65535+e+1);for(var r=0,o=Math.min(t.length-n,2);r>>8*(i?r:1-r)}function F(t,e,n,i){e<0&&(e=4294967295+e+1);for(var r=0,o=Math.min(t.length-n,4);r>>8*(i?r:3-r)&255}function L(t,e,n,i,r,o){if(n+i>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function M(t,e,n,i,o){return o||L(t,0,n,4),r.write(t,e,n,i,23,4),n+4}function D(t,e,n,i,o){return o||L(t,0,n,8),r.write(t,e,n,i,52,8),n+8}u.prototype.slice=function(t,e){var n,i=this.length;if((t=~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),(e=void 0===e?i:~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),e0&&(r*=256);)i+=this[t+--e]*r;return i},u.prototype.readUInt8=function(t,e){return e||O(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return e||O(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return e||O(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return e||O(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return e||O(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||O(t,e,this.length);for(var i=this[t],r=1,o=0;++o=(r*=128)&&(i-=Math.pow(2,8*e)),i},u.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||O(t,e,this.length);for(var i=e,r=1,o=this[t+--i];i>0&&(r*=256);)o+=this[t+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return e||O(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){e||O(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(t,e){e||O(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(t,e){return e||O(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return e||O(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return e||O(t,4,this.length),r.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return e||O(t,4,this.length),r.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return e||O(t,8,this.length),r.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return e||O(t,8,this.length),r.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,n,i){(t=+t,e|=0,n|=0,i)||N(this,t,e,n,Math.pow(2,8*n)-1,0);var r=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+r]=t/o&255;return e+n},u.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):I(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):I(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):F(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):F(this,t,e,!1),e+4},u.prototype.writeIntLE=function(t,e,n,i){if(t=+t,e|=0,!i){var r=Math.pow(2,8*n-1);N(this,t,e,n,r-1,-r)}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+n},u.prototype.writeIntBE=function(t,e,n,i){if(t=+t,e|=0,!i){var r=Math.pow(2,8*n-1);N(this,t,e,n,r-1,-r)}var o=n-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+n},u.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):I(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):I(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):F(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):F(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,n){return M(this,t,e,!0,n)},u.prototype.writeFloatBE=function(t,e,n){return M(this,t,e,!1,n)},u.prototype.writeDoubleLE=function(t,e,n){return D(this,t,e,!0,n)},u.prototype.writeDoubleBE=function(t,e,n){return D(this,t,e,!1,n)},u.prototype.copy=function(t,e,n,i){if(n||(n=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e=0;--r)t[r+e]=this[r+n];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(r=0;r>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&n<57344){if(!r){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(e-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(e-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function Y(t){return i.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(j,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function z(t,e,n,i){for(var r=0;r=e.length||r>=t.length);++r)e[r+n]=t[r];return r}}).call(this,n(155))},function(t,e){function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(r){"object"===("undefined"==typeof window?"undefined":n(window))&&(i=window)}t.exports=i},function(t,e,n){"use strict";e.byteLength=function(t){var e=l(t),n=e[0],i=e[1];return 3*(n+i)/4-i},e.toByteArray=function(t){for(var e,n=l(t),i=n[0],a=n[1],s=new o(function(t,e,n){return 3*(e+n)/4-n}(0,i,a)),u=0,c=a>0?i-4:i,f=0;f>16&255,s[u++]=e>>8&255,s[u++]=255&e;2===a&&(e=r[t.charCodeAt(f)]<<2|r[t.charCodeAt(f+1)]>>4,s[u++]=255&e);1===a&&(e=r[t.charCodeAt(f)]<<10|r[t.charCodeAt(f+1)]<<4|r[t.charCodeAt(f+2)]>>2,s[u++]=e>>8&255,s[u++]=255&e);return s},e.fromByteArray=function(t){for(var e,n=t.length,r=n%3,o=[],a=0,s=n-r;as?s:a+16383));1===r?(e=t[n-1],o.push(i[e>>2]+i[e<<4&63]+"==")):2===r&&(e=(t[n-2]<<8)+t[n-1],o.push(i[e>>10]+i[e>>4&63]+i[e<<2&63]+"="));return o.join("")};for(var i=[],r=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function c(t,e,n){for(var r,o,a=[],s=e;s>18&63]+i[o>>12&63]+i[o>>6&63]+i[63&o]);return a.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,n,i,r){var o,a,s=8*r-i-1,u=(1<>1,c=-7,f=n?r-1:0,h=n?-1:1,p=t[e+f];for(f+=h,o=p&(1<<-c)-1,p>>=-c,c+=s;c>0;o=256*o+t[e+f],f+=h,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=i;c>0;a=256*a+t[e+f],f+=h,c-=8);if(0===o)o=1-l;else{if(o===u)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,i),o-=l}return(p?-1:1)*a*Math.pow(2,o-i)},e.write=function(t,e,n,i,r,o){var a,s,u,l=8*o-r-1,c=(1<>1,h=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=i?0:o-1,d=i?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+f>=1?h/u:h*Math.pow(2,1-f))*u>=2&&(a++,u/=2),a+f>=c?(s=0,a=c):a+f>=1?(s=(e*u-1)*Math.pow(2,r),a+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,r),a=0));r>=8;t[n+p]=255&s,p+=d,s/=256,r-=8);for(a=a<0;t[n+p]=255&a,p+=d,a/=256,l-=8);t[n+p-d]|=128*m}},function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},function(t,e,n){"use strict";var i=n(15),r=Object.prototype.hasOwnProperty,o=Object.prototype.toString;t.exports=new i("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,n,i,a,s,u=[],l=t;for(e=0,n=l.length;e3)return!1;if("/"!==e[e.length-i.length-1])return!1}return!0},construct:function(t){var e=t,n=/\/([gim]*)$/.exec(t),i="";return"/"===e[0]&&(n&&(i=n[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)},predicate:function(t){return"[object RegExp]"===Object.prototype.toString.call(t)},represent:function(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}})},function(t,e,n){"use strict";var i;try{i=n(2)}catch(o){"undefined"!=typeof window&&(i=window.esprima)}var r=n(15);t.exports=new r("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(t){if(null===t)return!1;try{var e="("+t+")",n=i.parse(e,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&("ArrowFunctionExpression"===n.body[0].expression.type||"FunctionExpression"===n.body[0].expression.type)}catch(r){return!1}},construct:function(t){var e,n="("+t+")",r=i.parse(n,{range:!0}),o=[];if("Program"!==r.type||1!==r.body.length||"ExpressionStatement"!==r.body[0].type||"ArrowFunctionExpression"!==r.body[0].expression.type&&"FunctionExpression"!==r.body[0].expression.type)throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(t){o.push(t.name)}),e=r.body[0].expression.body.range,"BlockStatement"===r.body[0].expression.body.type?new Function(o,n.slice(e[0]+1,e[1]-1)):new Function(o,"return "+n.slice(e[0],e[1]))},predicate:function(t){return"[object Function]"===Object.prototype.toString.call(t)},represent:function(t){return t.toString()}})},function(t,e,n){"use strict";function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var r=n(40),o=n(51),a=n(71),s=n(52),u=Object.prototype.toString,l=Object.prototype.hasOwnProperty,c=9,f=10,h=32,p=33,d=34,m=35,g=37,y=38,v=39,_=42,b=44,w=45,x=58,A=62,T=63,E=64,k=91,S=93,C=96,P=123,R=124,O=125,N={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},I=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function F(t){var e,n,i;if(e=t.toString(16).toUpperCase(),t<=255)n="x",i=2;else if(t<=65535)n="u",i=4;else{if(!(t<=4294967295))throw new o("code point within a string may not be greater than 0xFFFFFFFF");n="U",i=8}return"\\"+n+r.repeat("0",i-e.length)+e}function L(t){this.schema=t.schema||a,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=r.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=function(t,e){var n,i,r,o,a,s,u;if(null===e)return{};for(n={},r=0,o=(i=Object.keys(e)).length;ri&&" "!==t[h+1],h=o);else if(!B(a))return H;N=N&&U(a)}l=l||c&&o-h-1>i&&" "!==t[h+1]}return u||l?n>9&&Y(t)?H:l?W:q:N&&!r(t)?z:$}function G(t,e,n,i){t.dump=function(){if(0===e.length)return"''";if(!t.noCompatMode&&-1!==I.indexOf(e))return"'"+e+"'";var r=t.indent*Math.max(1,n),a=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-r),s=i||t.flowLevel>-1&&n>=t.flowLevel;switch(K(e,s,t.indent,a,function(e){return function(t,e){var n,i;for(n=0,i=t.implicitTypes.length;n"+V(e,t.indent)+J(M(function(t,e){var n,i,r=/(\n+)([^\n]*)/g,o=(s=t.indexOf("\n"),s=-1!==s?s:t.length,r.lastIndex=s,X(t.slice(0,s),e)),a="\n"===t[0]||" "===t[0];var s;for(;i=r.exec(t);){var u=i[1],l=i[2];n=" "===l[0],o+=u+(a||n||""===l?"":"\n")+X(l,e),a=n}return o}(e,a),r));case H:return'"'+function(t){for(var e,n,i,r="",o=0;o=55296&&e<=56319&&(n=t.charCodeAt(o+1))>=56320&&n<=57343?(r+=F(1024*(e-55296)+n-56320+65536),o++):(i=N[e],r+=!i&&B(e)?t[o]:i||F(e));return r}(e)+'"';default:throw new o("impossible error: invalid scalar style")}}()}function V(t,e){var n=Y(t)?String(e):"",i="\n"===t[t.length-1];return n+(i&&("\n"===t[t.length-2]||"\n"===t)?"+":i?"":"-")+"\n"}function J(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function X(t,e){if(""===t||" "===t[0])return t;for(var n,i,r=/ [^ ]/g,o=0,a=0,s=0,u="";n=r.exec(t);)(s=n.index)-o>e&&(i=a>o?a:s,u+="\n"+t.slice(o,i),o=i+1),a=s;return u+="\n",t.length-o>e&&a>o?u+=t.slice(o,a)+"\n"+t.slice(a+1):u+=t.slice(o),u.slice(1)}function Z(t,e,n){var r,a,s,c,f,h;for(s=0,c=(a=n?t.explicitTypes:t.implicitTypes).length;s tag resolver accepts not "'+h+'" style');r=f.represent[h](e,h)}t.dump=r}return!0}return!1}function Q(t,e,n,i,r,a){t.tag=null,t.dump=n,Z(t,n,!1)||Z(t,n,!0);var s=u.call(t.dump);i&&(i=t.flowLevel<0||t.flowLevel>e);var l,c,h="[object Object]"===s||"[object Array]"===s;if(h&&(c=-1!==(l=t.duplicates.indexOf(n))),(null!==t.tag&&"?"!==t.tag||c||2!==t.indent&&e>0)&&(r=!1),c&&t.usedDuplicates[l])t.dump="*ref_"+l;else{if(h&&c&&!t.usedDuplicates[l]&&(t.usedDuplicates[l]=!0),"[object Object]"===s)i&&0!==Object.keys(t.dump).length?(!function(t,e,n,i){var r,a,s,u,l,c,h="",p=t.tag,d=Object.keys(n);if(!0===t.sortKeys)d.sort();else if("function"==typeof t.sortKeys)d.sort(t.sortKeys);else if(t.sortKeys)throw new o("sortKeys must be a boolean or a function");for(r=0,a=d.length;r1024)&&(t.dump&&f===t.dump.charCodeAt(0)?c+="?":c+="? "),c+=t.dump,l&&(c+=D(t,e)),Q(t,e+1,u,!0,l)&&(t.dump&&f===t.dump.charCodeAt(0)?c+=":":c+=": ",h+=c+=t.dump));t.tag=p,t.dump=h||"{}"}(t,e,t.dump,r),c&&(t.dump="&ref_"+l+t.dump)):(!function(t,e,n){var i,r,o,a,s,u="",l=t.tag,c=Object.keys(n);for(i=0,r=c.length;i1024&&(s+="? "),s+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Q(t,e,a,!1,!1)&&(u+=s+=t.dump));t.tag=l,t.dump="{"+u+"}"}(t,e,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump));else if("[object Array]"===s){var p=t.noArrayIndent&&e>0?e-1:e;i&&0!==t.dump.length?(!function(t,e,n,i){var r,o,a="",s=t.tag;for(r=0,o=n.length;r "+t.dump)}return!0}function tt(t,e){var n,r,o=[],a=[];for(function t(e,n,r){var o,a,s;if(null!==e&&"object"===i(e))if(-1!==(a=n.indexOf(e)))-1===r.indexOf(a)&&r.push(a);else if(n.push(e),Array.isArray(e))for(a=0,s=e.length;a\n :host {\n display: block;\n position: absolute;\n outline: none;\n z-index: 1002;\n -moz-user-select: none;\n -ms-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n cursor: default;\n }\n\n #tooltip {\n display: block;\n outline: none;\n @apply --paper-font-common-base;\n font-size: 10px;\n line-height: 1;\n background-color: var(--paper-tooltip-background, #616161);\n color: var(--paper-tooltip-text-color, white);\n padding: 8px;\n border-radius: 2px;\n @apply --paper-tooltip;\n }\n\n @keyframes keyFrameScaleUp {\n 0% {\n transform: scale(0.0);\n }\n 100% {\n transform: scale(1.0);\n }\n }\n\n @keyframes keyFrameScaleDown {\n 0% {\n transform: scale(1.0);\n }\n 100% {\n transform: scale(0.0);\n }\n }\n\n @keyframes keyFrameFadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: var(--paper-tooltip-opacity, 0.9);\n }\n }\n\n @keyframes keyFrameFadeOutOpacity {\n 0% {\n opacity: var(--paper-tooltip-opacity, 0.9);\n }\n 100% {\n opacity: 0;\n }\n }\n\n @keyframes keyFrameSlideDownIn {\n 0% {\n transform: translateY(-2000px);\n opacity: 0;\n }\n 10% {\n opacity: 0.2;\n }\n 100% {\n transform: translateY(0);\n opacity: var(--paper-tooltip-opacity, 0.9);\n }\n }\n\n @keyframes keyFrameSlideDownOut {\n 0% {\n transform: translateY(0);\n opacity: var(--paper-tooltip-opacity, 0.9);\n }\n 10% {\n opacity: 0.2;\n }\n 100% {\n transform: translateY(-2000px);\n opacity: 0;\n }\n }\n\n .fade-in-animation {\n opacity: 0;\n animation-delay: var(--paper-tooltip-delay-in, 500ms);\n animation-name: keyFrameFadeInOpacity;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n animation-duration: var(--paper-tooltip-duration-in, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .fade-out-animation {\n opacity: var(--paper-tooltip-opacity, 0.9);\n animation-delay: var(--paper-tooltip-delay-out, 0ms);\n animation-name: keyFrameFadeOutOpacity;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n animation-duration: var(--paper-tooltip-duration-out, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .scale-up-animation {\n transform: scale(0);\n opacity: var(--paper-tooltip-opacity, 0.9);\n animation-delay: var(--paper-tooltip-delay-in, 500ms);\n animation-name: keyFrameScaleUp;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n animation-duration: var(--paper-tooltip-duration-in, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .scale-down-animation {\n transform: scale(1);\n opacity: var(--paper-tooltip-opacity, 0.9);\n animation-delay: var(--paper-tooltip-delay-out, 500ms);\n animation-name: keyFrameScaleDown;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n animation-duration: var(--paper-tooltip-duration-out, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .slide-down-animation {\n transform: translateY(-2000px);\n opacity: 0;\n animation-delay: var(--paper-tooltip-delay-out, 500ms);\n animation-name: keyFrameSlideDownIn;\n animation-iteration-count: 1;\n animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);\n animation-duration: var(--paper-tooltip-duration-out, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .slide-down-animation-out {\n transform: translateY(0);\n opacity: var(--paper-tooltip-opacity, 0.9);\n animation-delay: var(--paper-tooltip-delay-out, 500ms);\n animation-name: keyFrameSlideDownOut;\n animation-iteration-count: 1;\n animation-timing-function: cubic-bezier(0.4, 0.0, 1, 1);\n animation-duration: var(--paper-tooltip-duration-out, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .cancel-animation {\n animation-delay: -30s !important;\n }\n\n /* Thanks IE 10. */\n\n .hidden {\n display: none !important;\n }\n \n\n \n']);return a=function(){return t},t}Object(i.a)({_template:Object(o.a)(a()),is:"paper-tooltip",hostAttributes:{role:"tooltip",tabindex:-1},properties:{for:{type:String,observer:"_findTarget"},manualMode:{type:Boolean,value:!1,observer:"_manualModeChanged"},position:{type:String,value:"bottom"},fitToVisibleBounds:{type:Boolean,value:!1},offset:{type:Number,value:14},marginTop:{type:Number,value:14},animationDelay:{type:Number,value:500,observer:"_delayChange"},animationEntry:{type:String,value:""},animationExit:{type:String,value:""},animationConfig:{type:Object,value:function(){return{entry:[{name:"fade-in-animation",node:this,timing:{delay:0}}],exit:[{name:"fade-out-animation",node:this}]}}},_showing:{type:Boolean,value:!1}},listeners:{webkitAnimationEnd:"_onAnimationEnd"},get target(){var t=Object(r.a)(this).parentNode,e=Object(r.a)(this).getOwnerRoot();return this.for?Object(r.a)(e).querySelector("#"+this.for):t.nodeType==Node.DOCUMENT_FRAGMENT_NODE?e.host:t},attached:function(){this._findTarget()},detached:function(){this.manualMode||this._removeListeners()},playAnimation:function(t){"entry"===t?this.show():"exit"===t&&this.hide()},cancelAnimation:function(){this.$.tooltip.classList.add("cancel-animation")},show:function(){if(!this._showing){if(""===Object(r.a)(this).textContent.trim()){for(var t=!0,e=Object(r.a)(this).getEffectiveChildNodes(),n=0;nwindow.innerWidth?(this.style.right="0px",this.style.left="auto"):(this.style.left=Math.max(0,e)+"px",this.style.right="auto"),i.top+n+o.height>window.innerHeight?(this.style.bottom=i.height-l+t+"px",this.style.top="auto"):(this.style.top=Math.max(-i.top,n)+"px",this.style.bottom="auto")):(this.style.left=e+"px",this.style.top=n+"px")}},_addListeners:function(){this._target&&(this.listen(this._target,"mouseenter","show"),this.listen(this._target,"focus","show"),this.listen(this._target,"mouseleave","hide"),this.listen(this._target,"blur","hide"),this.listen(this._target,"tap","hide")),this.listen(this.$.tooltip,"animationend","_onAnimationEnd"),this.listen(this,"mouseenter","hide")},_findTarget:function(){this.manualMode||this._removeListeners(),this._target=this.target,this.manualMode||this._addListeners()},_delayChange:function(t){500!==t&&this.updateStyles({"--paper-tooltip-delay-in":t+"ms"})},_manualModeChanged:function(){this.manualMode?this._removeListeners():this._addListeners()},_cancelAnimation:function(){this.$.tooltip.classList.remove(this._getAnimationType("entry")),this.$.tooltip.classList.remove(this._getAnimationType("exit")),this.$.tooltip.classList.remove("cancel-animation"),this.$.tooltip.classList.add("hidden")},_onAnimationFinish:function(){this._showing&&(this.$.tooltip.classList.remove(this._getAnimationType("entry")),this.$.tooltip.classList.remove("cancel-animation"),this.$.tooltip.classList.add(this._getAnimationType("exit")))},_onAnimationEnd:function(){this._animationPlaying=!1,this._showing||(this.$.tooltip.classList.remove(this._getAnimationType("exit")),this.$.tooltip.classList.add("hidden"))},_getAnimationType:function(t){if("entry"===t&&""!==this.animationEntry)return this.animationEntry;if("exit"===t&&""!==this.animationExit)return this.animationExit;if(this.animationConfig[t]&&"string"==typeof this.animationConfig[t][0].name){if(this.animationConfig[t][0].timing&&this.animationConfig[t][0].timing.delay&&0!==this.animationConfig[t][0].timing.delay){var e=this.animationConfig[t][0].timing.delay;"entry"===t?this.updateStyles({"--paper-tooltip-delay-in":e+"ms"}):"exit"===t&&this.updateStyles({"--paper-tooltip-delay-out":e+"ms"})}return this.animationConfig[t][0].name}},_removeListeners:function(){this._target&&(this.unlisten(this._target,"mouseenter","show"),this.unlisten(this._target,"focus","show"),this.unlisten(this._target,"mouseleave","hide"),this.unlisten(this._target,"blur","hide"),this.unlisten(this._target,"tap","hide")),this.unlisten(this.$.tooltip,"animationend","_onAnimationEnd"),this.unlisten(this,"mouseenter","hide")}})}]]); +//# sourceMappingURL=chunk.9b52b3714af8aa55d380.js.map \ No newline at end of file diff --git a/supervisor/api/panel/chunk.9b52b3714af8aa55d380.js.LICENSE b/supervisor/api/panel/chunk.9b52b3714af8aa55d380.js.LICENSE new file mode 100644 index 000000000..9dd966e6b --- /dev/null +++ b/supervisor/api/panel/chunk.9b52b3714af8aa55d380.js.LICENSE @@ -0,0 +1,17 @@ +/** +@license +Copyright (c) 2015 The Polymer Project Authors. All rights reserved. +This code may only be used under the BSD style license found at +http://polymer.github.io/LICENSE.txt The complete set of authors may be found at +http://polymer.github.io/AUTHORS.txt The complete set of contributors may be +found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as +part of the polymer project is also subject to an additional IP rights grant +found at http://polymer.github.io/PATENTS.txt +*/ + +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ diff --git a/supervisor/api/panel/chunk.9b52b3714af8aa55d380.js.gz b/supervisor/api/panel/chunk.9b52b3714af8aa55d380.js.gz new file mode 100644 index 000000000..5f8f2cb2e Binary files /dev/null and b/supervisor/api/panel/chunk.9b52b3714af8aa55d380.js.gz differ diff --git a/supervisor/api/panel/chunk.9b52b3714af8aa55d380.js.map b/supervisor/api/panel/chunk.9b52b3714af8aa55d380.js.map new file mode 100644 index 000000000..4727220bf --- /dev/null +++ b/supervisor/api/panel/chunk.9b52b3714af8aa55d380.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./node_modules/js-yaml/lib/js-yaml/type.js","webpack:///./node_modules/js-yaml/lib/js-yaml/common.js","webpack:///./node_modules/js-yaml/lib/js-yaml/schema.js","webpack:///./node_modules/js-yaml/lib/js-yaml/exception.js","webpack:///./node_modules/js-yaml/lib/js-yaml/schema/default_safe.js","webpack:///./node_modules/js-yaml/lib/js-yaml/schema/default_full.js","webpack:///./node_modules/js-yaml/lib/js-yaml/schema/failsafe.js","webpack:///../src/rpc-wrapper.js","webpack:///./node_modules/js-yaml/lib/js-yaml/schema/core.js","webpack:///./node_modules/js-yaml/lib/js-yaml/schema/json.js","webpack:///src/scope.js","webpack:///src/timing-utilities.js","webpack:///src/normalize-keyframes.js","webpack:///src/deprecation.js","webpack:///src/web-animations-bonus-cancel-events.js","webpack:///src/web-animations-bonus-object-form-keyframes.js","webpack:///src/timeline.js","webpack:///src/web-animations-next-animation.js","webpack:///src/keyframe-effect-constructor.js","webpack:///src/effect-callback.js","webpack:///src/group-constructors.js","webpack:///./node_modules/@polymer/iron-autogrow-textarea/iron-autogrow-textarea.js","webpack:///./node_modules/js-yaml/index.js","webpack:///./node_modules/js-yaml/lib/js-yaml.js","webpack:///./node_modules/js-yaml/lib/js-yaml/loader.js","webpack:///./node_modules/js-yaml/lib/js-yaml/mark.js","webpack:///./node_modules/js-yaml/lib/js-yaml/type/str.js","webpack:///./node_modules/js-yaml/lib/js-yaml/type/seq.js","webpack:///./node_modules/js-yaml/lib/js-yaml/type/map.js","webpack:///./node_modules/js-yaml/lib/js-yaml/type/null.js","webpack:///./node_modules/js-yaml/lib/js-yaml/type/bool.js","webpack:///./node_modules/js-yaml/lib/js-yaml/type/int.js","webpack:///./node_modules/js-yaml/lib/js-yaml/type/float.js","webpack:///./node_modules/js-yaml/lib/js-yaml/type/timestamp.js","webpack:///./node_modules/js-yaml/lib/js-yaml/type/merge.js","webpack:///./node_modules/js-yaml/lib/js-yaml/type/binary.js","webpack:///./node_modules/buffer/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/js-yaml/lib/js-yaml/type/omap.js","webpack:///./node_modules/js-yaml/lib/js-yaml/type/pairs.js","webpack:///./node_modules/js-yaml/lib/js-yaml/type/set.js","webpack:///./node_modules/js-yaml/lib/js-yaml/type/js/undefined.js","webpack:///./node_modules/js-yaml/lib/js-yaml/type/js/regexp.js","webpack:///./node_modules/js-yaml/lib/js-yaml/type/js/function.js","webpack:///./node_modules/js-yaml/lib/js-yaml/dumper.js","webpack:///./node_modules/@polymer/paper-tooltip/paper-tooltip.js"],"names":["YAMLException","require","TYPE_CONSTRUCTOR_OPTIONS","YAML_NODE_KINDS","module","exports","tag","options","map","result","Object","keys","forEach","name","indexOf","this","kind","resolve","construct","data","instanceOf","predicate","represent","defaultStyle","styleAliases","style","alias","String","isNothing","subject","isObject","_typeof","toArray","sequence","Array","isArray","repeat","string","count","cycle","isNegativeZero","number","Number","NEGATIVE_INFINITY","extend","target","source","index","length","key","sourceKeys","common","Type","compileList","schema","exclude","include","includedSchema","currentType","previousType","previousIndex","push","filter","type","Schema","definition","implicit","explicit","loadKind","compiledImplicit","compiledExplicit","compiledTypeMap","scalar","mapping","fallback","collectType","arguments","compileMap","DEFAULT","create","schemas","types","every","reason","mark","Error","call","message","toString","captureStackTrace","constructor","stack","prototype","compact","worker","methods","c","callbacks","e","d","id","f","error","evt","document","method","Promise","a","b","params","webAnimationsShared","webAnimations1","webAnimationsNext","webAnimationsTesting","shared","testing","AnimationEffectTiming","_delay","_endDelay","_fill","_iterationStart","_iterations","_duration","_playbackRate","_direction","_easing","_easingFunction","linear","isInvalidTimingDeprecated","isDeprecated","makeTiming","timingInput","forGroup","effect","timing","fill","duration","isNaN","getOwnPropertyNames","property","fills","directions","cubic","x","m","start_gradient","end_gradient","start","end","mid","xEst","Math","abs","step","pos","stepSize","normalizeEasing","easing","styleForCleaning","createElement","animationTimingFunction","normalizedEasing","TypeError","parseEasingFunction","cubicData","cubicBezierRe","exec","apply","slice","stepData","stepRe","Start","middle","Middle","End","presets","calculatePhase","activeDuration","localTime","PhaseNone","endTime","delay","endDelay","min","PhaseBefore","PhaseAfter","PhaseActive","split","_setMember","member","value","_effect","_timingInput","_timing","normalizeTimingInput","calculateActiveDuration","_animation","_rebuildUnderlyingAnimation","playbackRate","iterationStart","direction","iterations","ease","ease-in","ease-out","ease-in-out","step-start","step-middle","step-end","numberString","RegExp","cloneTimingInput","clone","numericTimingToObject","repeatedDuration","calculateIterationProgress","phase","activeTime","fillMode","calculateActiveTime","overallProgress","iterationDuration","calculateOverallProgress","simpleIterationProgress","Infinity","calculateSimpleIterationProgress","currentIteration","floor","calculateCurrentIteration","directedProgress","playbackDirection","currentDirection","calculateDirectedProgress","antiAlias","aliases","expandShorthandAndAntiAlias","lastIndexOf","isNotAnimatable","longProperties","shorthandToLonghand","i","shorthandExpanderElem","longProperty","longhandValue","convertToArrayForm","effectInput","normalizedEffectInput","values","keyframe","numKeyframes","offset","composite","sort","background","border","borderBottom","borderColor","borderLeft","borderRadius","borderRight","borderTop","borderWidth","flex","font","margin","outline","padding","createElementNS","borderWidthAliases","thin","medium","thick","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontSize","xx-small","x-small","small","large","x-large","xx-large","fontWeight","normal","bold","outlineWidth","textShadow","none","boxShadow","normalizeKeyframes","window","Symbol","iterator","from","keyframes","originalKeyframe","memberValue","isFinite","DOMException","NOT_SUPPORTED_ERR","everyFrameHasOffset","previousOffset","j","spaceKeyframes","silenced","feature","date","advice","plural","auxVerb","today","Date","expiry","setMonth","getMonth","console","warn","toDateString","deprecated","animate","oncancel","performance","now","AnimationCancelEvent","currentTime","timelineTime","bubbles","cancelable","currentTarget","defaultPrevented","eventPhase","Event","AT_TARGET","timeStamp","originalElementAnimate","Element","animation","_cancelHandlers","originalCancel","cancel","event","handlers","concat","setTimeout","handler","originalAddEventListener","addEventListener","originalRemoveEventListener","removeEventListener","splice","element","documentElement","animated","testOpacity","getComputedStyle","getPropertyValue","opacity","scope","webAnimationsNextTick","t","timeline","_discardAnimations","_animations","ticking","requestAnimationFrame","originalRequestAnimationFrame","_updateAnimationsPromises","AnimationTimeline","getAnimations","animationsWithPromises","_updatePromises","playState","_play","Animation","restartWebAnimationsNextTick","play","remove","defineProperty","configurable","get","_id","_timeline","_sequenceNumber","sequenceNumber","_holdTime","_paused","_isGroup","_childAnimations","_callback","_oldPlayState","oldPlayState","newPlayState","_readyPromise","_rejectReadyPromise","_resolveReadyPromise","_finishedPromise","_rejectFinishedPromise","_resolveFinishedPromise","oldPlaybackRate","oldPaused","oldStartTime","oldCurrentTime","hadUnderlying","startTime","_wrapper","KeyframeEffect","newUnderlyingAnimationForKeyframeEffect","bindAnimationForKeyframeEffect","SequenceEffect","GroupEffect","newUnderlyingAnimationForGroup","bindAnimationForGroup","_onsample","bindAnimationForCustomEffect","pause","_updateChildren","childAnimation","_arrangeChildren","groupChildDuration","bind","_setExternalAnimation","children","_constructChildAnimations","_removeChildAnimations","child","finished","reject","ABORT_ERR","ready","onfinish","v","sign","MAX_VALUE","_register","_forEachChild","awaitStartTime","time","finish","reverse","wrapped","pop","KeyframeList","_frames","updatePendingGroups","updated","pendingGroups","shift","disassociate","removeMulti","effects","oldParents","_parent","_rebuild","_normalizedKeyframes","_keyframes","getFrames","onsample","callback","parent","nullTarget","keyframeEffect","groupAnimation","originalGetComputedStyle","enumerable","register","_registered","tick","updating","left","right","effectFunction","isKeyframeEffect","last","node","_reparent","_isAncestor","newChildren","_putChild","args","isAppend","HIERARCHY_REQUEST_ERR","unshift","append","prepend","firstChild","lastChild","clonedTiming","clonedChildren","total","max","group","underlyingAnimation","underlyingEffect","tf","Polymer","_template","html","_templateObject","is","behaviors","IronValidatableBehavior","IronControlState","properties","observer","notify","bindValue","rows","maxRows","autocomplete","autofocus","Boolean","inputmode","placeholder","readonly","required","minlength","maxlength","label","listeners","input","textarea","$","selectionStart","selectionEnd","attached","navigator","userAgent","match","marginLeft","validate","valid","validity","hasValidator","invalid","fire","_bindValueChanged","_valueChanged","mirror","innerHTML","_valueForMirror","_onInput","eventPath","dom","path","_constrain","tokens","_tokens","join","replace","_updateCached","yaml","loader","dumper","FAILSAFE_SCHEMA","JSON_SCHEMA","CORE_SCHEMA","DEFAULT_SAFE_SCHEMA","DEFAULT_FULL_SCHEMA","load","loadAll","safeLoad","safeLoadAll","dump","safeDump","MINIMAL_SCHEMA","SAFE_SCHEMA","DEFAULT_SCHEMA","scan","parse","compose","addConstructor","Mark","_hasOwnProperty","hasOwnProperty","CONTEXT_FLOW_IN","CONTEXT_FLOW_OUT","CONTEXT_BLOCK_IN","CONTEXT_BLOCK_OUT","CHOMPING_CLIP","CHOMPING_STRIP","CHOMPING_KEEP","PATTERN_NON_PRINTABLE","PATTERN_NON_ASCII_LINE_BREAKS","PATTERN_FLOW_INDICATORS","PATTERN_TAG_HANDLE","PATTERN_TAG_URI","_class","obj","is_EOL","is_WHITE_SPACE","is_WS_OR_EOL","is_FLOW_INDICATOR","fromHexCode","lc","simpleEscapeSequence","charFromCodepoint","fromCharCode","simpleEscapeCheck","simpleEscapeMap","State","filename","onWarning","legacy","json","listener","implicitTypes","typeMap","position","line","lineStart","lineIndent","documents","generateError","state","throwError","throwWarning","directiveHandlers","YAML","major","minor","version","parseInt","checkLineBreaks","TAG","handle","prefix","test","tagMap","captureSegment","checkJson","_position","_length","_character","_result","charCodeAt","mergeMappings","destination","overridableKeys","quantity","storeMappingPair","keyTag","keyNode","valueNode","startLine","startPos","readLineBreak","ch","skipSeparationSpace","allowComments","checkIndent","lineBreaks","testDocumentSeparator","writeFoldedLines","readBlockSequence","nodeIndent","_line","_tag","_anchor","anchor","detected","anchorMap","composeNode","readTagProperty","tagHandle","tagName","isVerbatim","isNamed","readAnchorProperty","parentIndent","nodeContext","allowToSeek","allowCompact","allowBlockStyles","allowBlockScalars","allowBlockCollections","typeIndex","typeQuantity","flowIndent","blockIndent","indentStatus","atNewLine","hasContent","following","_pos","atExplicitKey","readBlockMapping","terminator","isPair","isExplicitPair","isMapping","readNext","readFlowCollection","captureStart","folding","tmp","chomping","didReadContent","detectedIndent","textIndent","emptyLines","atMoreIndented","readBlockScalar","captureEnd","readSingleQuotedScalar","hexLength","hexResult","readDoubleQuotedScalar","readAlias","withinFlowCollection","hasPendingContent","_lineStart","_lineIndent","_kind","readPlainScalar","readDocument","directiveName","directiveArgs","documentStart","hasDirectives","loadDocuments","output","buffer","column","getSnippet","indent","maxLength","head","tail","snippet","charAt","where","object","canonical","lowercase","uppercase","camelcase","isOctCode","isDecCode","hasDigits","base","digits","binary","octal","decimal","hexadecimal","toUpperCase","YAML_FLOAT_PATTERN","SCIENTIFIC_WITHOUT_DOT","toLowerCase","POSITIVE_INFINITY","NaN","parseFloat","res","YAML_DATE_REGEXP","YAML_TIMESTAMP_REGEXP","year","month","day","hour","minute","second","fraction","delta","UTC","setTime","getTime","toISOString","NodeBuffer","_require","Buffer","__","BASE64_MAP","code","idx","bitlen","tailbits","bits","isBuffer","global","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","Uint8Array","__proto__","arg","encodingOrOffset","allocUnsafe","ArrayBuffer","array","byteOffset","byteLength","undefined","fromArrayLike","fromArrayBuffer","encoding","isEncoding","actual","write","fromString","len","checked","copy","val","fromObject","assertSize","size","isView","loweredCase","utf8ToBytes","base64ToBytes","swap","n","bidirectionalIndexOf","dir","arrayIndexOf","arr","indexSize","arrLength","valLength","read","buf","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","parsed","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","base64Slice","fromByteArray","utf8Slice","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","typedArraySupport","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","compare","y","list","swap16","swap32","swap64","hexSlice","asciiSlice","latin1Slice","utf16leSlice","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","includes","toJSON","_arr","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","INVALID_BASE64_RE","leadSurrogate","toByteArray","trim","stringtrim","base64clean","src","dst","g","Function","b64","lens","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","parts","len2","encodeChunk","lookup","num","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","s","rt","log","LN2","_toString","pair","pairKey","pairHasKey","objectKeys","regexp","modifiers","multiline","ignoreCase","esprima","_","ast","range","body","expression","err","param","CHAR_TAB","CHAR_LINE_FEED","CHAR_SPACE","CHAR_EXCLAMATION","CHAR_DOUBLE_QUOTE","CHAR_SHARP","CHAR_PERCENT","CHAR_AMPERSAND","CHAR_SINGLE_QUOTE","CHAR_ASTERISK","CHAR_COMMA","CHAR_MINUS","CHAR_COLON","CHAR_GREATER_THAN","CHAR_QUESTION","CHAR_COMMERCIAL_AT","CHAR_LEFT_SQUARE_BRACKET","CHAR_RIGHT_SQUARE_BRACKET","CHAR_GRAVE_ACCENT","CHAR_LEFT_CURLY_BRACKET","CHAR_VERTICAL_LINE","CHAR_RIGHT_CURLY_BRACKET","ESCAPE_SEQUENCES","DEPRECATED_BOOLEANS_SYNTAX","encodeHex","character","noArrayIndent","skipInvalid","flowLevel","styleMap","compileStyleMap","sortKeys","lineWidth","noRefs","noCompatMode","condenseFlow","explicitTypes","duplicates","usedDuplicates","indentString","spaces","ind","next","generateNextLine","level","isWhitespace","isPrintable","isPlainSafe","needIndentIndicator","STYLE_PLAIN","STYLE_SINGLE","STYLE_LITERAL","STYLE_FOLDED","STYLE_DOUBLE","chooseScalarStyle","singleLineOnly","indentPerLevel","testAmbiguousType","char","hasLineBreak","hasFoldableLine","shouldTrackWidth","previousLineBreak","plain","writeScalar","iskey","testImplicitResolving","blockHeader","dropEndingNewline","width","moreIndented","lineRe","nextLF","lastIndex","foldLine","prevMoreIndented","foldString","nextChar","escapeSeq","escapeString","indentIndicator","clip","breakRe","curr","detectType","typeList","writeNode","block","duplicateIndex","duplicate","objectOrArray","objectKey","objectValue","explicitPair","pairBuffer","objectKeyList","writeBlockMapping","writeFlowMapping","arrayLevel","writeBlockSequence","writeFlowSequence","getDuplicateReferences","objects","duplicatesIndexes","inspectNode","hostAttributes","role","tabindex","for","manualMode","fitToVisibleBounds","marginTop","animationDelay","animationEntry","animationExit","animationConfig","entry","exit","_showing","webkitAnimationEnd","parentNode","ownerRoot","getOwnerRoot","querySelector","nodeType","Node","DOCUMENT_FRAGMENT_NODE","host","_findTarget","detached","_removeListeners","playAnimation","show","hide","cancelAnimation","tooltip","classList","add","textContent","allChildrenEmpty","effectiveChildren","getEffectiveChildNodes","_getAnimationType","updatePosition","_animationPlaying","_cancelAnimation","_onAnimationFinish","_target","offsetParent","tooltipLeft","tooltipTop","parentRect","getBoundingClientRect","targetRect","thisRect","horizontalCenterOffset","verticalCenterOffset","height","targetLeft","targetTop","top","innerWidth","innerHeight","bottom","_addListeners","listen","_delayChange","newValue","updateStyles","--paper-tooltip-delay-in","_manualModeChanged","_onAnimationEnd","timingDelay","--paper-tooltip-delay-out","unlisten"],"mappings":"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","file":"chunk.9b52b3714af8aa55d380.js","sourcesContent":["'use strict';\n\nvar YAMLException = require('./exception');\n\nvar TYPE_CONSTRUCTOR_OPTIONS = [\n 'kind',\n 'resolve',\n 'construct',\n 'instanceOf',\n 'predicate',\n 'represent',\n 'defaultStyle',\n 'styleAliases'\n];\n\nvar YAML_NODE_KINDS = [\n 'scalar',\n 'sequence',\n 'mapping'\n];\n\nfunction compileStyleAliases(map) {\n var result = {};\n\n if (map !== null) {\n Object.keys(map).forEach(function (style) {\n map[style].forEach(function (alias) {\n result[String(alias)] = style;\n });\n });\n }\n\n return result;\n}\n\nfunction Type(tag, options) {\n options = options || {};\n\n Object.keys(options).forEach(function (name) {\n if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {\n throw new YAMLException('Unknown option \"' + name + '\" is met in definition of \"' + tag + '\" YAML type.');\n }\n });\n\n // TODO: Add tag format check.\n this.tag = tag;\n this.kind = options['kind'] || null;\n this.resolve = options['resolve'] || function () { return true; };\n this.construct = options['construct'] || function (data) { return data; };\n this.instanceOf = options['instanceOf'] || null;\n this.predicate = options['predicate'] || null;\n this.represent = options['represent'] || null;\n this.defaultStyle = options['defaultStyle'] || null;\n this.styleAliases = compileStyleAliases(options['styleAliases'] || null);\n\n if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {\n throw new YAMLException('Unknown kind \"' + this.kind + '\" is specified for \"' + tag + '\" YAML type.');\n }\n}\n\nmodule.exports = Type;\n","'use strict';\n\n\nfunction isNothing(subject) {\n return (typeof subject === 'undefined') || (subject === null);\n}\n\n\nfunction isObject(subject) {\n return (typeof subject === 'object') && (subject !== null);\n}\n\n\nfunction toArray(sequence) {\n if (Array.isArray(sequence)) return sequence;\n else if (isNothing(sequence)) return [];\n\n return [ sequence ];\n}\n\n\nfunction extend(target, source) {\n var index, length, key, sourceKeys;\n\n if (source) {\n sourceKeys = Object.keys(source);\n\n for (index = 0, length = sourceKeys.length; index < length; index += 1) {\n key = sourceKeys[index];\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\n\nfunction repeat(string, count) {\n var result = '', cycle;\n\n for (cycle = 0; cycle < count; cycle += 1) {\n result += string;\n }\n\n return result;\n}\n\n\nfunction isNegativeZero(number) {\n return (number === 0) && (Number.NEGATIVE_INFINITY === 1 / number);\n}\n\n\nmodule.exports.isNothing = isNothing;\nmodule.exports.isObject = isObject;\nmodule.exports.toArray = toArray;\nmodule.exports.repeat = repeat;\nmodule.exports.isNegativeZero = isNegativeZero;\nmodule.exports.extend = extend;\n","'use strict';\n\n/*eslint-disable max-len*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar Type = require('./type');\n\n\nfunction compileList(schema, name, result) {\n var exclude = [];\n\n schema.include.forEach(function (includedSchema) {\n result = compileList(includedSchema, name, result);\n });\n\n schema[name].forEach(function (currentType) {\n result.forEach(function (previousType, previousIndex) {\n if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) {\n exclude.push(previousIndex);\n }\n });\n\n result.push(currentType);\n });\n\n return result.filter(function (type, index) {\n return exclude.indexOf(index) === -1;\n });\n}\n\n\nfunction compileMap(/* lists... */) {\n var result = {\n scalar: {},\n sequence: {},\n mapping: {},\n fallback: {}\n }, index, length;\n\n function collectType(type) {\n result[type.kind][type.tag] = result['fallback'][type.tag] = type;\n }\n\n for (index = 0, length = arguments.length; index < length; index += 1) {\n arguments[index].forEach(collectType);\n }\n return result;\n}\n\n\nfunction Schema(definition) {\n this.include = definition.include || [];\n this.implicit = definition.implicit || [];\n this.explicit = definition.explicit || [];\n\n this.implicit.forEach(function (type) {\n if (type.loadKind && type.loadKind !== 'scalar') {\n throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.');\n }\n });\n\n this.compiledImplicit = compileList(this, 'implicit', []);\n this.compiledExplicit = compileList(this, 'explicit', []);\n this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit);\n}\n\n\nSchema.DEFAULT = null;\n\n\nSchema.create = function createSchema() {\n var schemas, types;\n\n switch (arguments.length) {\n case 1:\n schemas = Schema.DEFAULT;\n types = arguments[0];\n break;\n\n case 2:\n schemas = arguments[0];\n types = arguments[1];\n break;\n\n default:\n throw new YAMLException('Wrong number of arguments for Schema.create function');\n }\n\n schemas = common.toArray(schemas);\n types = common.toArray(types);\n\n if (!schemas.every(function (schema) { return schema instanceof Schema; })) {\n throw new YAMLException('Specified list of super schemas (or a single Schema object) contains a non-Schema object.');\n }\n\n if (!types.every(function (type) { return type instanceof Type; })) {\n throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.');\n }\n\n return new Schema({\n include: schemas,\n explicit: types\n });\n};\n\n\nmodule.exports = Schema;\n","// YAML error class. http://stackoverflow.com/questions/8458984\n//\n'use strict';\n\nfunction YAMLException(reason, mark) {\n // Super constructor\n Error.call(this);\n\n this.name = 'YAMLException';\n this.reason = reason;\n this.mark = mark;\n this.message = (this.reason || '(unknown reason)') + (this.mark ? ' ' + this.mark.toString() : '');\n\n // Include stack trace in error object\n if (Error.captureStackTrace) {\n // Chrome and NodeJS\n Error.captureStackTrace(this, this.constructor);\n } else {\n // FF, IE 10+ and Safari 6+. Fallback for others\n this.stack = (new Error()).stack || '';\n }\n}\n\n\n// Inherit from Error\nYAMLException.prototype = Object.create(Error.prototype);\nYAMLException.prototype.constructor = YAMLException;\n\n\nYAMLException.prototype.toString = function toString(compact) {\n var result = this.name + ': ';\n\n result += this.reason || '(unknown reason)';\n\n if (!compact && this.mark) {\n result += ' ' + this.mark.toString();\n }\n\n return result;\n};\n\n\nmodule.exports = YAMLException;\n","// JS-YAML's default schema for `safeLoad` function.\n// It is not described in the YAML specification.\n//\n// This schema is based on standard YAML's Core schema and includes most of\n// extra types described at YAML tag repository. (http://yaml.org/type/)\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./core')\n ],\n implicit: [\n require('../type/timestamp'),\n require('../type/merge')\n ],\n explicit: [\n require('../type/binary'),\n require('../type/omap'),\n require('../type/pairs'),\n require('../type/set')\n ]\n});\n","// JS-YAML's default schema for `load` function.\n// It is not described in the YAML specification.\n//\n// This schema is based on JS-YAML's default safe schema and includes\n// JavaScript-specific types: !!js/undefined, !!js/regexp and !!js/function.\n//\n// Also this schema is used as default base schema at `Schema.create` function.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = Schema.DEFAULT = new Schema({\n include: [\n require('./default_safe')\n ],\n explicit: [\n require('../type/js/undefined'),\n require('../type/js/regexp'),\n require('../type/js/function')\n ]\n});\n","// Standard YAML's Failsafe schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2802346\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n explicit: [\n require('../type/str'),\n require('../type/seq'),\n require('../type/map')\n ]\n});\n","export default function addMethods(worker, methods) {\n\tlet c = 0;\n\tlet callbacks = {};\n\tworker.addEventListener('message', (e) => {\n\t\tlet d = e.data;\n\t\tif (d.type!=='RPC') return;\n\t\tif (d.id) {\n\t\t\tlet f = callbacks[d.id];\n\t\t\tif (f) {\n\t\t\t\tdelete callbacks[d.id];\n\t\t\t\tif (d.error) {\n\t\t\t\t\tf[1](Object.assign(Error(d.error.message), d.error));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tf[0](d.result);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tlet evt = document.createEvent('Event');\n\t\t\tevt.initEvent(d.method, false, false);\n\t\t\tevt.data = d.params;\n\t\t\tworker.dispatchEvent(evt);\n\t\t}\n\t});\n\tmethods.forEach( method => {\n\t\tworker[method] = (...params) => new Promise( (a, b) => {\n\t\t\tlet id = ++c;\n\t\t\tcallbacks[id] = [a, b];\n\t\t\tworker.postMessage({ type: 'RPC', id, method, params });\n\t\t});\n\t});\n}\n","// Standard YAML's Core schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2804923\n//\n// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.\n// So, Core schema has no distinctions from JSON schema is JS-YAML.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./json')\n ]\n});\n","// Standard YAML's JSON schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2803231\n//\n// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.\n// So, this schema is not such strict as defined in the YAML specification.\n// It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./failsafe')\n ],\n implicit: [\n require('../type/null'),\n require('../type/bool'),\n require('../type/int'),\n require('../type/float')\n ]\n});\n","// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n!function(a,b){var c={},d={},e={};!function(a,b){function c(a){if(\"number\"==typeof a)return a;var b={};for(var c in a)b[c]=a[c];return b}function d(){this._delay=0,this._endDelay=0,this._fill=\"none\",this._iterationStart=0,this._iterations=1,this._duration=0,this._playbackRate=1,this._direction=\"normal\",this._easing=\"linear\",this._easingFunction=x}function e(){return a.isDeprecated(\"Invalid timing inputs\",\"2016-03-02\",\"TypeError exceptions will be thrown instead.\",!0)}function f(b,c,e){var f=new d;return c&&(f.fill=\"both\",f.duration=\"auto\"),\"number\"!=typeof b||isNaN(b)?void 0!==b&&Object.getOwnPropertyNames(b).forEach(function(c){if(\"auto\"!=b[c]){if((\"number\"==typeof f[c]||\"duration\"==c)&&(\"number\"!=typeof b[c]||isNaN(b[c])))return;if(\"fill\"==c&&-1==v.indexOf(b[c]))return;if(\"direction\"==c&&-1==w.indexOf(b[c]))return;if(\"playbackRate\"==c&&1!==b[c]&&a.isDeprecated(\"AnimationEffectTiming.playbackRate\",\"2014-11-28\",\"Use Animation.playbackRate instead.\"))return;f[c]=b[c]}}):f.duration=b,f}function g(a){return\"number\"==typeof a&&(a=isNaN(a)?{duration:0}:{duration:a}),a}function h(b,c){return b=a.numericTimingToObject(b),f(b,c)}function i(a,b,c,d){return a<0||a>1||c<0||c>1?x:function(e){function f(a,b,c){return 3*a*(1-c)*(1-c)*c+3*b*(1-c)*c*c+c*c*c}if(e<=0){var g=0;return a>0?g=b/a:!b&&c>0&&(g=d/c),g*e}if(e>=1){var h=0;return c<1?h=(d-1)/(c-1):1==c&&a<1&&(h=(b-1)/(a-1)),1+h*(e-1)}for(var i=0,j=1;i=1)return 1;var d=1/a;return(c+=b*d)-c%d}}function k(a){C||(C=document.createElement(\"div\").style),C.animationTimingFunction=\"\",C.animationTimingFunction=a;var b=C.animationTimingFunction;if(\"\"==b&&e())throw new TypeError(a+\" is not a valid value for easing\");return b}function l(a){if(\"linear\"==a)return x;var b=E.exec(a);if(b)return i.apply(this,b.slice(1).map(Number));var c=F.exec(a);return c?j(Number(c[1]),{start:y,middle:z,end:A}[c[2]]):B[a]||x}function m(a){return Math.abs(n(a)/a.playbackRate)}function n(a){return 0===a.duration||0===a.iterations?0:a.duration*a.iterations}function o(a,b,c){if(null==b)return G;var d=c.delay+a+c.endDelay;return b=Math.min(c.delay+a,d)?I:J}function p(a,b,c,d,e){switch(d){case H:return\"backwards\"==b||\"both\"==b?0:null;case J:return c-e;case I:return\"forwards\"==b||\"both\"==b?a:null;case G:return null}}function q(a,b,c,d,e){var f=e;return 0===a?b!==H&&(f+=c):f+=d/a,f}function r(a,b,c,d,e,f){var g=a===1/0?b%1:a%1;return 0!==g||c!==I||0===d||0===e&&0!==f||(g=1),g}function s(a,b,c,d){return a===I&&b===1/0?1/0:1===c?Math.floor(d)-1:Math.floor(d)}function t(a,b,c){var d=a;if(\"normal\"!==a&&\"reverse\"!==a){var e=b;\"alternate-reverse\"===a&&(e+=1),d=\"normal\",e!==1/0&&e%2!=0&&(d=\"reverse\")}return\"normal\"===d?c:1-c}function u(a,b,c){var d=o(a,b,c),e=p(a,c.fill,b,d,c.delay);if(null===e)return null;var f=q(c.duration,d,c.iterations,e,c.iterationStart),g=r(f,c.iterationStart,d,c.iterations,e,c.duration),h=s(d,c.iterations,g,f),i=t(c.direction,h,g);return c._easingFunction(i)}var v=\"backwards|forwards|both|none\".split(\"|\"),w=\"reverse|alternate|alternate-reverse\".split(\"|\"),x=function(a){return a};d.prototype={_setMember:function(b,c){this[\"_\"+b]=c,this._effect&&(this._effect._timingInput[b]=c,this._effect._timing=a.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=a.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(a){this._setMember(\"delay\",a)},get delay(){return this._delay},set endDelay(a){this._setMember(\"endDelay\",a)},get endDelay(){return this._endDelay},set fill(a){this._setMember(\"fill\",a)},get fill(){return this._fill},set iterationStart(a){if((isNaN(a)||a<0)&&e())throw new TypeError(\"iterationStart must be a non-negative number, received: \"+timing.iterationStart);this._setMember(\"iterationStart\",a)},get iterationStart(){return this._iterationStart},set duration(a){if(\"auto\"!=a&&(isNaN(a)||a<0)&&e())throw new TypeError(\"duration must be non-negative or auto, received: \"+a);this._setMember(\"duration\",a)},get duration(){return this._duration},set direction(a){this._setMember(\"direction\",a)},get direction(){return this._direction},set easing(a){this._easingFunction=l(k(a)),this._setMember(\"easing\",a)},get easing(){return this._easing},set iterations(a){if((isNaN(a)||a<0)&&e())throw new TypeError(\"iterations must be non-negative, received: \"+a);this._setMember(\"iterations\",a)},get iterations(){return this._iterations}};var y=1,z=.5,A=0,B={ease:i(.25,.1,.25,1),\"ease-in\":i(.42,0,1,1),\"ease-out\":i(0,0,.58,1),\"ease-in-out\":i(.42,0,.58,1),\"step-start\":j(1,y),\"step-middle\":j(1,z),\"step-end\":j(1,A)},C=null,D=\"\\\\s*(-?\\\\d+\\\\.?\\\\d*|-?\\\\.\\\\d+)\\\\s*\",E=new RegExp(\"cubic-bezier\\\\(\"+D+\",\"+D+\",\"+D+\",\"+D+\"\\\\)\"),F=/steps\\(\\s*(\\d+)\\s*,\\s*(start|middle|end)\\s*\\)/,G=0,H=1,I=2,J=3;a.cloneTimingInput=c,a.makeTiming=f,a.numericTimingToObject=g,a.normalizeTimingInput=h,a.calculateActiveDuration=m,a.calculateIterationProgress=u,a.calculatePhase=o,a.normalizeEasing=k,a.parseEasingFunction=l}(c),function(a,b){function c(a,b){return a in k?k[a][b]||b:b}function d(a){return\"display\"===a||0===a.lastIndexOf(\"animation\",0)||0===a.lastIndexOf(\"transition\",0)}function e(a,b,e){if(!d(a)){var f=h[a];if(f){i.style[a]=b;for(var g in f){var j=f[g],k=i.style[j];e[j]=c(j,k)}}else e[a]=c(a,b)}}function f(a){var b=[];for(var c in a)if(!(c in[\"easing\",\"offset\",\"composite\"])){var d=a[c];Array.isArray(d)||(d=[d]);for(var e,f=d.length,g=0;g1&&null==d[0].offset&&(d[0].offset=0);for(var b=0,c=d[0].offset,e=1;e1)throw new TypeError(\"Keyframe offsets must be between 0 and 1.\")}}else if(\"composite\"==d){if(\"add\"==f||\"accumulate\"==f)throw{type:DOMException.NOT_SUPPORTED_ERR,name:\"NotSupportedError\",message:\"add compositing is not supported\"};if(\"replace\"!=f)throw new TypeError(\"Invalid composite mode \"+f+\".\")}else f=\"easing\"==d?a.normalizeEasing(f):\"\"+f;e(d,f,c)}return void 0==c.offset&&(c.offset=null),void 0==c.easing&&(c.easing=\"linear\"),c}),g=!0,h=-1/0,i=0;i=0&&a.offset<=1}),g||c(),d}var h={background:[\"backgroundImage\",\"backgroundPosition\",\"backgroundSize\",\"backgroundRepeat\",\"backgroundAttachment\",\"backgroundOrigin\",\"backgroundClip\",\"backgroundColor\"],border:[\"borderTopColor\",\"borderTopStyle\",\"borderTopWidth\",\"borderRightColor\",\"borderRightStyle\",\"borderRightWidth\",\"borderBottomColor\",\"borderBottomStyle\",\"borderBottomWidth\",\"borderLeftColor\",\"borderLeftStyle\",\"borderLeftWidth\"],borderBottom:[\"borderBottomWidth\",\"borderBottomStyle\",\"borderBottomColor\"],borderColor:[\"borderTopColor\",\"borderRightColor\",\"borderBottomColor\",\"borderLeftColor\"],borderLeft:[\"borderLeftWidth\",\"borderLeftStyle\",\"borderLeftColor\"],borderRadius:[\"borderTopLeftRadius\",\"borderTopRightRadius\",\"borderBottomRightRadius\",\"borderBottomLeftRadius\"],borderRight:[\"borderRightWidth\",\"borderRightStyle\",\"borderRightColor\"],borderTop:[\"borderTopWidth\",\"borderTopStyle\",\"borderTopColor\"],borderWidth:[\"borderTopWidth\",\"borderRightWidth\",\"borderBottomWidth\",\"borderLeftWidth\"],flex:[\"flexGrow\",\"flexShrink\",\"flexBasis\"],font:[\"fontFamily\",\"fontSize\",\"fontStyle\",\"fontVariant\",\"fontWeight\",\"lineHeight\"],margin:[\"marginTop\",\"marginRight\",\"marginBottom\",\"marginLeft\"],outline:[\"outlineColor\",\"outlineStyle\",\"outlineWidth\"],padding:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"]},i=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"div\"),j={thin:\"1px\",medium:\"3px\",thick:\"5px\"},k={borderBottomWidth:j,borderLeftWidth:j,borderRightWidth:j,borderTopWidth:j,fontSize:{\"xx-small\":\"60%\",\"x-small\":\"75%\",small:\"89%\",medium:\"100%\",large:\"120%\",\"x-large\":\"150%\",\"xx-large\":\"200%\"},fontWeight:{normal:\"400\",bold:\"700\"},outlineWidth:j,textShadow:{none:\"0px 0px 0px transparent\"},boxShadow:{none:\"0px 0px 0px 0px transparent\"}};a.convertToArrayForm=f,a.normalizeKeyframes=g}(c),function(a){var b={};a.isDeprecated=function(a,c,d,e){var f=e?\"are\":\"is\",g=new Date,h=new Date(c);return h.setMonth(h.getMonth()+3),!(g=a.applyFrom&&c0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(a){a=+a,isNaN(a)||(b.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-a/this._playbackRate),this._currentTimePending=!1,this._currentTime!=a&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(a,!0),b.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(a){a=+a,isNaN(a)||this._paused||this._idle||(this._startTime=a,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),b.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(a){if(a!=this._playbackRate){var c=this.currentTime;this._playbackRate=a,this._startTime=null,\"paused\"!=this.playState&&\"idle\"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),b.applyDirtiedAnimation(this)),null!=c&&(this.currentTime=c)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?\"idle\":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?\"pending\":this._paused?\"paused\":this._isFinished?\"finished\":\"running\"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException(\"Unable to rewind negative playback rate animation with infinite duration\",\"InvalidStateError\");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),b.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,b.applyDirtiedAnimation(this))},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._isFinished=!0,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this._effect._update(null),b.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(a,b){\"function\"==typeof b&&\"finish\"==a&&this._finishHandlers.push(b)},removeEventListener:function(a,b){if(\"finish\"==a){var c=this._finishHandlers.indexOf(b);c>=0&&this._finishHandlers.splice(c,1)}},_fireEvents:function(a){if(this._isFinished){if(!this._finishedFlag){var b=new d(this,this._currentTime,a),c=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){c.forEach(function(a){a.call(b.target,b)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(a,b){this._idle||this._paused||(null==this._startTime?b&&(this.startTime=a-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((a-this._startTime)*this.playbackRate)),b&&(this._currentTimePending=!1,this._fireEvents(a))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var a=this._effect._target;return a._activeAnimations||(a._activeAnimations=[]),a._activeAnimations},_markTarget:function(){var a=this._targetAnimations();-1===a.indexOf(this)&&a.push(this)},_unmarkTarget:function(){var a=this._targetAnimations(),b=a.indexOf(this);-1!==b&&a.splice(b,1)}}}(c,d),function(a,b,c){function d(a){var b=j;j=[],ad?c%=d:d%=c;return c=a*b/(c+d)}function g(a){return function(b){var c=a(b);return c&&(c[0]=void 0),c}}function h(a,b){return function(c){return a(c)||[b,c]}}function i(b,c){for(var d=[],e=0;e=1?b:\"visible\"}]}a.addPropertiesHandler(String,c,[\"visibility\"])}(d),function(a,b){function c(a){a=a.trim(),f.fillStyle=\"#000\",f.fillStyle=a;var b=f.fillStyle;if(f.fillStyle=\"#fff\",f.fillStyle=a,b==f.fillStyle){f.fillRect(0,0,1,1);var c=f.getImageData(0,0,1,1).data;f.clearRect(0,0,1,1);var d=c[3]/255;return[c[0]*d,c[1]*d,c[2]*d,d]}}function d(b,c){return[b,c,function(b){function c(a){return Math.max(0,Math.min(255,a))}if(b[3])for(var d=0;d<3;d++)b[d]=Math.round(c(b[d]/b[3]));return b[3]=a.numberToString(a.clamp(0,1,b[3])),\"rgba(\"+b.join(\",\")+\")\"}]}var e=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");e.width=e.height=1;var f=e.getContext(\"2d\");a.addPropertiesHandler(c,d,[\"background-color\",\"border-bottom-color\",\"border-left-color\",\"border-right-color\",\"border-top-color\",\"color\",\"fill\",\"flood-color\",\"lighting-color\",\"outline-color\",\"stop-color\",\"stroke\",\"text-decoration-color\"]),a.consumeColor=a.consumeParenthesised.bind(null,c),a.mergeColors=d}(d),function(a,b){function c(a){function b(){var b=h.exec(a);g=b?b[0]:void 0}function c(){var a=Number(g);return b(),a}function d(){if(\"(\"!==g)return c();b();var a=f();return\")\"!==g?NaN:(b(),a)}function e(){for(var a=d();\"*\"===g||\"/\"===g;){var c=g;b();var e=d();\"*\"===c?a*=e:a/=e}return a}function f(){for(var a=e();\"+\"===g||\"-\"===g;){var c=g;b();var d=e();\"+\"===c?a+=d:a-=d}return a}var g,h=/([\\+\\-\\w\\.]+|[\\(\\)\\*\\/])/g;return b(),f()}function d(a,b){if(\"0\"==(b=b.trim().toLowerCase())&&\"px\".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\\(/g,\"(\");var d={};b=b.replace(a,function(a){return d[a]=null,\"U\"+a});for(var e=\"U(\"+a.source+\")\",f=b.replace(/[-+]?(\\d*\\.)?\\d+([Ee][-+]?\\d+)?/g,\"N\").replace(new RegExp(\"N\"+e,\"g\"),\"D\").replace(/\\s[+-]\\s/g,\"O\").replace(/\\s/g,\"\"),g=[/N\\*(D)/g,/(N|D)[*\\/]N/g,/(N|D)O\\1/g,/\\((N|D)\\)/g],h=0;h1?\"calc(\"+c+\")\":c}]}var g=\"px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc\",h=d.bind(null,new RegExp(g,\"g\")),i=d.bind(null,new RegExp(g+\"|%\",\"g\")),j=d.bind(null,/deg|rad|grad|turn/g);a.parseLength=h,a.parseLengthOrPercent=i,a.consumeLengthOrPercent=a.consumeParenthesised.bind(null,i),a.parseAngle=j,a.mergeDimensions=f;var k=a.consumeParenthesised.bind(null,h),l=a.consumeRepeated.bind(void 0,k,/^/),m=a.consumeRepeated.bind(void 0,l,/^,/);a.consumeSizePairList=m;var n=function(a){var b=m(a);if(b&&\"\"==b[1])return b[0]},o=a.mergeNestedRepeated.bind(void 0,e,\" \"),p=a.mergeNestedRepeated.bind(void 0,o,\",\");a.mergeNonNegativeSizePair=o,a.addPropertiesHandler(n,p,[\"background-size\"]),a.addPropertiesHandler(i,e,[\"border-bottom-width\",\"border-image-width\",\"border-left-width\",\"border-right-width\",\"border-top-width\",\"flex-basis\",\"font-size\",\"height\",\"line-height\",\"max-height\",\"max-width\",\"outline-width\",\"width\"]),a.addPropertiesHandler(i,f,[\"border-bottom-left-radius\",\"border-bottom-right-radius\",\"border-top-left-radius\",\"border-top-right-radius\",\"bottom\",\"left\",\"letter-spacing\",\"margin-bottom\",\"margin-left\",\"margin-right\",\"margin-top\",\"min-height\",\"min-width\",\"outline-offset\",\"padding-bottom\",\"padding-left\",\"padding-right\",\"padding-top\",\"perspective\",\"right\",\"shape-margin\",\"stroke-dashoffset\",\"text-indent\",\"top\",\"vertical-align\",\"word-spacing\"])}(d),function(a,b){function c(b){return a.consumeLengthOrPercent(b)||a.consumeToken(/^auto/,b)}function d(b){var d=a.consumeList([a.ignore(a.consumeToken.bind(null,/^rect/)),a.ignore(a.consumeToken.bind(null,/^\\(/)),a.consumeRepeated.bind(null,c,/^,/),a.ignore(a.consumeToken.bind(null,/^\\)/))],b);if(d&&4==d[0].length)return d[0]}function e(b,c){return\"auto\"==b||\"auto\"==c?[!0,!1,function(d){var e=d?b:c;if(\"auto\"==e)return\"auto\";var f=a.mergeDimensions(e,e);return f[2](f[0])}]:a.mergeDimensions(b,c)}function f(a){return\"rect(\"+a+\")\"}var g=a.mergeWrappedNestedRepeated.bind(null,f,e,\", \");a.parseBox=d,a.mergeBoxes=g,a.addPropertiesHandler(d,g,[\"clip\"])}(d),function(a,b){function c(a){return function(b){var c=0;return a.map(function(a){return a===k?b[c++]:a})}}function d(a){return a}function e(b){if(\"none\"==(b=b.toLowerCase().trim()))return[];for(var c,d=/\\s*(\\w+)\\(([^)]*)\\)/g,e=[],f=0;c=d.exec(b);){if(c.index!=f)return;f=c.index+c[0].length;var g=c[1],h=n[g];if(!h)return;var i=c[2].split(\",\"),j=h[0];if(j.length=0&&this._cancelHandlers.splice(c,1)}else i.call(this,a,b)},f}}}(),function(a){var b=document.documentElement,c=null,d=!1;try{var e=getComputedStyle(b).getPropertyValue(\"opacity\"),f=\"0\"==e?\"1\":\"0\";c=b.animate({opacity:[f,f]},{duration:1}),c.currentTime=0,d=getComputedStyle(b).getPropertyValue(\"opacity\")==f}catch(a){}finally{c&&c.cancel()}if(!d){var g=window.Element.prototype.animate;window.Element.prototype.animate=function(b,c){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&b[Symbol.iterator]&&(b=Array.from(b)),Array.isArray(b)||null===b||(b=a.convertToArrayForm(b)),g.call(this,b,c)}}}(c),function(a,b,c){function d(a){var c=b.timeline;c.currentTime=a,c._discardAnimations(),0==c._animations.length?f=!1:requestAnimationFrame(d)}var e=window.requestAnimationFrame;window.requestAnimationFrame=function(a){return e(function(c){b.timeline._updateAnimationsPromises(),a(c),b.timeline._updateAnimationsPromises()})},b.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},b.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){b.animationsWithPromises=b.animationsWithPromises.filter(function(a){return a._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(a){return\"finished\"!=a.playState&&\"idle\"!=a.playState})},_play:function(a){var c=new b.Animation(a,this);return this._animations.push(c),b.restartWebAnimationsNextTick(),c._updatePromises(),c._animation.play(),c._updatePromises(),c},play:function(a){return a&&a.remove(),this._play(a)}};var f=!1;b.restartWebAnimationsNextTick=function(){f||(f=!0,requestAnimationFrame(d))};var g=new b.AnimationTimeline;b.timeline=g;try{Object.defineProperty(window.document,\"timeline\",{configurable:!0,get:function(){return g}})}catch(a){}try{window.document.timeline=g}catch(a){}}(0,e),function(a,b,c){b.animationsWithPromises=[],b.Animation=function(b,c){if(this.id=\"\",b&&b._id&&(this.id=b._id),this.effect=b,b&&(b._animation=this),!c)throw new Error(\"Animation with null timeline is not supported\");this._timeline=c,this._sequenceNumber=a.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState=\"idle\",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},b.Animation.prototype={_updatePromises:function(){var a=this._oldPlayState,b=this.playState;return this._readyPromise&&b!==a&&(\"idle\"==b?(this._rejectReadyPromise(),this._readyPromise=void 0):\"pending\"==a?this._resolveReadyPromise():\"pending\"==b&&(this._readyPromise=void 0)),this._finishedPromise&&b!==a&&(\"idle\"==b?(this._rejectFinishedPromise(),this._finishedPromise=void 0):\"finished\"==b?this._resolveFinishedPromise():\"finished\"==a&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var a,c,d,e,f=!!this._animation;f&&(a=this.playbackRate,c=this._paused,d=this.startTime,e=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=b.newUnderlyingAnimationForKeyframeEffect(this.effect),b.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=b.newUnderlyingAnimationForGroup(this.effect),b.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&b.bindAnimationForCustomEffect(this),f&&(1!=a&&(this.playbackRate=a),null!==d?this.startTime=d:null!==e?this.currentTime=e:null!==this._holdTime&&(this.currentTime=this._holdTime),c&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&\"idle\"!=this.playState){var a=this.effect._timing.delay;this._childAnimations.forEach(function(c){this._arrangeChildren(c,a),this.effect instanceof window.SequenceEffect&&(a+=b.groupChildDuration(c.effect))}.bind(this))}},_setExternalAnimation:function(a){if(this.effect&&this._isGroup)for(var b=0;b\n\n### Styling\n\nThe following custom properties and mixins are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--iron-autogrow-textarea` | Mixin applied to the textarea | `{}`\n`--iron-autogrow-textarea-placeholder` | Mixin applied to the textarea placeholder | `{}`\n\n@group Iron Elements\n@hero hero.svg\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n\n \n \n
 
\n\n \n
\n \n
\n`,\n\n is: 'iron-autogrow-textarea',\n behaviors: [IronValidatableBehavior, IronControlState],\n\n properties: {\n /**\n * Use this property instead of `bind-value` for two-way data binding.\n * @type {string|number}\n */\n value: {observer: '_valueChanged', type: String, notify: true},\n\n /**\n * This property is deprecated, and just mirrors `value`. Use `value`\n * instead.\n * @type {string|number}\n */\n bindValue: {observer: '_bindValueChanged', type: String, notify: true},\n\n /**\n * The initial number of rows.\n *\n * @attribute rows\n * @type number\n * @default 1\n */\n rows: {type: Number, value: 1, observer: '_updateCached'},\n\n /**\n * The maximum number of rows this element can grow to until it\n * scrolls. 0 means no maximum.\n *\n * @attribute maxRows\n * @type number\n * @default 0\n */\n maxRows: {type: Number, value: 0, observer: '_updateCached'},\n\n /**\n * Bound to the textarea's `autocomplete` attribute.\n */\n autocomplete: {type: String, value: 'off'},\n\n /**\n * Bound to the textarea's `autofocus` attribute.\n */\n autofocus: {type: Boolean, value: false},\n\n /**\n * Bound to the textarea's `inputmode` attribute.\n */\n inputmode: {type: String},\n\n /**\n * Bound to the textarea's `placeholder` attribute.\n */\n placeholder: {type: String},\n\n /**\n * Bound to the textarea's `readonly` attribute.\n */\n readonly: {type: String},\n\n /**\n * Set to true to mark the textarea as required.\n */\n required: {type: Boolean},\n\n /**\n * The minimum length of the input value.\n */\n minlength: {type: Number},\n\n /**\n * The maximum length of the input value.\n */\n maxlength: {type: Number},\n\n /**\n * Bound to the textarea's `aria-label` attribute.\n */\n label: {type: String}\n\n },\n\n listeners: {'input': '_onInput'},\n\n /**\n * Returns the underlying textarea.\n * @return {!HTMLTextAreaElement}\n */\n get textarea() {\n return this.$.textarea;\n },\n\n /**\n * Returns textarea's selection start.\n * @return {number}\n */\n get selectionStart() {\n return this.$.textarea.selectionStart;\n },\n\n /**\n * Returns textarea's selection end.\n * @return {number}\n */\n get selectionEnd() {\n return this.$.textarea.selectionEnd;\n },\n\n /**\n * Sets the textarea's selection start.\n */\n set selectionStart(value) {\n this.$.textarea.selectionStart = value;\n },\n\n /**\n * Sets the textarea's selection end.\n */\n set selectionEnd(value) {\n this.$.textarea.selectionEnd = value;\n },\n\n attached: function() {\n /* iOS has an arbitrary left margin of 3px that isn't present\n * in any other browser, and means that the paper-textarea's cursor\n * overlaps the label.\n * See https://github.com/PolymerElements/paper-input/issues/468.\n */\n var IS_IOS = navigator.userAgent.match(/iP(?:[oa]d|hone)/);\n if (IS_IOS) {\n this.$.textarea.style.marginLeft = '-3px';\n }\n },\n\n /**\n * Returns true if `value` is valid. The validator provided in `validator`\n * will be used first, if it exists; otherwise, the `textarea`'s validity\n * is used.\n * @return {boolean} True if the value is valid.\n */\n validate: function() {\n // Use the nested input's native validity.\n var valid = this.$.textarea.validity.valid;\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.value === '') {\n valid = false;\n } else if (this.hasValidator()) {\n valid = IronValidatableBehavior.validate.call(this, this.value);\n }\n }\n\n this.invalid = !valid;\n this.fire('iron-input-validate');\n return valid;\n },\n\n _bindValueChanged: function(bindValue) {\n this.value = bindValue;\n },\n\n _valueChanged: function(value) {\n var textarea = this.textarea;\n if (!textarea) {\n return;\n }\n\n // If the bindValue changed manually, then we need to also update\n // the underlying textarea's value. Otherwise this change was probably\n // generated from the _onInput handler, and the two values are already\n // the same.\n if (textarea.value !== value) {\n textarea.value = !(value || value === 0) ? '' : value;\n }\n\n this.bindValue = value;\n this.$.mirror.innerHTML = this._valueForMirror();\n\n // Manually notify because we don't want to notify until after setting\n // value.\n this.fire('bind-value-changed', {value: this.bindValue});\n },\n\n _onInput: function(event) {\n var eventPath = dom(event).path;\n this.value = eventPath ? eventPath[0].value : event.target.value;\n },\n\n _constrain: function(tokens) {\n var _tokens;\n tokens = tokens || [''];\n // Enforce the min and max heights for a multiline input to avoid\n // measurement\n if (this.maxRows > 0 && tokens.length > this.maxRows) {\n _tokens = tokens.slice(0, this.maxRows);\n } else {\n _tokens = tokens.slice(0);\n }\n while (this.rows > 0 && _tokens.length < this.rows) {\n _tokens.push('');\n }\n // Use   instead   of to allow this element to be used in XHTML.\n return _tokens.join('
') + ' ';\n },\n\n _valueForMirror: function() {\n var input = this.textarea;\n if (!input) {\n return;\n }\n this.tokens = (input && input.value) ? input.value.replace(/&/gm, '&')\n .replace(/\"/gm, '"')\n .replace(/'/gm, ''')\n .replace(//gm, '>')\n .split('\\n') :\n [''];\n return this._constrain(this.tokens);\n },\n\n _updateCached: function() {\n this.$.mirror.innerHTML = this._constrain(this.tokens);\n }\n});\n","'use strict';\n\n\nvar yaml = require('./lib/js-yaml.js');\n\n\nmodule.exports = yaml;\n","'use strict';\n\n\nvar loader = require('./js-yaml/loader');\nvar dumper = require('./js-yaml/dumper');\n\n\nfunction deprecated(name) {\n return function () {\n throw new Error('Function ' + name + ' is deprecated and cannot be used.');\n };\n}\n\n\nmodule.exports.Type = require('./js-yaml/type');\nmodule.exports.Schema = require('./js-yaml/schema');\nmodule.exports.FAILSAFE_SCHEMA = require('./js-yaml/schema/failsafe');\nmodule.exports.JSON_SCHEMA = require('./js-yaml/schema/json');\nmodule.exports.CORE_SCHEMA = require('./js-yaml/schema/core');\nmodule.exports.DEFAULT_SAFE_SCHEMA = require('./js-yaml/schema/default_safe');\nmodule.exports.DEFAULT_FULL_SCHEMA = require('./js-yaml/schema/default_full');\nmodule.exports.load = loader.load;\nmodule.exports.loadAll = loader.loadAll;\nmodule.exports.safeLoad = loader.safeLoad;\nmodule.exports.safeLoadAll = loader.safeLoadAll;\nmodule.exports.dump = dumper.dump;\nmodule.exports.safeDump = dumper.safeDump;\nmodule.exports.YAMLException = require('./js-yaml/exception');\n\n// Deprecated schema names from JS-YAML 2.0.x\nmodule.exports.MINIMAL_SCHEMA = require('./js-yaml/schema/failsafe');\nmodule.exports.SAFE_SCHEMA = require('./js-yaml/schema/default_safe');\nmodule.exports.DEFAULT_SCHEMA = require('./js-yaml/schema/default_full');\n\n// Deprecated functions from JS-YAML 1.x.x\nmodule.exports.scan = deprecated('scan');\nmodule.exports.parse = deprecated('parse');\nmodule.exports.compose = deprecated('compose');\nmodule.exports.addConstructor = deprecated('addConstructor');\n","'use strict';\n\n/*eslint-disable max-len,no-use-before-define*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar Mark = require('./mark');\nvar DEFAULT_SAFE_SCHEMA = require('./schema/default_safe');\nvar DEFAULT_FULL_SCHEMA = require('./schema/default_full');\n\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\n\nvar CONTEXT_FLOW_IN = 1;\nvar CONTEXT_FLOW_OUT = 2;\nvar CONTEXT_BLOCK_IN = 3;\nvar CONTEXT_BLOCK_OUT = 4;\n\n\nvar CHOMPING_CLIP = 1;\nvar CHOMPING_STRIP = 2;\nvar CHOMPING_KEEP = 3;\n\n\nvar PATTERN_NON_PRINTABLE = /[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\nvar PATTERN_NON_ASCII_LINE_BREAKS = /[\\x85\\u2028\\u2029]/;\nvar PATTERN_FLOW_INDICATORS = /[,\\[\\]\\{\\}]/;\nvar PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\\-]+!)$/i;\nvar PATTERN_TAG_URI = /^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;\n\n\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\n\nfunction is_EOL(c) {\n return (c === 0x0A/* LF */) || (c === 0x0D/* CR */);\n}\n\nfunction is_WHITE_SPACE(c) {\n return (c === 0x09/* Tab */) || (c === 0x20/* Space */);\n}\n\nfunction is_WS_OR_EOL(c) {\n return (c === 0x09/* Tab */) ||\n (c === 0x20/* Space */) ||\n (c === 0x0A/* LF */) ||\n (c === 0x0D/* CR */);\n}\n\nfunction is_FLOW_INDICATOR(c) {\n return c === 0x2C/* , */ ||\n c === 0x5B/* [ */ ||\n c === 0x5D/* ] */ ||\n c === 0x7B/* { */ ||\n c === 0x7D/* } */;\n}\n\nfunction fromHexCode(c) {\n var lc;\n\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n /*eslint-disable no-bitwise*/\n lc = c | 0x20;\n\n if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) {\n return lc - 0x61 + 10;\n }\n\n return -1;\n}\n\nfunction escapedHexLen(c) {\n if (c === 0x78/* x */) { return 2; }\n if (c === 0x75/* u */) { return 4; }\n if (c === 0x55/* U */) { return 8; }\n return 0;\n}\n\nfunction fromDecimalCode(c) {\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n return -1;\n}\n\nfunction simpleEscapeSequence(c) {\n /* eslint-disable indent */\n return (c === 0x30/* 0 */) ? '\\x00' :\n (c === 0x61/* a */) ? '\\x07' :\n (c === 0x62/* b */) ? '\\x08' :\n (c === 0x74/* t */) ? '\\x09' :\n (c === 0x09/* Tab */) ? '\\x09' :\n (c === 0x6E/* n */) ? '\\x0A' :\n (c === 0x76/* v */) ? '\\x0B' :\n (c === 0x66/* f */) ? '\\x0C' :\n (c === 0x72/* r */) ? '\\x0D' :\n (c === 0x65/* e */) ? '\\x1B' :\n (c === 0x20/* Space */) ? ' ' :\n (c === 0x22/* \" */) ? '\\x22' :\n (c === 0x2F/* / */) ? '/' :\n (c === 0x5C/* \\ */) ? '\\x5C' :\n (c === 0x4E/* N */) ? '\\x85' :\n (c === 0x5F/* _ */) ? '\\xA0' :\n (c === 0x4C/* L */) ? '\\u2028' :\n (c === 0x50/* P */) ? '\\u2029' : '';\n}\n\nfunction charFromCodepoint(c) {\n if (c <= 0xFFFF) {\n return String.fromCharCode(c);\n }\n // Encode UTF-16 surrogate pair\n // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF\n return String.fromCharCode(\n ((c - 0x010000) >> 10) + 0xD800,\n ((c - 0x010000) & 0x03FF) + 0xDC00\n );\n}\n\nvar simpleEscapeCheck = new Array(256); // integer, for fast access\nvar simpleEscapeMap = new Array(256);\nfor (var i = 0; i < 256; i++) {\n simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;\n simpleEscapeMap[i] = simpleEscapeSequence(i);\n}\n\n\nfunction State(input, options) {\n this.input = input;\n\n this.filename = options['filename'] || null;\n this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;\n this.onWarning = options['onWarning'] || null;\n this.legacy = options['legacy'] || false;\n this.json = options['json'] || false;\n this.listener = options['listener'] || null;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.typeMap = this.schema.compiledTypeMap;\n\n this.length = input.length;\n this.position = 0;\n this.line = 0;\n this.lineStart = 0;\n this.lineIndent = 0;\n\n this.documents = [];\n\n /*\n this.version;\n this.checkLineBreaks;\n this.tagMap;\n this.anchorMap;\n this.tag;\n this.anchor;\n this.kind;\n this.result;*/\n\n}\n\n\nfunction generateError(state, message) {\n return new YAMLException(\n message,\n new Mark(state.filename, state.input, state.position, state.line, (state.position - state.lineStart)));\n}\n\nfunction throwError(state, message) {\n throw generateError(state, message);\n}\n\nfunction throwWarning(state, message) {\n if (state.onWarning) {\n state.onWarning.call(null, generateError(state, message));\n }\n}\n\n\nvar directiveHandlers = {\n\n YAML: function handleYamlDirective(state, name, args) {\n\n var match, major, minor;\n\n if (state.version !== null) {\n throwError(state, 'duplication of %YAML directive');\n }\n\n if (args.length !== 1) {\n throwError(state, 'YAML directive accepts exactly one argument');\n }\n\n match = /^([0-9]+)\\.([0-9]+)$/.exec(args[0]);\n\n if (match === null) {\n throwError(state, 'ill-formed argument of the YAML directive');\n }\n\n major = parseInt(match[1], 10);\n minor = parseInt(match[2], 10);\n\n if (major !== 1) {\n throwError(state, 'unacceptable YAML version of the document');\n }\n\n state.version = args[0];\n state.checkLineBreaks = (minor < 2);\n\n if (minor !== 1 && minor !== 2) {\n throwWarning(state, 'unsupported YAML version of the document');\n }\n },\n\n TAG: function handleTagDirective(state, name, args) {\n\n var handle, prefix;\n\n if (args.length !== 2) {\n throwError(state, 'TAG directive accepts exactly two arguments');\n }\n\n handle = args[0];\n prefix = args[1];\n\n if (!PATTERN_TAG_HANDLE.test(handle)) {\n throwError(state, 'ill-formed tag handle (first argument) of the TAG directive');\n }\n\n if (_hasOwnProperty.call(state.tagMap, handle)) {\n throwError(state, 'there is a previously declared suffix for \"' + handle + '\" tag handle');\n }\n\n if (!PATTERN_TAG_URI.test(prefix)) {\n throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive');\n }\n\n state.tagMap[handle] = prefix;\n }\n};\n\n\nfunction captureSegment(state, start, end, checkJson) {\n var _position, _length, _character, _result;\n\n if (start < end) {\n _result = state.input.slice(start, end);\n\n if (checkJson) {\n for (_position = 0, _length = _result.length; _position < _length; _position += 1) {\n _character = _result.charCodeAt(_position);\n if (!(_character === 0x09 ||\n (0x20 <= _character && _character <= 0x10FFFF))) {\n throwError(state, 'expected valid JSON character');\n }\n }\n } else if (PATTERN_NON_PRINTABLE.test(_result)) {\n throwError(state, 'the stream contains non-printable characters');\n }\n\n state.result += _result;\n }\n}\n\nfunction mergeMappings(state, destination, source, overridableKeys) {\n var sourceKeys, key, index, quantity;\n\n if (!common.isObject(source)) {\n throwError(state, 'cannot merge mappings; the provided source object is unacceptable');\n }\n\n sourceKeys = Object.keys(source);\n\n for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {\n key = sourceKeys[index];\n\n if (!_hasOwnProperty.call(destination, key)) {\n destination[key] = source[key];\n overridableKeys[key] = true;\n }\n }\n}\n\nfunction storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) {\n var index, quantity;\n\n // The output is a plain object here, so keys can only be strings.\n // We need to convert keyNode to a string, but doing so can hang the process\n // (deeply nested arrays that explode exponentially using aliases).\n if (Array.isArray(keyNode)) {\n keyNode = Array.prototype.slice.call(keyNode);\n\n for (index = 0, quantity = keyNode.length; index < quantity; index += 1) {\n if (Array.isArray(keyNode[index])) {\n throwError(state, 'nested arrays are not supported inside keys');\n }\n\n if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') {\n keyNode[index] = '[object Object]';\n }\n }\n }\n\n // Avoid code execution in load() via toString property\n // (still use its own toString for arrays, timestamps,\n // and whatever user schema extensions happen to have @@toStringTag)\n if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') {\n keyNode = '[object Object]';\n }\n\n\n keyNode = String(keyNode);\n\n if (_result === null) {\n _result = {};\n }\n\n if (keyTag === 'tag:yaml.org,2002:merge') {\n if (Array.isArray(valueNode)) {\n for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {\n mergeMappings(state, _result, valueNode[index], overridableKeys);\n }\n } else {\n mergeMappings(state, _result, valueNode, overridableKeys);\n }\n } else {\n if (!state.json &&\n !_hasOwnProperty.call(overridableKeys, keyNode) &&\n _hasOwnProperty.call(_result, keyNode)) {\n state.line = startLine || state.line;\n state.position = startPos || state.position;\n throwError(state, 'duplicated mapping key');\n }\n _result[keyNode] = valueNode;\n delete overridableKeys[keyNode];\n }\n\n return _result;\n}\n\nfunction readLineBreak(state) {\n var ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x0A/* LF */) {\n state.position++;\n } else if (ch === 0x0D/* CR */) {\n state.position++;\n if (state.input.charCodeAt(state.position) === 0x0A/* LF */) {\n state.position++;\n }\n } else {\n throwError(state, 'a line break is expected');\n }\n\n state.line += 1;\n state.lineStart = state.position;\n}\n\nfunction skipSeparationSpace(state, allowComments, checkIndent) {\n var lineBreaks = 0,\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (allowComments && ch === 0x23/* # */) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0);\n }\n\n if (is_EOL(ch)) {\n readLineBreak(state);\n\n ch = state.input.charCodeAt(state.position);\n lineBreaks++;\n state.lineIndent = 0;\n\n while (ch === 0x20/* Space */) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n } else {\n break;\n }\n }\n\n if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {\n throwWarning(state, 'deficient indentation');\n }\n\n return lineBreaks;\n}\n\nfunction testDocumentSeparator(state) {\n var _position = state.position,\n ch;\n\n ch = state.input.charCodeAt(_position);\n\n // Condition state.position === state.lineStart is tested\n // in parent on each call, for efficiency. No needs to test here again.\n if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) &&\n ch === state.input.charCodeAt(_position + 1) &&\n ch === state.input.charCodeAt(_position + 2)) {\n\n _position += 3;\n\n ch = state.input.charCodeAt(_position);\n\n if (ch === 0 || is_WS_OR_EOL(ch)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction writeFoldedLines(state, count) {\n if (count === 1) {\n state.result += ' ';\n } else if (count > 1) {\n state.result += common.repeat('\\n', count - 1);\n }\n}\n\n\nfunction readPlainScalar(state, nodeIndent, withinFlowCollection) {\n var preceding,\n following,\n captureStart,\n captureEnd,\n hasPendingContent,\n _line,\n _lineStart,\n _lineIndent,\n _kind = state.kind,\n _result = state.result,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (is_WS_OR_EOL(ch) ||\n is_FLOW_INDICATOR(ch) ||\n ch === 0x23/* # */ ||\n ch === 0x26/* & */ ||\n ch === 0x2A/* * */ ||\n ch === 0x21/* ! */ ||\n ch === 0x7C/* | */ ||\n ch === 0x3E/* > */ ||\n ch === 0x27/* ' */ ||\n ch === 0x22/* \" */ ||\n ch === 0x25/* % */ ||\n ch === 0x40/* @ */ ||\n ch === 0x60/* ` */) {\n return false;\n }\n\n if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n return false;\n }\n }\n\n state.kind = 'scalar';\n state.result = '';\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n\n while (ch !== 0) {\n if (ch === 0x3A/* : */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n break;\n }\n\n } else if (ch === 0x23/* # */) {\n preceding = state.input.charCodeAt(state.position - 1);\n\n if (is_WS_OR_EOL(preceding)) {\n break;\n }\n\n } else if ((state.position === state.lineStart && testDocumentSeparator(state)) ||\n withinFlowCollection && is_FLOW_INDICATOR(ch)) {\n break;\n\n } else if (is_EOL(ch)) {\n _line = state.line;\n _lineStart = state.lineStart;\n _lineIndent = state.lineIndent;\n skipSeparationSpace(state, false, -1);\n\n if (state.lineIndent >= nodeIndent) {\n hasPendingContent = true;\n ch = state.input.charCodeAt(state.position);\n continue;\n } else {\n state.position = captureEnd;\n state.line = _line;\n state.lineStart = _lineStart;\n state.lineIndent = _lineIndent;\n break;\n }\n }\n\n if (hasPendingContent) {\n captureSegment(state, captureStart, captureEnd, false);\n writeFoldedLines(state, state.line - _line);\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n }\n\n if (!is_WHITE_SPACE(ch)) {\n captureEnd = state.position + 1;\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, captureEnd, false);\n\n if (state.result) {\n return true;\n }\n\n state.kind = _kind;\n state.result = _result;\n return false;\n}\n\nfunction readSingleQuotedScalar(state, nodeIndent) {\n var ch,\n captureStart, captureEnd;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x27/* ' */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x27/* ' */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x27/* ' */) {\n captureStart = state.position;\n state.position++;\n captureEnd = state.position;\n } else {\n return true;\n }\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a single quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a single quoted scalar');\n}\n\nfunction readDoubleQuotedScalar(state, nodeIndent) {\n var captureStart,\n captureEnd,\n hexLength,\n hexResult,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x22/* \" */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x22/* \" */) {\n captureSegment(state, captureStart, state.position, true);\n state.position++;\n return true;\n\n } else if (ch === 0x5C/* \\ */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (is_EOL(ch)) {\n skipSeparationSpace(state, false, nodeIndent);\n\n // TODO: rework to inline fn with no type cast?\n } else if (ch < 256 && simpleEscapeCheck[ch]) {\n state.result += simpleEscapeMap[ch];\n state.position++;\n\n } else if ((tmp = escapedHexLen(ch)) > 0) {\n hexLength = tmp;\n hexResult = 0;\n\n for (; hexLength > 0; hexLength--) {\n ch = state.input.charCodeAt(++state.position);\n\n if ((tmp = fromHexCode(ch)) >= 0) {\n hexResult = (hexResult << 4) + tmp;\n\n } else {\n throwError(state, 'expected hexadecimal character');\n }\n }\n\n state.result += charFromCodepoint(hexResult);\n\n state.position++;\n\n } else {\n throwError(state, 'unknown escape sequence');\n }\n\n captureStart = captureEnd = state.position;\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a double quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a double quoted scalar');\n}\n\nfunction readFlowCollection(state, nodeIndent) {\n var readNext = true,\n _line,\n _tag = state.tag,\n _result,\n _anchor = state.anchor,\n following,\n terminator,\n isPair,\n isExplicitPair,\n isMapping,\n overridableKeys = {},\n keyNode,\n keyTag,\n valueNode,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x5B/* [ */) {\n terminator = 0x5D;/* ] */\n isMapping = false;\n _result = [];\n } else if (ch === 0x7B/* { */) {\n terminator = 0x7D;/* } */\n isMapping = true;\n _result = {};\n } else {\n return false;\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n while (ch !== 0) {\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === terminator) {\n state.position++;\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = isMapping ? 'mapping' : 'sequence';\n state.result = _result;\n return true;\n } else if (!readNext) {\n throwError(state, 'missed comma between flow collection entries');\n }\n\n keyTag = keyNode = valueNode = null;\n isPair = isExplicitPair = false;\n\n if (ch === 0x3F/* ? */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following)) {\n isPair = isExplicitPair = true;\n state.position++;\n skipSeparationSpace(state, true, nodeIndent);\n }\n }\n\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n keyTag = state.tag;\n keyNode = state.result;\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) {\n isPair = true;\n ch = state.input.charCodeAt(++state.position);\n skipSeparationSpace(state, true, nodeIndent);\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n valueNode = state.result;\n }\n\n if (isMapping) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode);\n } else if (isPair) {\n _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode));\n } else {\n _result.push(keyNode);\n }\n\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x2C/* , */) {\n readNext = true;\n ch = state.input.charCodeAt(++state.position);\n } else {\n readNext = false;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a flow collection');\n}\n\nfunction readBlockScalar(state, nodeIndent) {\n var captureStart,\n folding,\n chomping = CHOMPING_CLIP,\n didReadContent = false,\n detectedIndent = false,\n textIndent = nodeIndent,\n emptyLines = 0,\n atMoreIndented = false,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x7C/* | */) {\n folding = false;\n } else if (ch === 0x3E/* > */) {\n folding = true;\n } else {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n\n while (ch !== 0) {\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x2B/* + */ || ch === 0x2D/* - */) {\n if (CHOMPING_CLIP === chomping) {\n chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP;\n } else {\n throwError(state, 'repeat of a chomping mode identifier');\n }\n\n } else if ((tmp = fromDecimalCode(ch)) >= 0) {\n if (tmp === 0) {\n throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one');\n } else if (!detectedIndent) {\n textIndent = nodeIndent + tmp - 1;\n detectedIndent = true;\n } else {\n throwError(state, 'repeat of an indentation width identifier');\n }\n\n } else {\n break;\n }\n }\n\n if (is_WHITE_SPACE(ch)) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (is_WHITE_SPACE(ch));\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (!is_EOL(ch) && (ch !== 0));\n }\n }\n\n while (ch !== 0) {\n readLineBreak(state);\n state.lineIndent = 0;\n\n ch = state.input.charCodeAt(state.position);\n\n while ((!detectedIndent || state.lineIndent < textIndent) &&\n (ch === 0x20/* Space */)) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (!detectedIndent && state.lineIndent > textIndent) {\n textIndent = state.lineIndent;\n }\n\n if (is_EOL(ch)) {\n emptyLines++;\n continue;\n }\n\n // End of the scalar.\n if (state.lineIndent < textIndent) {\n\n // Perform the chomping.\n if (chomping === CHOMPING_KEEP) {\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n } else if (chomping === CHOMPING_CLIP) {\n if (didReadContent) { // i.e. only if the scalar is not empty.\n state.result += '\\n';\n }\n }\n\n // Break this `while` cycle and go to the funciton's epilogue.\n break;\n }\n\n // Folded style: use fancy rules to handle line breaks.\n if (folding) {\n\n // Lines starting with white space characters (more-indented lines) are not folded.\n if (is_WHITE_SPACE(ch)) {\n atMoreIndented = true;\n // except for the first content line (cf. Example 8.1)\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n\n // End of more-indented block.\n } else if (atMoreIndented) {\n atMoreIndented = false;\n state.result += common.repeat('\\n', emptyLines + 1);\n\n // Just one line break - perceive as the same line.\n } else if (emptyLines === 0) {\n if (didReadContent) { // i.e. only if we have already read some scalar content.\n state.result += ' ';\n }\n\n // Several line breaks - perceive as different lines.\n } else {\n state.result += common.repeat('\\n', emptyLines);\n }\n\n // Literal style: just add exact number of line breaks between content lines.\n } else {\n // Keep all line breaks except the header line break.\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n }\n\n didReadContent = true;\n detectedIndent = true;\n emptyLines = 0;\n captureStart = state.position;\n\n while (!is_EOL(ch) && (ch !== 0)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, state.position, false);\n }\n\n return true;\n}\n\nfunction readBlockSequence(state, nodeIndent) {\n var _line,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = [],\n following,\n detected = false,\n ch;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n\n if (ch !== 0x2D/* - */) {\n break;\n }\n\n following = state.input.charCodeAt(state.position + 1);\n\n if (!is_WS_OR_EOL(following)) {\n break;\n }\n\n detected = true;\n state.position++;\n\n if (skipSeparationSpace(state, true, -1)) {\n if (state.lineIndent <= nodeIndent) {\n _result.push(null);\n ch = state.input.charCodeAt(state.position);\n continue;\n }\n }\n\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);\n _result.push(state.result);\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) {\n throwError(state, 'bad indentation of a sequence entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'sequence';\n state.result = _result;\n return true;\n }\n return false;\n}\n\nfunction readBlockMapping(state, nodeIndent, flowIndent) {\n var following,\n allowCompact,\n _line,\n _pos,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = {},\n overridableKeys = {},\n keyTag = null,\n keyNode = null,\n valueNode = null,\n atExplicitKey = false,\n detected = false,\n ch;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n following = state.input.charCodeAt(state.position + 1);\n _line = state.line; // Save the current line.\n _pos = state.position;\n\n //\n // Explicit notation case. There are two separate blocks:\n // first for the key (denoted by \"?\") and second for the value (denoted by \":\")\n //\n if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) {\n\n if (ch === 0x3F/* ? */) {\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = true;\n allowCompact = true;\n\n } else if (atExplicitKey) {\n // i.e. 0x3A/* : */ === character after the explicit key.\n atExplicitKey = false;\n allowCompact = true;\n\n } else {\n throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line');\n }\n\n state.position += 1;\n ch = following;\n\n //\n // Implicit notation case. Flow-style node as the key first, then \":\", and the value.\n //\n } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {\n\n if (state.line === _line) {\n ch = state.input.charCodeAt(state.position);\n\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x3A/* : */) {\n ch = state.input.charCodeAt(++state.position);\n\n if (!is_WS_OR_EOL(ch)) {\n throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping');\n }\n\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = false;\n allowCompact = false;\n keyTag = state.tag;\n keyNode = state.result;\n\n } else if (detected) {\n throwError(state, 'can not read an implicit mapping pair; a colon is missed');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n\n } else if (detected) {\n throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n\n } else {\n break; // Reading is done. Go to the epilogue.\n }\n\n //\n // Common reading code for both explicit and implicit notations.\n //\n if (state.line === _line || state.lineIndent > nodeIndent) {\n if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {\n if (atExplicitKey) {\n keyNode = state.result;\n } else {\n valueNode = state.result;\n }\n }\n\n if (!atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos);\n keyTag = keyNode = valueNode = null;\n }\n\n skipSeparationSpace(state, true, -1);\n ch = state.input.charCodeAt(state.position);\n }\n\n if (state.lineIndent > nodeIndent && (ch !== 0)) {\n throwError(state, 'bad indentation of a mapping entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n //\n // Epilogue.\n //\n\n // Special case: last mapping's node contains only the key in explicit notation.\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n }\n\n // Expose the resulting mapping.\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'mapping';\n state.result = _result;\n }\n\n return detected;\n}\n\nfunction readTagProperty(state) {\n var _position,\n isVerbatim = false,\n isNamed = false,\n tagHandle,\n tagName,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x21/* ! */) return false;\n\n if (state.tag !== null) {\n throwError(state, 'duplication of a tag property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x3C/* < */) {\n isVerbatim = true;\n ch = state.input.charCodeAt(++state.position);\n\n } else if (ch === 0x21/* ! */) {\n isNamed = true;\n tagHandle = '!!';\n ch = state.input.charCodeAt(++state.position);\n\n } else {\n tagHandle = '!';\n }\n\n _position = state.position;\n\n if (isVerbatim) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && ch !== 0x3E/* > */);\n\n if (state.position < state.length) {\n tagName = state.input.slice(_position, state.position);\n ch = state.input.charCodeAt(++state.position);\n } else {\n throwError(state, 'unexpected end of the stream within a verbatim tag');\n }\n } else {\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n\n if (ch === 0x21/* ! */) {\n if (!isNamed) {\n tagHandle = state.input.slice(_position - 1, state.position + 1);\n\n if (!PATTERN_TAG_HANDLE.test(tagHandle)) {\n throwError(state, 'named tag handle cannot contain such characters');\n }\n\n isNamed = true;\n _position = state.position + 1;\n } else {\n throwError(state, 'tag suffix cannot contain exclamation marks');\n }\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n tagName = state.input.slice(_position, state.position);\n\n if (PATTERN_FLOW_INDICATORS.test(tagName)) {\n throwError(state, 'tag suffix cannot contain flow indicator characters');\n }\n }\n\n if (tagName && !PATTERN_TAG_URI.test(tagName)) {\n throwError(state, 'tag name cannot contain such characters: ' + tagName);\n }\n\n if (isVerbatim) {\n state.tag = tagName;\n\n } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) {\n state.tag = state.tagMap[tagHandle] + tagName;\n\n } else if (tagHandle === '!') {\n state.tag = '!' + tagName;\n\n } else if (tagHandle === '!!') {\n state.tag = 'tag:yaml.org,2002:' + tagName;\n\n } else {\n throwError(state, 'undeclared tag handle \"' + tagHandle + '\"');\n }\n\n return true;\n}\n\nfunction readAnchorProperty(state) {\n var _position,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x26/* & */) return false;\n\n if (state.anchor !== null) {\n throwError(state, 'duplication of an anchor property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an anchor node must contain at least one character');\n }\n\n state.anchor = state.input.slice(_position, state.position);\n return true;\n}\n\nfunction readAlias(state) {\n var _position, alias,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x2A/* * */) return false;\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an alias node must contain at least one character');\n }\n\n alias = state.input.slice(_position, state.position);\n\n if (!state.anchorMap.hasOwnProperty(alias)) {\n throwError(state, 'unidentified alias \"' + alias + '\"');\n }\n\n state.result = state.anchorMap[alias];\n skipSeparationSpace(state, true, -1);\n return true;\n}\n\nfunction composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {\n var allowBlockStyles,\n allowBlockScalars,\n allowBlockCollections,\n indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n }\n }\n\n if (indentStatus === 1) {\n while (readTagProperty(state) || readAnchorProperty(state)) {\n if (skipSeparationSpace(state, true, -1)) {\n atNewLine = true;\n allowBlockCollections = allowBlockStyles;\n\n if (state.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n } else {\n allowBlockCollections = false;\n }\n }\n }\n\n if (allowBlockCollections) {\n allowBlockCollections = atNewLine || allowCompact;\n }\n\n if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {\n if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {\n flowIndent = parentIndent;\n } else {\n flowIndent = parentIndent + 1;\n }\n\n blockIndent = state.position - state.lineStart;\n\n if (indentStatus === 1) {\n if (allowBlockCollections &&\n (readBlockSequence(state, blockIndent) ||\n readBlockMapping(state, blockIndent, flowIndent)) ||\n readFlowCollection(state, flowIndent)) {\n hasContent = true;\n } else {\n if ((allowBlockScalars && readBlockScalar(state, flowIndent)) ||\n readSingleQuotedScalar(state, flowIndent) ||\n readDoubleQuotedScalar(state, flowIndent)) {\n hasContent = true;\n\n } else if (readAlias(state)) {\n hasContent = true;\n\n if (state.tag !== null || state.anchor !== null) {\n throwError(state, 'alias node should not have any properties');\n }\n\n } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {\n hasContent = true;\n\n if (state.tag === null) {\n state.tag = '?';\n }\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else if (indentStatus === 0) {\n // Special case: block sequences are allowed to have same indentation level as the parent.\n // http://www.yaml.org/spec/1.2/spec.html#id2799784\n hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);\n }\n }\n\n if (state.tag !== null && state.tag !== '!') {\n if (state.tag === '?') {\n for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {\n type = state.implicitTypes[typeIndex];\n\n // Implicit resolving is not allowed for non-scalar types, and '?'\n // non-specific tag is only assigned to plain scalars. So, it isn't\n // needed to check for 'kind' conformity.\n\n if (type.resolve(state.result)) { // `state.result` updated in resolver if matched\n state.result = type.construct(state.result);\n state.tag = type.tag;\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n break;\n }\n }\n } else if (_hasOwnProperty.call(state.typeMap[state.kind || 'fallback'], state.tag)) {\n type = state.typeMap[state.kind || 'fallback'][state.tag];\n\n if (state.result !== null && type.kind !== state.kind) {\n throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be \"' + type.kind + '\", not \"' + state.kind + '\"');\n }\n\n if (!type.resolve(state.result)) { // `state.result` updated in resolver if matched\n throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag');\n } else {\n state.result = type.construct(state.result);\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else {\n throwError(state, 'unknown tag !<' + state.tag + '>');\n }\n }\n\n if (state.listener !== null) {\n state.listener('close', state);\n }\n return state.tag !== null || state.anchor !== null || hasContent;\n}\n\nfunction readDocument(state) {\n var documentStart = state.position,\n _position,\n directiveName,\n directiveArgs,\n hasDirectives = false,\n ch;\n\n state.version = null;\n state.checkLineBreaks = state.legacy;\n state.tagMap = {};\n state.anchorMap = {};\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if (state.lineIndent > 0 || ch !== 0x25/* % */) {\n break;\n }\n\n hasDirectives = true;\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveName = state.input.slice(_position, state.position);\n directiveArgs = [];\n\n if (directiveName.length < 1) {\n throwError(state, 'directive name must not be less than one character in length');\n }\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && !is_EOL(ch));\n break;\n }\n\n if (is_EOL(ch)) break;\n\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveArgs.push(state.input.slice(_position, state.position));\n }\n\n if (ch !== 0) readLineBreak(state);\n\n if (_hasOwnProperty.call(directiveHandlers, directiveName)) {\n directiveHandlers[directiveName](state, directiveName, directiveArgs);\n } else {\n throwWarning(state, 'unknown document directive \"' + directiveName + '\"');\n }\n }\n\n skipSeparationSpace(state, true, -1);\n\n if (state.lineIndent === 0 &&\n state.input.charCodeAt(state.position) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 1) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 2) === 0x2D/* - */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n\n } else if (hasDirectives) {\n throwError(state, 'directives end mark is expected');\n }\n\n composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);\n skipSeparationSpace(state, true, -1);\n\n if (state.checkLineBreaks &&\n PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {\n throwWarning(state, 'non-ASCII line breaks are interpreted as content');\n }\n\n state.documents.push(state.result);\n\n if (state.position === state.lineStart && testDocumentSeparator(state)) {\n\n if (state.input.charCodeAt(state.position) === 0x2E/* . */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n }\n return;\n }\n\n if (state.position < (state.length - 1)) {\n throwError(state, 'end of the stream or a document separator is expected');\n } else {\n return;\n }\n}\n\n\nfunction loadDocuments(input, options) {\n input = String(input);\n options = options || {};\n\n if (input.length !== 0) {\n\n // Add tailing `\\n` if not exists\n if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ &&\n input.charCodeAt(input.length - 1) !== 0x0D/* CR */) {\n input += '\\n';\n }\n\n // Strip BOM\n if (input.charCodeAt(0) === 0xFEFF) {\n input = input.slice(1);\n }\n }\n\n var state = new State(input, options);\n\n // Use 0 as string terminator. That significantly simplifies bounds check.\n state.input += '\\0';\n\n while (state.input.charCodeAt(state.position) === 0x20/* Space */) {\n state.lineIndent += 1;\n state.position += 1;\n }\n\n while (state.position < (state.length - 1)) {\n readDocument(state);\n }\n\n return state.documents;\n}\n\n\nfunction loadAll(input, iterator, options) {\n var documents = loadDocuments(input, options), index, length;\n\n if (typeof iterator !== 'function') {\n return documents;\n }\n\n for (index = 0, length = documents.length; index < length; index += 1) {\n iterator(documents[index]);\n }\n}\n\n\nfunction load(input, options) {\n var documents = loadDocuments(input, options);\n\n if (documents.length === 0) {\n /*eslint-disable no-undefined*/\n return undefined;\n } else if (documents.length === 1) {\n return documents[0];\n }\n throw new YAMLException('expected a single document in the stream, but found more');\n}\n\n\nfunction safeLoadAll(input, output, options) {\n if (typeof output === 'function') {\n loadAll(input, output, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n } else {\n return loadAll(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n }\n}\n\n\nfunction safeLoad(input, options) {\n return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\n\nmodule.exports.loadAll = loadAll;\nmodule.exports.load = load;\nmodule.exports.safeLoadAll = safeLoadAll;\nmodule.exports.safeLoad = safeLoad;\n","'use strict';\n\n\nvar common = require('./common');\n\n\nfunction Mark(name, buffer, position, line, column) {\n this.name = name;\n this.buffer = buffer;\n this.position = position;\n this.line = line;\n this.column = column;\n}\n\n\nMark.prototype.getSnippet = function getSnippet(indent, maxLength) {\n var head, start, tail, end, snippet;\n\n if (!this.buffer) return null;\n\n indent = indent || 4;\n maxLength = maxLength || 75;\n\n head = '';\n start = this.position;\n\n while (start > 0 && '\\x00\\r\\n\\x85\\u2028\\u2029'.indexOf(this.buffer.charAt(start - 1)) === -1) {\n start -= 1;\n if (this.position - start > (maxLength / 2 - 1)) {\n head = ' ... ';\n start += 5;\n break;\n }\n }\n\n tail = '';\n end = this.position;\n\n while (end < this.buffer.length && '\\x00\\r\\n\\x85\\u2028\\u2029'.indexOf(this.buffer.charAt(end)) === -1) {\n end += 1;\n if (end - this.position > (maxLength / 2 - 1)) {\n tail = ' ... ';\n end -= 5;\n break;\n }\n }\n\n snippet = this.buffer.slice(start, end);\n\n return common.repeat(' ', indent) + head + snippet + tail + '\\n' +\n common.repeat(' ', indent + this.position - start + head.length) + '^';\n};\n\n\nMark.prototype.toString = function toString(compact) {\n var snippet, where = '';\n\n if (this.name) {\n where += 'in \"' + this.name + '\" ';\n }\n\n where += 'at line ' + (this.line + 1) + ', column ' + (this.column + 1);\n\n if (!compact) {\n snippet = this.getSnippet();\n\n if (snippet) {\n where += ':\\n' + snippet;\n }\n }\n\n return where;\n};\n\n\nmodule.exports = Mark;\n","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:str', {\n kind: 'scalar',\n construct: function (data) { return data !== null ? data : ''; }\n});\n","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:seq', {\n kind: 'sequence',\n construct: function (data) { return data !== null ? data : []; }\n});\n","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:map', {\n kind: 'mapping',\n construct: function (data) { return data !== null ? data : {}; }\n});\n","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlNull(data) {\n if (data === null) return true;\n\n var max = data.length;\n\n return (max === 1 && data === '~') ||\n (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL'));\n}\n\nfunction constructYamlNull() {\n return null;\n}\n\nfunction isNull(object) {\n return object === null;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:null', {\n kind: 'scalar',\n resolve: resolveYamlNull,\n construct: constructYamlNull,\n predicate: isNull,\n represent: {\n canonical: function () { return '~'; },\n lowercase: function () { return 'null'; },\n uppercase: function () { return 'NULL'; },\n camelcase: function () { return 'Null'; }\n },\n defaultStyle: 'lowercase'\n});\n","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlBoolean(data) {\n if (data === null) return false;\n\n var max = data.length;\n\n return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) ||\n (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE'));\n}\n\nfunction constructYamlBoolean(data) {\n return data === 'true' ||\n data === 'True' ||\n data === 'TRUE';\n}\n\nfunction isBoolean(object) {\n return Object.prototype.toString.call(object) === '[object Boolean]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:bool', {\n kind: 'scalar',\n resolve: resolveYamlBoolean,\n construct: constructYamlBoolean,\n predicate: isBoolean,\n represent: {\n lowercase: function (object) { return object ? 'true' : 'false'; },\n uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; },\n camelcase: function (object) { return object ? 'True' : 'False'; }\n },\n defaultStyle: 'lowercase'\n});\n","'use strict';\n\nvar common = require('../common');\nvar Type = require('../type');\n\nfunction isHexCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) ||\n ((0x41/* A */ <= c) && (c <= 0x46/* F */)) ||\n ((0x61/* a */ <= c) && (c <= 0x66/* f */));\n}\n\nfunction isOctCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */));\n}\n\nfunction isDecCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */));\n}\n\nfunction resolveYamlInteger(data) {\n if (data === null) return false;\n\n var max = data.length,\n index = 0,\n hasDigits = false,\n ch;\n\n if (!max) return false;\n\n ch = data[index];\n\n // sign\n if (ch === '-' || ch === '+') {\n ch = data[++index];\n }\n\n if (ch === '0') {\n // 0\n if (index + 1 === max) return true;\n ch = data[++index];\n\n // base 2, base 8, base 16\n\n if (ch === 'b') {\n // base 2\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch !== '0' && ch !== '1') return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n\n if (ch === 'x') {\n // base 16\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isHexCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n // base 8\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isOctCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n // base 10 (except 0) or base 60\n\n // value should not start with `_`;\n if (ch === '_') return false;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch === ':') break;\n if (!isDecCode(data.charCodeAt(index))) {\n return false;\n }\n hasDigits = true;\n }\n\n // Should have digits and should not end with `_`\n if (!hasDigits || ch === '_') return false;\n\n // if !base60 - done;\n if (ch !== ':') return true;\n\n // base60 almost not used, no needs to optimize\n return /^(:[0-5]?[0-9])+$/.test(data.slice(index));\n}\n\nfunction constructYamlInteger(data) {\n var value = data, sign = 1, ch, base, digits = [];\n\n if (value.indexOf('_') !== -1) {\n value = value.replace(/_/g, '');\n }\n\n ch = value[0];\n\n if (ch === '-' || ch === '+') {\n if (ch === '-') sign = -1;\n value = value.slice(1);\n ch = value[0];\n }\n\n if (value === '0') return 0;\n\n if (ch === '0') {\n if (value[1] === 'b') return sign * parseInt(value.slice(2), 2);\n if (value[1] === 'x') return sign * parseInt(value, 16);\n return sign * parseInt(value, 8);\n }\n\n if (value.indexOf(':') !== -1) {\n value.split(':').forEach(function (v) {\n digits.unshift(parseInt(v, 10));\n });\n\n value = 0;\n base = 1;\n\n digits.forEach(function (d) {\n value += (d * base);\n base *= 60;\n });\n\n return sign * value;\n\n }\n\n return sign * parseInt(value, 10);\n}\n\nfunction isInteger(object) {\n return (Object.prototype.toString.call(object)) === '[object Number]' &&\n (object % 1 === 0 && !common.isNegativeZero(object));\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:int', {\n kind: 'scalar',\n resolve: resolveYamlInteger,\n construct: constructYamlInteger,\n predicate: isInteger,\n represent: {\n binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); },\n octal: function (obj) { return obj >= 0 ? '0' + obj.toString(8) : '-0' + obj.toString(8).slice(1); },\n decimal: function (obj) { return obj.toString(10); },\n /* eslint-disable max-len */\n hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); }\n },\n defaultStyle: 'decimal',\n styleAliases: {\n binary: [ 2, 'bin' ],\n octal: [ 8, 'oct' ],\n decimal: [ 10, 'dec' ],\n hexadecimal: [ 16, 'hex' ]\n }\n});\n","'use strict';\n\nvar common = require('../common');\nvar Type = require('../type');\n\nvar YAML_FLOAT_PATTERN = new RegExp(\n // 2.5e4, 2.5 and integers\n '^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' +\n // .2e4, .2\n // special case, seems not from spec\n '|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' +\n // 20:59\n '|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*' +\n // .inf\n '|[-+]?\\\\.(?:inf|Inf|INF)' +\n // .nan\n '|\\\\.(?:nan|NaN|NAN))$');\n\nfunction resolveYamlFloat(data) {\n if (data === null) return false;\n\n if (!YAML_FLOAT_PATTERN.test(data) ||\n // Quick hack to not allow integers end with `_`\n // Probably should update regexp & check speed\n data[data.length - 1] === '_') {\n return false;\n }\n\n return true;\n}\n\nfunction constructYamlFloat(data) {\n var value, sign, base, digits;\n\n value = data.replace(/_/g, '').toLowerCase();\n sign = value[0] === '-' ? -1 : 1;\n digits = [];\n\n if ('+-'.indexOf(value[0]) >= 0) {\n value = value.slice(1);\n }\n\n if (value === '.inf') {\n return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;\n\n } else if (value === '.nan') {\n return NaN;\n\n } else if (value.indexOf(':') >= 0) {\n value.split(':').forEach(function (v) {\n digits.unshift(parseFloat(v, 10));\n });\n\n value = 0.0;\n base = 1;\n\n digits.forEach(function (d) {\n value += d * base;\n base *= 60;\n });\n\n return sign * value;\n\n }\n return sign * parseFloat(value, 10);\n}\n\n\nvar SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;\n\nfunction representYamlFloat(object, style) {\n var res;\n\n if (isNaN(object)) {\n switch (style) {\n case 'lowercase': return '.nan';\n case 'uppercase': return '.NAN';\n case 'camelcase': return '.NaN';\n }\n } else if (Number.POSITIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '.inf';\n case 'uppercase': return '.INF';\n case 'camelcase': return '.Inf';\n }\n } else if (Number.NEGATIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '-.inf';\n case 'uppercase': return '-.INF';\n case 'camelcase': return '-.Inf';\n }\n } else if (common.isNegativeZero(object)) {\n return '-0.0';\n }\n\n res = object.toString(10);\n\n // JS stringifier can build scientific format without dots: 5e-100,\n // while YAML requres dot: 5.e-100. Fix it with simple hack\n\n return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res;\n}\n\nfunction isFloat(object) {\n return (Object.prototype.toString.call(object) === '[object Number]') &&\n (object % 1 !== 0 || common.isNegativeZero(object));\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:float', {\n kind: 'scalar',\n resolve: resolveYamlFloat,\n construct: constructYamlFloat,\n predicate: isFloat,\n represent: representYamlFloat,\n defaultStyle: 'lowercase'\n});\n","'use strict';\n\nvar Type = require('../type');\n\nvar YAML_DATE_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9])' + // [2] month\n '-([0-9][0-9])$'); // [3] day\n\nvar YAML_TIMESTAMP_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9]?)' + // [2] month\n '-([0-9][0-9]?)' + // [3] day\n '(?:[Tt]|[ \\\\t]+)' + // ...\n '([0-9][0-9]?)' + // [4] hour\n ':([0-9][0-9])' + // [5] minute\n ':([0-9][0-9])' + // [6] second\n '(?:\\\\.([0-9]*))?' + // [7] fraction\n '(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour\n '(?::([0-9][0-9]))?))?$'); // [11] tz_minute\n\nfunction resolveYamlTimestamp(data) {\n if (data === null) return false;\n if (YAML_DATE_REGEXP.exec(data) !== null) return true;\n if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;\n return false;\n}\n\nfunction constructYamlTimestamp(data) {\n var match, year, month, day, hour, minute, second, fraction = 0,\n delta = null, tz_hour, tz_minute, date;\n\n match = YAML_DATE_REGEXP.exec(data);\n if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);\n\n if (match === null) throw new Error('Date resolve error');\n\n // match: [1] year [2] month [3] day\n\n year = +(match[1]);\n month = +(match[2]) - 1; // JS month starts with 0\n day = +(match[3]);\n\n if (!match[4]) { // no hour\n return new Date(Date.UTC(year, month, day));\n }\n\n // match: [4] hour [5] minute [6] second [7] fraction\n\n hour = +(match[4]);\n minute = +(match[5]);\n second = +(match[6]);\n\n if (match[7]) {\n fraction = match[7].slice(0, 3);\n while (fraction.length < 3) { // milli-seconds\n fraction += '0';\n }\n fraction = +fraction;\n }\n\n // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute\n\n if (match[9]) {\n tz_hour = +(match[10]);\n tz_minute = +(match[11] || 0);\n delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds\n if (match[9] === '-') delta = -delta;\n }\n\n date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));\n\n if (delta) date.setTime(date.getTime() - delta);\n\n return date;\n}\n\nfunction representYamlTimestamp(object /*, style*/) {\n return object.toISOString();\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:timestamp', {\n kind: 'scalar',\n resolve: resolveYamlTimestamp,\n construct: constructYamlTimestamp,\n instanceOf: Date,\n represent: representYamlTimestamp\n});\n","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlMerge(data) {\n return data === '<<' || data === null;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:merge', {\n kind: 'scalar',\n resolve: resolveYamlMerge\n});\n","'use strict';\n\n/*eslint-disable no-bitwise*/\n\nvar NodeBuffer;\n\ntry {\n // A trick for browserified version, to not include `Buffer` shim\n var _require = require;\n NodeBuffer = _require('buffer').Buffer;\n} catch (__) {}\n\nvar Type = require('../type');\n\n\n// [ 64, 65, 66 ] -> [ padding, CR, LF ]\nvar BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\r';\n\n\nfunction resolveYamlBinary(data) {\n if (data === null) return false;\n\n var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP;\n\n // Convert one by one.\n for (idx = 0; idx < max; idx++) {\n code = map.indexOf(data.charAt(idx));\n\n // Skip CR/LF\n if (code > 64) continue;\n\n // Fail on illegal characters\n if (code < 0) return false;\n\n bitlen += 6;\n }\n\n // If there are any bits left, source was corrupted\n return (bitlen % 8) === 0;\n}\n\nfunction constructYamlBinary(data) {\n var idx, tailbits,\n input = data.replace(/[\\r\\n=]/g, ''), // remove CR/LF & padding to simplify scan\n max = input.length,\n map = BASE64_MAP,\n bits = 0,\n result = [];\n\n // Collect by 6*4 bits (3 bytes)\n\n for (idx = 0; idx < max; idx++) {\n if ((idx % 4 === 0) && idx) {\n result.push((bits >> 16) & 0xFF);\n result.push((bits >> 8) & 0xFF);\n result.push(bits & 0xFF);\n }\n\n bits = (bits << 6) | map.indexOf(input.charAt(idx));\n }\n\n // Dump tail\n\n tailbits = (max % 4) * 6;\n\n if (tailbits === 0) {\n result.push((bits >> 16) & 0xFF);\n result.push((bits >> 8) & 0xFF);\n result.push(bits & 0xFF);\n } else if (tailbits === 18) {\n result.push((bits >> 10) & 0xFF);\n result.push((bits >> 2) & 0xFF);\n } else if (tailbits === 12) {\n result.push((bits >> 4) & 0xFF);\n }\n\n // Wrap into Buffer for NodeJS and leave Array for browser\n if (NodeBuffer) {\n // Support node 6.+ Buffer API when available\n return NodeBuffer.from ? NodeBuffer.from(result) : new NodeBuffer(result);\n }\n\n return result;\n}\n\nfunction representYamlBinary(object /*, style*/) {\n var result = '', bits = 0, idx, tail,\n max = object.length,\n map = BASE64_MAP;\n\n // Convert every three bytes to 4 ASCII characters.\n\n for (idx = 0; idx < max; idx++) {\n if ((idx % 3 === 0) && idx) {\n result += map[(bits >> 18) & 0x3F];\n result += map[(bits >> 12) & 0x3F];\n result += map[(bits >> 6) & 0x3F];\n result += map[bits & 0x3F];\n }\n\n bits = (bits << 8) + object[idx];\n }\n\n // Dump tail\n\n tail = max % 3;\n\n if (tail === 0) {\n result += map[(bits >> 18) & 0x3F];\n result += map[(bits >> 12) & 0x3F];\n result += map[(bits >> 6) & 0x3F];\n result += map[bits & 0x3F];\n } else if (tail === 2) {\n result += map[(bits >> 10) & 0x3F];\n result += map[(bits >> 4) & 0x3F];\n result += map[(bits << 2) & 0x3F];\n result += map[64];\n } else if (tail === 1) {\n result += map[(bits >> 2) & 0x3F];\n result += map[(bits << 4) & 0x3F];\n result += map[64];\n result += map[64];\n }\n\n return result;\n}\n\nfunction isBinary(object) {\n return NodeBuffer && NodeBuffer.isBuffer(object);\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:binary', {\n kind: 'scalar',\n resolve: resolveYamlBinary,\n construct: constructYamlBinary,\n predicate: isBinary,\n represent: representYamlBinary\n});\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n for (var i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","'use strict';\n\nvar Type = require('../type');\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\nvar _toString = Object.prototype.toString;\n\nfunction resolveYamlOmap(data) {\n if (data === null) return true;\n\n var objectKeys = [], index, length, pair, pairKey, pairHasKey,\n object = data;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n pairHasKey = false;\n\n if (_toString.call(pair) !== '[object Object]') return false;\n\n for (pairKey in pair) {\n if (_hasOwnProperty.call(pair, pairKey)) {\n if (!pairHasKey) pairHasKey = true;\n else return false;\n }\n }\n\n if (!pairHasKey) return false;\n\n if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);\n else return false;\n }\n\n return true;\n}\n\nfunction constructYamlOmap(data) {\n return data !== null ? data : [];\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:omap', {\n kind: 'sequence',\n resolve: resolveYamlOmap,\n construct: constructYamlOmap\n});\n","'use strict';\n\nvar Type = require('../type');\n\nvar _toString = Object.prototype.toString;\n\nfunction resolveYamlPairs(data) {\n if (data === null) return true;\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n if (_toString.call(pair) !== '[object Object]') return false;\n\n keys = Object.keys(pair);\n\n if (keys.length !== 1) return false;\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return true;\n}\n\nfunction constructYamlPairs(data) {\n if (data === null) return [];\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n keys = Object.keys(pair);\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return result;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:pairs', {\n kind: 'sequence',\n resolve: resolveYamlPairs,\n construct: constructYamlPairs\n});\n","'use strict';\n\nvar Type = require('../type');\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction resolveYamlSet(data) {\n if (data === null) return true;\n\n var key, object = data;\n\n for (key in object) {\n if (_hasOwnProperty.call(object, key)) {\n if (object[key] !== null) return false;\n }\n }\n\n return true;\n}\n\nfunction constructYamlSet(data) {\n return data !== null ? data : {};\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:set', {\n kind: 'mapping',\n resolve: resolveYamlSet,\n construct: constructYamlSet\n});\n","'use strict';\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptUndefined() {\n return true;\n}\n\nfunction constructJavascriptUndefined() {\n /*eslint-disable no-undefined*/\n return undefined;\n}\n\nfunction representJavascriptUndefined() {\n return '';\n}\n\nfunction isUndefined(object) {\n return typeof object === 'undefined';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/undefined', {\n kind: 'scalar',\n resolve: resolveJavascriptUndefined,\n construct: constructJavascriptUndefined,\n predicate: isUndefined,\n represent: representJavascriptUndefined\n});\n","'use strict';\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptRegExp(data) {\n if (data === null) return false;\n if (data.length === 0) return false;\n\n var regexp = data,\n tail = /\\/([gim]*)$/.exec(data),\n modifiers = '';\n\n // if regexp starts with '/' it can have modifiers and must be properly closed\n // `/foo/gim` - modifiers tail can be maximum 3 chars\n if (regexp[0] === '/') {\n if (tail) modifiers = tail[1];\n\n if (modifiers.length > 3) return false;\n // if expression starts with /, is should be properly terminated\n if (regexp[regexp.length - modifiers.length - 1] !== '/') return false;\n }\n\n return true;\n}\n\nfunction constructJavascriptRegExp(data) {\n var regexp = data,\n tail = /\\/([gim]*)$/.exec(data),\n modifiers = '';\n\n // `/foo/gim` - tail can be maximum 4 chars\n if (regexp[0] === '/') {\n if (tail) modifiers = tail[1];\n regexp = regexp.slice(1, regexp.length - modifiers.length - 1);\n }\n\n return new RegExp(regexp, modifiers);\n}\n\nfunction representJavascriptRegExp(object /*, style*/) {\n var result = '/' + object.source + '/';\n\n if (object.global) result += 'g';\n if (object.multiline) result += 'm';\n if (object.ignoreCase) result += 'i';\n\n return result;\n}\n\nfunction isRegExp(object) {\n return Object.prototype.toString.call(object) === '[object RegExp]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/regexp', {\n kind: 'scalar',\n resolve: resolveJavascriptRegExp,\n construct: constructJavascriptRegExp,\n predicate: isRegExp,\n represent: representJavascriptRegExp\n});\n","'use strict';\n\nvar esprima;\n\n// Browserified version does not have esprima\n//\n// 1. For node.js just require module as deps\n// 2. For browser try to require mudule via external AMD system.\n// If not found - try to fallback to window.esprima. If not\n// found too - then fail to parse.\n//\ntry {\n // workaround to exclude package from browserify list.\n var _require = require;\n esprima = _require('esprima');\n} catch (_) {\n /*global window */\n if (typeof window !== 'undefined') esprima = window.esprima;\n}\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptFunction(data) {\n if (data === null) return false;\n\n try {\n var source = '(' + data + ')',\n ast = esprima.parse(source, { range: true });\n\n if (ast.type !== 'Program' ||\n ast.body.length !== 1 ||\n ast.body[0].type !== 'ExpressionStatement' ||\n (ast.body[0].expression.type !== 'ArrowFunctionExpression' &&\n ast.body[0].expression.type !== 'FunctionExpression')) {\n return false;\n }\n\n return true;\n } catch (err) {\n return false;\n }\n}\n\nfunction constructJavascriptFunction(data) {\n /*jslint evil:true*/\n\n var source = '(' + data + ')',\n ast = esprima.parse(source, { range: true }),\n params = [],\n body;\n\n if (ast.type !== 'Program' ||\n ast.body.length !== 1 ||\n ast.body[0].type !== 'ExpressionStatement' ||\n (ast.body[0].expression.type !== 'ArrowFunctionExpression' &&\n ast.body[0].expression.type !== 'FunctionExpression')) {\n throw new Error('Failed to resolve function');\n }\n\n ast.body[0].expression.params.forEach(function (param) {\n params.push(param.name);\n });\n\n body = ast.body[0].expression.body.range;\n\n // Esprima's ranges include the first '{' and the last '}' characters on\n // function expressions. So cut them out.\n if (ast.body[0].expression.body.type === 'BlockStatement') {\n /*eslint-disable no-new-func*/\n return new Function(params, source.slice(body[0] + 1, body[1] - 1));\n }\n // ES6 arrow functions can omit the BlockStatement. In that case, just return\n // the body.\n /*eslint-disable no-new-func*/\n return new Function(params, 'return ' + source.slice(body[0], body[1]));\n}\n\nfunction representJavascriptFunction(object /*, style*/) {\n return object.toString();\n}\n\nfunction isFunction(object) {\n return Object.prototype.toString.call(object) === '[object Function]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/function', {\n kind: 'scalar',\n resolve: resolveJavascriptFunction,\n construct: constructJavascriptFunction,\n predicate: isFunction,\n represent: representJavascriptFunction\n});\n","'use strict';\n\n/*eslint-disable no-use-before-define*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar DEFAULT_FULL_SCHEMA = require('./schema/default_full');\nvar DEFAULT_SAFE_SCHEMA = require('./schema/default_safe');\n\nvar _toString = Object.prototype.toString;\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar CHAR_TAB = 0x09; /* Tab */\nvar CHAR_LINE_FEED = 0x0A; /* LF */\nvar CHAR_SPACE = 0x20; /* Space */\nvar CHAR_EXCLAMATION = 0x21; /* ! */\nvar CHAR_DOUBLE_QUOTE = 0x22; /* \" */\nvar CHAR_SHARP = 0x23; /* # */\nvar CHAR_PERCENT = 0x25; /* % */\nvar CHAR_AMPERSAND = 0x26; /* & */\nvar CHAR_SINGLE_QUOTE = 0x27; /* ' */\nvar CHAR_ASTERISK = 0x2A; /* * */\nvar CHAR_COMMA = 0x2C; /* , */\nvar CHAR_MINUS = 0x2D; /* - */\nvar CHAR_COLON = 0x3A; /* : */\nvar CHAR_GREATER_THAN = 0x3E; /* > */\nvar CHAR_QUESTION = 0x3F; /* ? */\nvar CHAR_COMMERCIAL_AT = 0x40; /* @ */\nvar CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */\nvar CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */\nvar CHAR_GRAVE_ACCENT = 0x60; /* ` */\nvar CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */\nvar CHAR_VERTICAL_LINE = 0x7C; /* | */\nvar CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */\n\nvar ESCAPE_SEQUENCES = {};\n\nESCAPE_SEQUENCES[0x00] = '\\\\0';\nESCAPE_SEQUENCES[0x07] = '\\\\a';\nESCAPE_SEQUENCES[0x08] = '\\\\b';\nESCAPE_SEQUENCES[0x09] = '\\\\t';\nESCAPE_SEQUENCES[0x0A] = '\\\\n';\nESCAPE_SEQUENCES[0x0B] = '\\\\v';\nESCAPE_SEQUENCES[0x0C] = '\\\\f';\nESCAPE_SEQUENCES[0x0D] = '\\\\r';\nESCAPE_SEQUENCES[0x1B] = '\\\\e';\nESCAPE_SEQUENCES[0x22] = '\\\\\"';\nESCAPE_SEQUENCES[0x5C] = '\\\\\\\\';\nESCAPE_SEQUENCES[0x85] = '\\\\N';\nESCAPE_SEQUENCES[0xA0] = '\\\\_';\nESCAPE_SEQUENCES[0x2028] = '\\\\L';\nESCAPE_SEQUENCES[0x2029] = '\\\\P';\n\nvar DEPRECATED_BOOLEANS_SYNTAX = [\n 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON',\n 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF'\n];\n\nfunction compileStyleMap(schema, map) {\n var result, keys, index, length, tag, style, type;\n\n if (map === null) return {};\n\n result = {};\n keys = Object.keys(map);\n\n for (index = 0, length = keys.length; index < length; index += 1) {\n tag = keys[index];\n style = String(map[tag]);\n\n if (tag.slice(0, 2) === '!!') {\n tag = 'tag:yaml.org,2002:' + tag.slice(2);\n }\n type = schema.compiledTypeMap['fallback'][tag];\n\n if (type && _hasOwnProperty.call(type.styleAliases, style)) {\n style = type.styleAliases[style];\n }\n\n result[tag] = style;\n }\n\n return result;\n}\n\nfunction encodeHex(character) {\n var string, handle, length;\n\n string = character.toString(16).toUpperCase();\n\n if (character <= 0xFF) {\n handle = 'x';\n length = 2;\n } else if (character <= 0xFFFF) {\n handle = 'u';\n length = 4;\n } else if (character <= 0xFFFFFFFF) {\n handle = 'U';\n length = 8;\n } else {\n throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF');\n }\n\n return '\\\\' + handle + common.repeat('0', length - string.length) + string;\n}\n\nfunction State(options) {\n this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;\n this.indent = Math.max(1, (options['indent'] || 2));\n this.noArrayIndent = options['noArrayIndent'] || false;\n this.skipInvalid = options['skipInvalid'] || false;\n this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']);\n this.styleMap = compileStyleMap(this.schema, options['styles'] || null);\n this.sortKeys = options['sortKeys'] || false;\n this.lineWidth = options['lineWidth'] || 80;\n this.noRefs = options['noRefs'] || false;\n this.noCompatMode = options['noCompatMode'] || false;\n this.condenseFlow = options['condenseFlow'] || false;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.explicitTypes = this.schema.compiledExplicit;\n\n this.tag = null;\n this.result = '';\n\n this.duplicates = [];\n this.usedDuplicates = null;\n}\n\n// Indents every line in a string. Empty lines (\\n only) are not indented.\nfunction indentString(string, spaces) {\n var ind = common.repeat(' ', spaces),\n position = 0,\n next = -1,\n result = '',\n line,\n length = string.length;\n\n while (position < length) {\n next = string.indexOf('\\n', position);\n if (next === -1) {\n line = string.slice(position);\n position = length;\n } else {\n line = string.slice(position, next + 1);\n position = next + 1;\n }\n\n if (line.length && line !== '\\n') result += ind;\n\n result += line;\n }\n\n return result;\n}\n\nfunction generateNextLine(state, level) {\n return '\\n' + common.repeat(' ', state.indent * level);\n}\n\nfunction testImplicitResolving(state, str) {\n var index, length, type;\n\n for (index = 0, length = state.implicitTypes.length; index < length; index += 1) {\n type = state.implicitTypes[index];\n\n if (type.resolve(str)) {\n return true;\n }\n }\n\n return false;\n}\n\n// [33] s-white ::= s-space | s-tab\nfunction isWhitespace(c) {\n return c === CHAR_SPACE || c === CHAR_TAB;\n}\n\n// Returns true if the character can be printed without escaping.\n// From YAML 1.2: \"any allowed characters known to be non-printable\n// should also be escaped. [However,] This isn’t mandatory\"\n// Derived from nb-char - \\t - #x85 - #xA0 - #x2028 - #x2029.\nfunction isPrintable(c) {\n return (0x00020 <= c && c <= 0x00007E)\n || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029)\n || ((0x0E000 <= c && c <= 0x00FFFD) && c !== 0xFEFF /* BOM */)\n || (0x10000 <= c && c <= 0x10FFFF);\n}\n\n// Simplified test for values allowed after the first character in plain style.\nfunction isPlainSafe(c) {\n // Uses a subset of nb-char - c-flow-indicator - \":\" - \"#\"\n // where nb-char ::= c-printable - b-char - c-byte-order-mark.\n return isPrintable(c) && c !== 0xFEFF\n // - c-flow-indicator\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n // - \":\" - \"#\"\n && c !== CHAR_COLON\n && c !== CHAR_SHARP;\n}\n\n// Simplified test for values allowed as the first character in plain style.\nfunction isPlainSafeFirst(c) {\n // Uses a subset of ns-char - c-indicator\n // where ns-char = nb-char - s-white.\n return isPrintable(c) && c !== 0xFEFF\n && !isWhitespace(c) // - s-white\n // - (c-indicator ::=\n // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}”\n && c !== CHAR_MINUS\n && c !== CHAR_QUESTION\n && c !== CHAR_COLON\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n // | “#” | “&” | “*” | “!” | “|” | “>” | “'” | “\"”\n && c !== CHAR_SHARP\n && c !== CHAR_AMPERSAND\n && c !== CHAR_ASTERISK\n && c !== CHAR_EXCLAMATION\n && c !== CHAR_VERTICAL_LINE\n && c !== CHAR_GREATER_THAN\n && c !== CHAR_SINGLE_QUOTE\n && c !== CHAR_DOUBLE_QUOTE\n // | “%” | “@” | “`”)\n && c !== CHAR_PERCENT\n && c !== CHAR_COMMERCIAL_AT\n && c !== CHAR_GRAVE_ACCENT;\n}\n\n// Determines whether block indentation indicator is required.\nfunction needIndentIndicator(string) {\n var leadingSpaceRe = /^\\n* /;\n return leadingSpaceRe.test(string);\n}\n\nvar STYLE_PLAIN = 1,\n STYLE_SINGLE = 2,\n STYLE_LITERAL = 3,\n STYLE_FOLDED = 4,\n STYLE_DOUBLE = 5;\n\n// Determines which scalar styles are possible and returns the preferred style.\n// lineWidth = -1 => no limit.\n// Pre-conditions: str.length > 0.\n// Post-conditions:\n// STYLE_PLAIN or STYLE_SINGLE => no \\n are in the string.\n// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1).\n// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1).\nfunction chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) {\n var i;\n var char;\n var hasLineBreak = false;\n var hasFoldableLine = false; // only checked if shouldTrackWidth\n var shouldTrackWidth = lineWidth !== -1;\n var previousLineBreak = -1; // count the first line correctly\n var plain = isPlainSafeFirst(string.charCodeAt(0))\n && !isWhitespace(string.charCodeAt(string.length - 1));\n\n if (singleLineOnly) {\n // Case: no block styles.\n // Check for disallowed characters to rule out plain and single.\n for (i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n plain = plain && isPlainSafe(char);\n }\n } else {\n // Case: block styles permitted.\n for (i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n if (char === CHAR_LINE_FEED) {\n hasLineBreak = true;\n // Check if any line can be folded.\n if (shouldTrackWidth) {\n hasFoldableLine = hasFoldableLine ||\n // Foldable line = too long, and not more-indented.\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' ');\n previousLineBreak = i;\n }\n } else if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n plain = plain && isPlainSafe(char);\n }\n // in case the end is missing a \\n\n hasFoldableLine = hasFoldableLine || (shouldTrackWidth &&\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' '));\n }\n // Although every style can represent \\n without escaping, prefer block styles\n // for multiline, since they're more readable and they don't add empty lines.\n // Also prefer folding a super-long line.\n if (!hasLineBreak && !hasFoldableLine) {\n // Strings interpretable as another type have to be quoted;\n // e.g. the string 'true' vs. the boolean true.\n return plain && !testAmbiguousType(string)\n ? STYLE_PLAIN : STYLE_SINGLE;\n }\n // Edge case: block indentation indicator can only have one digit.\n if (indentPerLevel > 9 && needIndentIndicator(string)) {\n return STYLE_DOUBLE;\n }\n // At this point we know block styles are valid.\n // Prefer literal style unless we want to fold.\n return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;\n}\n\n// Note: line breaking/folding is implemented for only the folded style.\n// NB. We drop the last trailing newline (if any) of a returned block scalar\n// since the dumper adds its own newline. This always works:\n// • No ending newline => unaffected; already using strip \"-\" chomping.\n// • Ending newline => removed then restored.\n// Importantly, this keeps the \"+\" chomp indicator from gaining an extra line.\nfunction writeScalar(state, string, level, iskey) {\n state.dump = (function () {\n if (string.length === 0) {\n return \"''\";\n }\n if (!state.noCompatMode &&\n DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) {\n return \"'\" + string + \"'\";\n }\n\n var indent = state.indent * Math.max(1, level); // no 0-indent scalars\n // As indentation gets deeper, let the width decrease monotonically\n // to the lower bound min(state.lineWidth, 40).\n // Note that this implies\n // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound.\n // state.lineWidth > 40 + state.indent: width decreases until the lower bound.\n // This behaves better than a constant minimum width which disallows narrower options,\n // or an indent threshold which causes the width to suddenly increase.\n var lineWidth = state.lineWidth === -1\n ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);\n\n // Without knowing if keys are implicit/explicit, assume implicit for safety.\n var singleLineOnly = iskey\n // No block styles in flow mode.\n || (state.flowLevel > -1 && level >= state.flowLevel);\n function testAmbiguity(string) {\n return testImplicitResolving(state, string);\n }\n\n switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) {\n case STYLE_PLAIN:\n return string;\n case STYLE_SINGLE:\n return \"'\" + string.replace(/'/g, \"''\") + \"'\";\n case STYLE_LITERAL:\n return '|' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(string, indent));\n case STYLE_FOLDED:\n return '>' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(foldString(string, lineWidth), indent));\n case STYLE_DOUBLE:\n return '\"' + escapeString(string, lineWidth) + '\"';\n default:\n throw new YAMLException('impossible error: invalid scalar style');\n }\n }());\n}\n\n// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9.\nfunction blockHeader(string, indentPerLevel) {\n var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : '';\n\n // note the special case: the string '\\n' counts as a \"trailing\" empty line.\n var clip = string[string.length - 1] === '\\n';\n var keep = clip && (string[string.length - 2] === '\\n' || string === '\\n');\n var chomp = keep ? '+' : (clip ? '' : '-');\n\n return indentIndicator + chomp + '\\n';\n}\n\n// (See the note for writeScalar.)\nfunction dropEndingNewline(string) {\n return string[string.length - 1] === '\\n' ? string.slice(0, -1) : string;\n}\n\n// Note: a long line without a suitable break point will exceed the width limit.\n// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0.\nfunction foldString(string, width) {\n // In folded style, $k$ consecutive newlines output as $k+1$ newlines—\n // unless they're before or after a more-indented line, or at the very\n // beginning or end, in which case $k$ maps to $k$.\n // Therefore, parse each chunk as newline(s) followed by a content line.\n var lineRe = /(\\n+)([^\\n]*)/g;\n\n // first line (possibly an empty line)\n var result = (function () {\n var nextLF = string.indexOf('\\n');\n nextLF = nextLF !== -1 ? nextLF : string.length;\n lineRe.lastIndex = nextLF;\n return foldLine(string.slice(0, nextLF), width);\n }());\n // If we haven't reached the first content line yet, don't add an extra \\n.\n var prevMoreIndented = string[0] === '\\n' || string[0] === ' ';\n var moreIndented;\n\n // rest of the lines\n var match;\n while ((match = lineRe.exec(string))) {\n var prefix = match[1], line = match[2];\n moreIndented = (line[0] === ' ');\n result += prefix\n + (!prevMoreIndented && !moreIndented && line !== ''\n ? '\\n' : '')\n + foldLine(line, width);\n prevMoreIndented = moreIndented;\n }\n\n return result;\n}\n\n// Greedy line breaking.\n// Picks the longest line under the limit each time,\n// otherwise settles for the shortest line over the limit.\n// NB. More-indented lines *cannot* be folded, as that would add an extra \\n.\nfunction foldLine(line, width) {\n if (line === '' || line[0] === ' ') return line;\n\n // Since a more-indented line adds a \\n, breaks can't be followed by a space.\n var breakRe = / [^ ]/g; // note: the match index will always be <= length-2.\n var match;\n // start is an inclusive index. end, curr, and next are exclusive.\n var start = 0, end, curr = 0, next = 0;\n var result = '';\n\n // Invariants: 0 <= start <= length-1.\n // 0 <= curr <= next <= max(0, length-2). curr - start <= width.\n // Inside the loop:\n // A match implies length >= 2, so curr and next are <= length-2.\n while ((match = breakRe.exec(line))) {\n next = match.index;\n // maintain invariant: curr - start <= width\n if (next - start > width) {\n end = (curr > start) ? curr : next; // derive end <= length-2\n result += '\\n' + line.slice(start, end);\n // skip the space that was output as \\n\n start = end + 1; // derive start <= length-1\n }\n curr = next;\n }\n\n // By the invariants, start <= length-1, so there is something left over.\n // It is either the whole string or a part starting from non-whitespace.\n result += '\\n';\n // Insert a break if the remainder is too long and there is a break available.\n if (line.length - start > width && curr > start) {\n result += line.slice(start, curr) + '\\n' + line.slice(curr + 1);\n } else {\n result += line.slice(start);\n }\n\n return result.slice(1); // drop extra \\n joiner\n}\n\n// Escapes a double-quoted string.\nfunction escapeString(string) {\n var result = '';\n var char, nextChar;\n var escapeSeq;\n\n for (var i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n // Check for surrogate pairs (reference Unicode 3.0 section \"3.7 Surrogates\").\n if (char >= 0xD800 && char <= 0xDBFF/* high surrogate */) {\n nextChar = string.charCodeAt(i + 1);\n if (nextChar >= 0xDC00 && nextChar <= 0xDFFF/* low surrogate */) {\n // Combine the surrogate pair and store it escaped.\n result += encodeHex((char - 0xD800) * 0x400 + nextChar - 0xDC00 + 0x10000);\n // Advance index one extra since we already used that char here.\n i++; continue;\n }\n }\n escapeSeq = ESCAPE_SEQUENCES[char];\n result += !escapeSeq && isPrintable(char)\n ? string[i]\n : escapeSeq || encodeHex(char);\n }\n\n return result;\n}\n\nfunction writeFlowSequence(state, level, object) {\n var _result = '',\n _tag = state.tag,\n index,\n length;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n // Write only valid elements.\n if (writeNode(state, level, object[index], false, false)) {\n if (index !== 0) _result += ',' + (!state.condenseFlow ? ' ' : '');\n _result += state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = '[' + _result + ']';\n}\n\nfunction writeBlockSequence(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n index,\n length;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n // Write only valid elements.\n if (writeNode(state, level + 1, object[index], true, true)) {\n if (!compact || index !== 0) {\n _result += generateNextLine(state, level);\n }\n\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n _result += '-';\n } else {\n _result += '- ';\n }\n\n _result += state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = _result || '[]'; // Empty sequence if no valid values.\n}\n\nfunction writeFlowMapping(state, level, object) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n pairBuffer;\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n pairBuffer = state.condenseFlow ? '\"' : '';\n\n if (index !== 0) pairBuffer += ', ';\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (!writeNode(state, level, objectKey, false, false)) {\n continue; // Skip this pair because of invalid key;\n }\n\n if (state.dump.length > 1024) pairBuffer += '? ';\n\n pairBuffer += state.dump + (state.condenseFlow ? '\"' : '') + ':' + (state.condenseFlow ? '' : ' ');\n\n if (!writeNode(state, level, objectValue, false, false)) {\n continue; // Skip this pair because of invalid value.\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = '{' + _result + '}';\n}\n\nfunction writeBlockMapping(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n explicitPair,\n pairBuffer;\n\n // Allow sorting keys so that the output file is deterministic\n if (state.sortKeys === true) {\n // Default sorting\n objectKeyList.sort();\n } else if (typeof state.sortKeys === 'function') {\n // Custom sort function\n objectKeyList.sort(state.sortKeys);\n } else if (state.sortKeys) {\n // Something is wrong\n throw new YAMLException('sortKeys must be a boolean or a function');\n }\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n pairBuffer = '';\n\n if (!compact || index !== 0) {\n pairBuffer += generateNextLine(state, level);\n }\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (!writeNode(state, level + 1, objectKey, true, true, true)) {\n continue; // Skip this pair because of invalid key.\n }\n\n explicitPair = (state.tag !== null && state.tag !== '?') ||\n (state.dump && state.dump.length > 1024);\n\n if (explicitPair) {\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += '?';\n } else {\n pairBuffer += '? ';\n }\n }\n\n pairBuffer += state.dump;\n\n if (explicitPair) {\n pairBuffer += generateNextLine(state, level);\n }\n\n if (!writeNode(state, level + 1, objectValue, true, explicitPair)) {\n continue; // Skip this pair because of invalid value.\n }\n\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += ':';\n } else {\n pairBuffer += ': ';\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = _result || '{}'; // Empty mapping if no valid pairs.\n}\n\nfunction detectType(state, object, explicit) {\n var _result, typeList, index, length, type, style;\n\n typeList = explicit ? state.explicitTypes : state.implicitTypes;\n\n for (index = 0, length = typeList.length; index < length; index += 1) {\n type = typeList[index];\n\n if ((type.instanceOf || type.predicate) &&\n (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) &&\n (!type.predicate || type.predicate(object))) {\n\n state.tag = explicit ? type.tag : '?';\n\n if (type.represent) {\n style = state.styleMap[type.tag] || type.defaultStyle;\n\n if (_toString.call(type.represent) === '[object Function]') {\n _result = type.represent(object, style);\n } else if (_hasOwnProperty.call(type.represent, style)) {\n _result = type.represent[style](object, style);\n } else {\n throw new YAMLException('!<' + type.tag + '> tag resolver accepts not \"' + style + '\" style');\n }\n\n state.dump = _result;\n }\n\n return true;\n }\n }\n\n return false;\n}\n\n// Serializes `object` and writes it to global `result`.\n// Returns true on success, or false on invalid object.\n//\nfunction writeNode(state, level, object, block, compact, iskey) {\n state.tag = null;\n state.dump = object;\n\n if (!detectType(state, object, false)) {\n detectType(state, object, true);\n }\n\n var type = _toString.call(state.dump);\n\n if (block) {\n block = (state.flowLevel < 0 || state.flowLevel > level);\n }\n\n var objectOrArray = type === '[object Object]' || type === '[object Array]',\n duplicateIndex,\n duplicate;\n\n if (objectOrArray) {\n duplicateIndex = state.duplicates.indexOf(object);\n duplicate = duplicateIndex !== -1;\n }\n\n if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) {\n compact = false;\n }\n\n if (duplicate && state.usedDuplicates[duplicateIndex]) {\n state.dump = '*ref_' + duplicateIndex;\n } else {\n if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {\n state.usedDuplicates[duplicateIndex] = true;\n }\n if (type === '[object Object]') {\n if (block && (Object.keys(state.dump).length !== 0)) {\n writeBlockMapping(state, level, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowMapping(state, level, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object Array]') {\n var arrayLevel = (state.noArrayIndent && (level > 0)) ? level - 1 : level;\n if (block && (state.dump.length !== 0)) {\n writeBlockSequence(state, arrayLevel, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowSequence(state, arrayLevel, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object String]') {\n if (state.tag !== '?') {\n writeScalar(state, state.dump, level, iskey);\n }\n } else {\n if (state.skipInvalid) return false;\n throw new YAMLException('unacceptable kind of an object to dump ' + type);\n }\n\n if (state.tag !== null && state.tag !== '?') {\n state.dump = '!<' + state.tag + '> ' + state.dump;\n }\n }\n\n return true;\n}\n\nfunction getDuplicateReferences(object, state) {\n var objects = [],\n duplicatesIndexes = [],\n index,\n length;\n\n inspectNode(object, objects, duplicatesIndexes);\n\n for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) {\n state.duplicates.push(objects[duplicatesIndexes[index]]);\n }\n state.usedDuplicates = new Array(length);\n}\n\nfunction inspectNode(object, objects, duplicatesIndexes) {\n var objectKeyList,\n index,\n length;\n\n if (object !== null && typeof object === 'object') {\n index = objects.indexOf(object);\n if (index !== -1) {\n if (duplicatesIndexes.indexOf(index) === -1) {\n duplicatesIndexes.push(index);\n }\n } else {\n objects.push(object);\n\n if (Array.isArray(object)) {\n for (index = 0, length = object.length; index < length; index += 1) {\n inspectNode(object[index], objects, duplicatesIndexes);\n }\n } else {\n objectKeyList = Object.keys(object);\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes);\n }\n }\n }\n }\n}\n\nfunction dump(input, options) {\n options = options || {};\n\n var state = new State(options);\n\n if (!state.noRefs) getDuplicateReferences(input, state);\n\n if (writeNode(state, 0, input, true, true)) return state.dump + '\\n';\n\n return '';\n}\n\nfunction safeDump(input, options) {\n return dump(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\nmodule.exports.dump = dump;\nmodule.exports.safeDump = safeDump;\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 {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\nMaterial design:\n[Tooltips](https://www.google.com/design/spec/components/tooltips.html)\n`` is a label that appears on hover and focus when the user\nhovers over an element with the cursor or with the keyboard. It will be centered\nto an anchor element specified in the `for` attribute, or, if that doesn't\nexist, centered to the parent node containing it.\nExample:\n
\n \n Tooltip text\n
\n
\n \n Tooltip text\n
\nThe tooltip can be positioned on the top|bottom|left|right of the anchor using\nthe `position` attribute. The default position is bottom.\n Tooltip text\n Tooltip text\n\n### Styling\nThe following custom properties and mixins are available for styling:\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-tooltip-background` | The background color of the tooltip | `#616161`\n`--paper-tooltip-opacity` | The opacity of the tooltip | `0.9`\n`--paper-tooltip-text-color` | The text color of the tooltip | `white`\n`--paper-tooltip` | Mixin applied to the tooltip | `{}`\n`--paper-tooltip-delay-in` | Delay before tooltip starts to fade in | `500`\n`--paper-tooltip-delay-out` | Delay before tooltip starts to fade out | `0`\n`--paper-tooltip-duration-in` | Timing for animation when showing tooltip | `500`\n`--paper-tooltip-duration-out` | Timing for animation when hiding tooltip | `0`\n`--paper-tooltip-animation` | Mixin applied to the tooltip animation | `{}`\n@group Paper Elements\n@element paper-tooltip\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n\n
\n \n
\n`,\n\n is: 'paper-tooltip',\n hostAttributes: {role: 'tooltip', tabindex: -1},\n\n properties: {\n /**\n * The id of the element that the tooltip is anchored to. This element\n * must be a sibling of the tooltip. If this property is not set,\n * then the tooltip will be centered to the parent node containing it.\n */\n for: {type: String, observer: '_findTarget'},\n /**\n * Set this to true if you want to manually control when the tooltip\n * is shown or hidden.\n */\n manualMode: {type: Boolean, value: false, observer: '_manualModeChanged'},\n /**\n * Positions the tooltip to the top, right, bottom, left of its content.\n */\n position: {type: String, value: 'bottom'},\n /**\n * If true, no parts of the tooltip will ever be shown offscreen.\n */\n fitToVisibleBounds: {type: Boolean, value: false},\n /**\n * The spacing between the top of the tooltip and the element it is\n * anchored to.\n */\n offset: {type: Number, value: 14},\n /**\n * This property is deprecated, but left over so that it doesn't\n * break exiting code. Please use `offset` instead. If both `offset` and\n * `marginTop` are provided, `marginTop` will be ignored.\n * @deprecated since version 1.0.3\n */\n marginTop: {type: Number, value: 14},\n /**\n * The delay that will be applied before the `entry` animation is\n * played when showing the tooltip.\n */\n animationDelay: {type: Number, value: 500, observer: '_delayChange'},\n /**\n * The animation that will be played on entry. This replaces the\n * deprecated animationConfig. Entries here will override the\n * animationConfig settings. You can enter your own animation\n * by setting it to the css class name.\n */\n animationEntry: {type: String, value: ''},\n /**\n * The animation that will be played on exit. This replaces the\n * deprecated animationConfig. Entries here will override the\n * animationConfig settings. You can enter your own animation\n * by setting it to the css class name.\n */\n animationExit: {type: String, value: ''},\n /**\n * This property is deprecated. Use --paper-tooltip-animation to change the\n * animation. The entry and exit animations that will be played when showing\n * and hiding the tooltip. If you want to override this, you must ensure\n * that your animationConfig has the exact format below.\n * @deprecated since version\n *\n * The entry and exit animations that will be played when showing and\n * hiding the tooltip. If you want to override this, you must ensure\n * that your animationConfig has the exact format below.\n */\n animationConfig: {\n type: Object,\n value: function() {\n return {\n 'entry':\n [{name: 'fade-in-animation', node: this, timing: {delay: 0}}],\n 'exit': [{name: 'fade-out-animation', node: this}]\n }\n }\n },\n _showing: {type: Boolean, value: false}\n },\n\n listeners: {\n 'webkitAnimationEnd': '_onAnimationEnd',\n },\n\n /**\n * Returns the target element that this tooltip is anchored to. It is\n * either the element given by the `for` attribute, or the immediate parent\n * of the tooltip.\n *\n * @type {Node}\n */\n get target() {\n var parentNode = dom(this).parentNode;\n // If the parentNode is a document fragment, then we need to use the host.\n var ownerRoot = dom(this).getOwnerRoot();\n var target;\n if (this.for) {\n target = dom(ownerRoot).querySelector('#' + this.for);\n } else {\n target = parentNode.nodeType == Node.DOCUMENT_FRAGMENT_NODE ?\n ownerRoot.host :\n parentNode;\n }\n return target;\n },\n\n /**\n * @return {void}\n */\n attached: function() {\n this._findTarget();\n },\n\n /**\n * @return {void}\n */\n detached: function() {\n if (!this.manualMode)\n this._removeListeners();\n },\n\n /**\n * Replaces Neon-Animation playAnimation - just calls show and hide.\n * @deprecated Use show and hide instead.\n * @param {string} type Either `entry` or `exit`\n */\n playAnimation: function(type) {\n if (type === 'entry') {\n this.show();\n } else if (type === 'exit') {\n this.hide();\n }\n },\n\n /**\n * Cancels the animation and either fully shows or fully hides tooltip\n */\n cancelAnimation: function() {\n // Short-cut and cancel all animations and hide\n this.$.tooltip.classList.add('cancel-animation');\n },\n\n /**\n * Shows the tooltip programatically\n * @return {void}\n */\n show: function() {\n // If the tooltip is already showing, there's nothing to do.\n if (this._showing)\n return;\n\n if (dom(this).textContent.trim() === '') {\n // Check if effective children are also empty\n var allChildrenEmpty = true;\n var effectiveChildren = dom(this).getEffectiveChildNodes();\n for (var i = 0; i < effectiveChildren.length; i++) {\n if (effectiveChildren[i].textContent.trim() !== '') {\n allChildrenEmpty = false;\n break;\n }\n }\n if (allChildrenEmpty) {\n return;\n }\n }\n\n this._showing = true;\n this.$.tooltip.classList.remove('hidden');\n this.$.tooltip.classList.remove('cancel-animation');\n this.$.tooltip.classList.remove(this._getAnimationType('exit'));\n this.updatePosition();\n this._animationPlaying = true;\n this.$.tooltip.classList.add(this._getAnimationType('entry'));\n },\n\n /**\n * Hides the tooltip programatically\n * @return {void}\n */\n hide: function() {\n // If the tooltip is already hidden, there's nothing to do.\n if (!this._showing) {\n return;\n }\n\n // If the entry animation is still playing, don't try to play the exit\n // animation since this will reset the opacity to 1. Just end the animation.\n if (this._animationPlaying) {\n this._showing = false;\n this._cancelAnimation();\n return;\n } else {\n // Play Exit Animation\n this._onAnimationFinish();\n }\n\n this._showing = false;\n this._animationPlaying = true;\n },\n\n /**\n * @return {void}\n */\n updatePosition: function() {\n if (!this._target || !this.offsetParent)\n return;\n var offset = this.offset;\n // If a marginTop has been provided by the user (pre 1.0.3), use it.\n if (this.marginTop != 14 && this.offset == 14)\n offset = this.marginTop;\n var parentRect = this.offsetParent.getBoundingClientRect();\n var targetRect = this._target.getBoundingClientRect();\n var thisRect = this.getBoundingClientRect();\n var horizontalCenterOffset = (targetRect.width - thisRect.width) / 2;\n var verticalCenterOffset = (targetRect.height - thisRect.height) / 2;\n var targetLeft = targetRect.left - parentRect.left;\n var targetTop = targetRect.top - parentRect.top;\n var tooltipLeft, tooltipTop;\n switch (this.position) {\n case 'top':\n tooltipLeft = targetLeft + horizontalCenterOffset;\n tooltipTop = targetTop - thisRect.height - offset;\n break;\n case 'bottom':\n tooltipLeft = targetLeft + horizontalCenterOffset;\n tooltipTop = targetTop + targetRect.height + offset;\n break;\n case 'left':\n tooltipLeft = targetLeft - thisRect.width - offset;\n tooltipTop = targetTop + verticalCenterOffset;\n break;\n case 'right':\n tooltipLeft = targetLeft + targetRect.width + offset;\n tooltipTop = targetTop + verticalCenterOffset;\n break;\n }\n // TODO(noms): This should use IronFitBehavior if possible.\n if (this.fitToVisibleBounds) {\n // Clip the left/right side\n if (parentRect.left + tooltipLeft + thisRect.width > window.innerWidth) {\n this.style.right = '0px';\n this.style.left = 'auto';\n } else {\n this.style.left = Math.max(0, tooltipLeft) + 'px';\n this.style.right = 'auto';\n }\n // Clip the top/bottom side.\n if (parentRect.top + tooltipTop + thisRect.height > window.innerHeight) {\n this.style.bottom = (parentRect.height - targetTop + offset) + 'px';\n this.style.top = 'auto';\n } else {\n this.style.top = Math.max(-parentRect.top, tooltipTop) + 'px';\n this.style.bottom = 'auto';\n }\n } else {\n this.style.left = tooltipLeft + 'px';\n this.style.top = tooltipTop + 'px';\n }\n },\n\n _addListeners: function() {\n if (this._target) {\n this.listen(this._target, 'mouseenter', 'show');\n this.listen(this._target, 'focus', 'show');\n this.listen(this._target, 'mouseleave', 'hide');\n this.listen(this._target, 'blur', 'hide');\n this.listen(this._target, 'tap', 'hide');\n }\n this.listen(this.$.tooltip, 'animationend', '_onAnimationEnd');\n this.listen(this, 'mouseenter', 'hide');\n },\n\n _findTarget: function() {\n if (!this.manualMode)\n this._removeListeners();\n this._target = this.target;\n if (!this.manualMode)\n this._addListeners();\n },\n\n _delayChange: function(newValue) {\n // Only Update delay if different value set\n if (newValue !== 500) {\n this.updateStyles({'--paper-tooltip-delay-in': newValue + 'ms'});\n }\n },\n\n _manualModeChanged: function() {\n if (this.manualMode)\n this._removeListeners();\n else\n this._addListeners();\n },\n\n _cancelAnimation: function() {\n // Short-cut and cancel all animations and hide\n this.$.tooltip.classList.remove(this._getAnimationType('entry'));\n this.$.tooltip.classList.remove(this._getAnimationType('exit'));\n this.$.tooltip.classList.remove('cancel-animation');\n this.$.tooltip.classList.add('hidden');\n },\n\n _onAnimationFinish: function() {\n if (this._showing) {\n this.$.tooltip.classList.remove(this._getAnimationType('entry'));\n this.$.tooltip.classList.remove('cancel-animation');\n this.$.tooltip.classList.add(this._getAnimationType('exit'));\n }\n },\n\n _onAnimationEnd: function() {\n // If no longer showing add class hidden to completely hide tooltip\n this._animationPlaying = false;\n if (!this._showing) {\n this.$.tooltip.classList.remove(this._getAnimationType('exit'));\n this.$.tooltip.classList.add('hidden');\n }\n },\n\n _getAnimationType: function(type) {\n // These properties have priority over animationConfig values\n if ((type === 'entry') && (this.animationEntry !== '')) {\n return this.animationEntry;\n }\n if ((type === 'exit') && (this.animationExit !== '')) {\n return this.animationExit;\n }\n // If no results then return the legacy value from animationConfig\n if (this.animationConfig[type] &&\n typeof this.animationConfig[type][0].name === 'string') {\n // Checking Timing and Update if necessary - Legacy for animationConfig\n if (this.animationConfig[type][0].timing &&\n this.animationConfig[type][0].timing.delay &&\n this.animationConfig[type][0].timing.delay !== 0) {\n var timingDelay = this.animationConfig[type][0].timing.delay;\n // Has Timing Change - Update CSS\n if (type === 'entry') {\n this.updateStyles({'--paper-tooltip-delay-in': timingDelay + 'ms'});\n } else if (type === 'exit') {\n this.updateStyles({'--paper-tooltip-delay-out': timingDelay + 'ms'});\n }\n }\n return this.animationConfig[type][0].name;\n }\n },\n\n _removeListeners: function() {\n if (this._target) {\n this.unlisten(this._target, 'mouseenter', 'show');\n this.unlisten(this._target, 'focus', 'show');\n this.unlisten(this._target, 'mouseleave', 'hide');\n this.unlisten(this._target, 'blur', 'hide');\n this.unlisten(this._target, 'tap', 'hide');\n }\n this.unlisten(this.$.tooltip, 'animationend', '_onAnimationEnd');\n this.unlisten(this, 'mouseenter', 'hide');\n }\n});\n"],"sourceRoot":""} \ No newline at end of file diff --git a/supervisor/api/panel/chunk.a39fb4d3ed3ccadb5a51.js b/supervisor/api/panel/chunk.a39fb4d3ed3ccadb5a51.js new file mode 100644 index 000000000..1e769220d --- /dev/null +++ b/supervisor/api/panel/chunk.a39fb4d3ed3ccadb5a51.js @@ -0,0 +1,3 @@ +/*! For license information please see chunk.a39fb4d3ed3ccadb5a51.js.LICENSE */ +(self.webpackJsonp=self.webpackJsonp||[]).push([[1],[,,,,,function(t,e,n){"use strict";var r=n(123),o=(n(8),n(10),n(95)),i=n(19);function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){for(var n=0;n can only be templatized once");t.__templatizeOwner=e;var r=(e?e.constructor:A)._parseTemplate(t),o=r.templatizeInstanceClass;o||(o=D(t,r,n),r.templatizeInstanceClass=o),M(t,r,n);var i=function(t){O(n,o);var e=w(n);function n(){return C(this,n),e.apply(this,arguments)}return n}();return i.prototype._methodHost=I(t),i.prototype.__dataHost=t,i.prototype.__templatizeOwner=e,i.prototype.__hostProps=r.hostProps,i=i}function z(t,e){for(var n;e;)if(n=e.__templatizeInstance){if(n.__dataHost==t)return n;e=n.__dataHost}else e=e.parentNode;return null}var B=n(101);function q(t){return(q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Y(t,e){for(var n=0;n child");n.disconnect(),e.render()});return void n.observe(this,{childList:!0})}this.root=this._stampTemplate(t),this.$=this.root.$,this.__children=[];for(var r=this.root.firstChild;r;r=r.nextSibling)this.__children[this.__children.length]=r;this._enableProperties()}this.__insertChildren(),this.dispatchEvent(new CustomEvent("dom-change",{bubbles:!0,composed:!0}))}}]),n}();customElements.define("dom-bind",G);var W=n(37),K=n(36),Z=n(45),Q=n(57),tt=n(32);function et(t){return(et="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nt(t,e,n){return(nt="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=st(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}function rt(t,e){for(var n=0;n child");n.disconnect(),t.__render()});return n.observe(this,{childList:!0}),!1}var r={};r[this.as]=!0,r[this.indexAs]=!0,r[this.itemsIndexAs]=!0,this.__ctor=H(e,this,{mutableData:this.mutableData,parentModel:!0,instanceProps:r,forwardHostProp:function(t,e){for(var n,r=this.__instances,o=0;o1&&void 0!==arguments[1]?arguments[1]:0;this.__renderDebouncer=K.a.debounce(this.__renderDebouncer,e>0?tt.b.after(e):tt.a,t.bind(this)),Object(Z.a)(this.__renderDebouncer)}},{key:"render",value:function(){this.__debounceRender(this.__render),Object(Z.b)()}},{key:"__render",value:function(){this.__ensureTemplatized()&&(this.__applyFullRefresh(),this.__pool.length=0,this._setRenderedItemCount(this.__instances.length),this.dispatchEvent(new CustomEvent("dom-change",{bubbles:!0,composed:!0})),this.__tryRenderChunk())}},{key:"__applyFullRefresh",value:function(){for(var t=this,e=this.items||[],n=new Array(e.length),r=0;r=i;l--)this.__detachAndRemoveInstance(l)}},{key:"__detachInstance",value:function(t){for(var e=this.__instances[t],n=0;n child");r.disconnect(),t.__render()});return r.observe(this,{childList:!0}),!1}this.__ctor=H(n,this,{mutableData:!0,forwardHostProp:function(t,e){this.__instance&&(this.if?this.__instance.forwardHostProp(t,e):(this.__invalidProps=this.__invalidProps||Object.create(null),this.__invalidProps[Object(Q.g)(t)]=!0))}})}if(this.__instance){this.__syncHostProperties();var o=this.__instance.children;if(o&&o.length)if(this.previousSibling!==o[o.length-1])for(var i,a=0;a=o.index+o.removed.length?n.set(e,t+o.addedCount-o.removed.length):n.set(e,-1))});for(var i=0;i=0&&t.linkPaths("items."+n,"selected."+e++)})}else this.__selectedMap.forEach(function(e){t.linkPaths("selected","items."+e),t.linkPaths("selectedItem","items."+e)})}},{key:"clearSelection",value:function(){this.__dataLinkedPaths={},this.__selectedMap=new Map,this.selected=this.multi?[]:null,this.selectedItem=null}},{key:"isSelected",value:function(t){return this.__selectedMap.has(t)}},{key:"isIndexSelected",value:function(t){return this.isSelected(this.items[t])}},{key:"__deselectChangedIdx",value:function(t){var e=this,n=this.__selectedIndexForItemIndex(t);if(n>=0){var r=0;this.__selectedMap.forEach(function(t,o){n==r++&&e.deselect(o)})}}},{key:"__selectedIndexForItemIndex",value:function(t){var e=this.__dataLinkedPaths["items."+t];if(e)return parseInt(e.slice("selected.".length),10)}},{key:"deselect",value:function(t){var e,n=this.__selectedMap.get(t);n>=0&&(this.__selectedMap.delete(t),this.multi&&(e=this.__selectedIndexForItemIndex(n)),this.__updateLinks(),this.multi?this.splice("selected",e,1):this.selected=this.selectedItem=null)}},{key:"deselectIndex",value:function(t){this.deselect(this.items[t])}},{key:"select",value:function(t){this.selectIndex(this.items.indexOf(t))}},{key:"selectIndex",value:function(t){var e=this.items[t];this.isSelected(e)?this.toggle&&this.deselectIndex(t):(this.multi||this.__selectedMap.clear(),this.__selectedMap.set(e,t),this.__updateLinks(),this.multi?this.push("selected",e):this.selected=this.selectedItem=e)}}]),r}()})(W.a),jt=function(t){St(n,Tt);var e=Ct(n);function n(){return Ot(this,n),e.apply(this,arguments)}return wt(n,null,[{key:"is",get:function(){return"array-selector"}}]),n}();customElements.define(jt.is,jt);n(128);y._mutablePropertyChange;Boolean,n(7);n.d(e,"a",function(){return Rt});var Rt=Object(r.a)(HTMLElement).prototype},,function(t,e,n){"use strict";n.d(e,"a",function(){return a});n(10);function r(t,e){for(var n=0;n1?n-1:0),a=1;a=0){if(!i[e])throw new Error("invalid async handle: "+t);i[e]=null}}}},,,,function(t,e,n){"use strict";n.d(e,"a",function(){return o});n(10),n(19),n(32);function r(t,e){for(var n=0;n=0}function o(t){var e=t.indexOf(".");return-1===e?t:t.slice(0,e)}function i(t,e){return 0===t.indexOf(e+".")}function a(t,e){return 0===e.indexOf(t+".")}function s(t,e,n){return e+n.slice(t.length)}function u(t,e){return t===e||i(t,e)||a(t,e)}function c(t){if(Array.isArray(t)){for(var e=[],n=0;n1){for(var a=0;a-1}var v=!1;function m(t){if(!_(t)&&"touchend"!==t)return a&&v&&i.b?{passive:!0}:void 0}!function(){try{var t=Object.defineProperty({},"passive",{get:function(){v=!0}});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(e){}}();var b=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/),g=[],O={button:!0,input:!0,keygen:!0,meter:!0,output:!0,textarea:!0,progress:!0,select:!0},P={button:!0,command:!0,fieldset:!0,input:!0,keygen:!0,optgroup:!0,option:!0,select:!0,textarea:!0};function w(t){var e=Array.prototype.slice.call(t.labels||[]);if(!e.length){e=[];var n=t.getRootNode();if(t.id)for(var r=n.querySelectorAll("label[for = ".concat(t.id,"]")),o=0;o-1;if(o[i]===E.mouse.target)return}if(r)return;t.preventDefault(),t.stopPropagation()}};function k(t){for(var e,n=b?["click"]:p,r=0;r0?e[0]:t.target}return t.target}function N(t){var e,n=t.type,r=t.currentTarget[s];if(r){var o=r[n];if(o){if(!t[u]&&(t[u]={},"touch"===n.slice(0,5))){var i=(t=t).changedTouches[0];if("touchstart"===n&&1===t.touches.length&&(E.touch.id=i.identifier),E.touch.id!==i.identifier)return;a||"touchstart"!==n&&"touchmove"!==n||function(t){var e=t.changedTouches[0],n=t.type;if("touchstart"===n)E.touch.x=e.clientX,E.touch.y=e.clientY,E.touch.scrollDecided=!1;else if("touchmove"===n){if(E.touch.scrollDecided)return;E.touch.scrollDecided=!0;var r=function(t){var e="auto",n=t.composedPath&&t.composedPath();if(n)for(var r,o=0;oi:"pan-y"===r&&(o=i>a)),o?t.preventDefault():H("track")}}(t)}if(!(e=t[u]).skip){for(var l,f=0;f-1&&l.reset&&l.reset();for(var h,p=0;p=f||o>=f}function q(t,e,n){if(e){var r,o=t.moves[t.moves.length-2],i=t.moves[t.moves.length-1],a=i.x-t.x,s=i.y-t.y,u=0;o&&(r=i.x-o.x,u=i.y-o.y),F(e,"track",{state:t.state,x:n.clientX,y:n.clientY,dx:a,dy:s,ddx:r,ddy:u,sourceEvent:n,hover:function(){return function(t,e){for(var n=document.elementFromPoint(t,e),r=n;r&&r.shadowRoot&&!window.ShadyDOM&&r!==(r=r.shadowRoot.elementFromPoint(t,e));)r&&(n=r);return n}(n.clientX,n.clientY)}})}}function Y(t,e,n){var r=Math.abs(e.clientX-t.x),o=Math.abs(e.clientY-t.y),i=A(n||e);!i||P[i.localName]&&i.hasAttribute("disabled")||(isNaN(r)||isNaN(o)||r<=l&&o<=l||function(t){if("click"===t.type){if(0===t.detail)return!0;var e=A(t);if(!e.nodeType||e.nodeType!==Node.ELEMENT_NODE)return!0;var n=e.getBoundingClientRect(),r=t.pageX,o=t.pageY;return!(r>=n.left&&r<=n.right&&o>=n.top&&o<=n.bottom)}return!1}(e))&&(t.prevent||F(i,"tap",{x:e.clientX,y:e.clientY,sourceEvent:e,preventer:n}))}M({name:"downup",deps:["mousedown","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["down","up"],info:{movefn:null,upfn:null},reset:function(){j(this.info)},mousedown:function(t){if(C(t)){var e=A(t),n=this;T(this.info,function(t){C(t)||(z("up",e,t),j(n.info))},function(t){C(t)&&z("up",e,t),j(n.info)}),z("down",e,t)}},touchstart:function(t){z("down",A(t),t.changedTouches[0],t)},touchend:function(t){z("up",A(t),t.changedTouches[0],t)}}),M({name:"track",touchAction:"none",deps:["mousedown","touchstart","touchmove","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["track"],info:{x:0,y:0,state:"start",started:!1,moves:[],addMove:function(t){this.moves.length>2&&this.moves.shift(),this.moves.push(t)},movefn:null,upfn:null,prevent:!1},reset:function(){this.info.state="start",this.info.started=!1,this.info.moves=[],this.info.x=0,this.info.y=0,this.info.prevent=!1,j(this.info)},mousedown:function(t){if(C(t)){var e=A(t),n=this,r=function(t){var r=t.clientX,o=t.clientY;B(n.info,r,o)&&(n.info.state=n.info.started?"mouseup"===t.type?"end":"track":"start","start"===n.info.state&&H("tap"),n.info.addMove({x:r,y:o}),C(t)||(n.info.state="end",j(n.info)),e&&q(n.info,e,t),n.info.started=!0)};T(this.info,r,function(t){n.info.started&&r(t),j(n.info)}),this.info.x=t.clientX,this.info.y=t.clientY}},touchstart:function(t){var e=t.changedTouches[0];this.info.x=e.clientX,this.info.y=e.clientY},touchmove:function(t){var e=A(t),n=t.changedTouches[0],r=n.clientX,o=n.clientY;B(this.info,r,o)&&("start"===this.info.state&&H("tap"),this.info.addMove({x:r,y:o}),q(this.info,e,n),this.info.state="track",this.info.started=!0)},touchend:function(t){var e=A(t),n=t.changedTouches[0];this.info.started&&(this.info.state="end",this.info.addMove({x:n.clientX,y:n.clientY}),q(this.info,e,n))}}),M({name:"tap",deps:["mousedown","click","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["click","touchend"]},emits:["tap"],info:{x:NaN,y:NaN,prevent:!1},reset:function(){this.info.x=NaN,this.info.y=NaN,this.info.prevent=!1},mousedown:function(t){C(t)&&(this.info.x=t.clientX,this.info.y=t.clientY)},click:function(t){C(t)&&Y(this.info,t)},touchstart:function(t){var e=t.changedTouches[0];this.info.x=e.clientX,this.info.y=e.clientY},touchend:function(t){Y(this.info,t.changedTouches[0],t)}});var V=A,U=I},function(t,e,n){"use strict";n.d(e,"b",function(){return f}),n.d(e,"a",function(){return p});var r=n(123);function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function i(t,e){for(var n=0;n=0;o--){var i=e[o];i?Array.isArray(i)?t(i,n):n.indexOf(i)<0&&(!r||r.indexOf(i)<0)&&n.unshift(i):console.warn("behavior is null, check for missing or 404 import")}return n}(t,null,n),e),n&&(t=n.concat(t)),e.prototype.behaviors=t,e}function h(t,e){var n=function(n){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&s(t,e)}(h,e);var r,o,l,f=u(h);function h(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,h),f.apply(this,arguments)}return r=h,l=[{key:"properties",get:function(){return t.properties}},{key:"observers",get:function(){return t.observers}}],(o=[{key:"created",value:function(){a(c(h.prototype),"created",this).call(this),t.created&&t.created.call(this)}},{key:"_registered",value:function(){a(c(h.prototype),"_registered",this).call(this),t.beforeRegister&&t.beforeRegister.call(Object.getPrototypeOf(this)),t.registered&&t.registered.call(Object.getPrototypeOf(this))}},{key:"_applyListeners",value:function(){if(a(c(h.prototype),"_applyListeners",this).call(this),t.listeners)for(var e in t.listeners)this._addMethodEventListenerToNode(this,e,t.listeners[e])}},{key:"_ensureAttributes",value:function(){if(t.hostAttributes)for(var e in t.hostAttributes)this._ensureAttribute(e,t.hostAttributes[e]);a(c(h.prototype),"_ensureAttributes",this).call(this)}},{key:"ready",value:function(){a(c(h.prototype),"ready",this).call(this),t.ready&&t.ready.call(this)}},{key:"attached",value:function(){a(c(h.prototype),"attached",this).call(this),t.attached&&t.attached.call(this)}},{key:"detached",value:function(){a(c(h.prototype),"detached",this).call(this),t.detached&&t.detached.call(this)}},{key:"attributeChanged",value:function(e,n,r){a(c(h.prototype),"attributeChanged",this).call(this,e,n,r),t.attributeChanged&&t.attributeChanged.call(this,e,n,r)}}])&&i(r.prototype,o),l&&i(r,l),h}();for(var r in n.generatedFrom=t,t)if(!(r in l)){var o=Object.getOwnPropertyDescriptor(t,r);o&&Object.defineProperty(n.prototype,r,o)}return n}var p=function(t,e){t||console.warn("Polymer's Class function requires `info` argument");var n=t.behaviors?f(t.behaviors,HTMLElement):Object(r.a)(HTMLElement),o=h(t,e?e(n):n);return o.is=t.is,o}},,,,,,,,,,,,,,function(t,e,n){"use strict";n(10);var r=n(24),o=n(19),i=n(98),a=n(44),s=n(79),u=n(95),c=n(100);function l(t){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function f(t,e){for(var n=0;nl.source.length&&"property"==c.kind&&!c.isCompound&&u.__isPropertyEffectsClient&&u.__dataHasAccessor&&u.__dataHasAccessor[c.target]){var f=n[e];e=Object(o.i)(l.source,c.target,e),u._setPendingPropertyOrPath(e,f,!1,!0)&&t._enqueueClient(u)}else{!function(t,e,n,r,o){o=function(t,e,n,r){if(n.isCompound){var o=t.__dataCompoundStorage[n.target];o[r.compoundIndex]=e,e=o.join("")}return"attribute"!==n.kind&&("textContent"!==n.target&&("value"!==n.target||"input"!==t.localName&&"textarea"!==t.localName)||(e=null==e?"":e)),e}(e,o,n,r),b.d&&(o=Object(b.d)(o,n.target,n.kind,e));if("attribute"==n.kind)t._valueToNodeAttribute(e,o,n.target);else{var i=n.target;e.__isPropertyEffectsClient&&e.__dataHasAccessor&&e.__dataHasAccessor[i]?e[j.READ_ONLY]&&e[j.READ_ONLY][i]||e._setPendingProperty(i,o)&&t._enqueueClient(e):t._setUnmanagedPropertyToNode(e,i,o)}}(t,u,c,l,i.evaluator._evaluateBinding(t,l,e,n,r,a))}}function V(t,e){if(e.isCompound){for(var n=t.__dataCompoundStorage||(t.__dataCompoundStorage={}),r=e.parts,o=new Array(r.length),i=0;i="0"&&r<="9"&&(r="#"),r){case"'":case'"':n.value=e.slice(1,-1),n.literal=!0;break;case"#":n.value=Number(e),n.literal=!0}return n.literal||(n.rootProperty=Object(o.g)(e),n.structured=Object(o.d)(e),n.structured&&(n.wildcard=".*"==e.slice(-2),n.wildcard&&(n.name=e.slice(0,-2)))),n}function Q(t,e,n,r){var o=n+".splices";t.notifyPath(o,{indexSplices:r}),t.notifyPath(n+".length",e.length),t.__data[o]={indexSplices:null}}function tt(t,e,n,r,o,i){Q(t,e,n,[{index:r,addedCount:o,removed:i,object:e,type:"splice"}])}var et=Object(r.a)(function(t){var e=m(Object(a.a)(t)),n=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&S(t,e)}(r,e);var n=k(r);function r(){var t;return g(this,r),(t=n.call(this)).__isPropertyEffectsClient=!0,t.__dataCounter=0,t.__dataClientsReady,t.__dataPendingClients,t.__dataToNotify,t.__dataLinkedPaths,t.__dataHasPaths,t.__dataCompoundStorage,t.__dataHost,t.__dataTemp,t.__dataClientsInitialized,t.__data,t.__dataPending,t.__dataOld,t.__computeEffects,t.__reflectEffects,t.__notifyEffects,t.__propagateEffects,t.__observeEffects,t.__readOnly,t.__templateInfo,t}return P(r,[{key:"_initializeProperties",value:function(){w(C(r.prototype),"_initializeProperties",this).call(this),nt.registerHost(this),this.__dataClientsReady=!1,this.__dataPendingClients=null,this.__dataToNotify=null,this.__dataLinkedPaths=null,this.__dataHasPaths=!1,this.__dataCompoundStorage=this.__dataCompoundStorage||null,this.__dataHost=this.__dataHost||null,this.__dataTemp={},this.__dataClientsInitialized=!1}},{key:"_initializeProtoProperties",value:function(t){this.__data=Object.create(t),this.__dataPending=Object.create(t),this.__dataOld={}}},{key:"_initializeInstanceProperties",value:function(t){var e=this[j.READ_ONLY];for(var n in t)e&&e[n]||(this.__dataPending=this.__dataPending||{},this.__dataOld=this.__dataOld||{},this.__data[n]=this.__dataPending[n]=t[n])}},{key:"_addPropertyEffect",value:function(t,e,n){this._createPropertyAccessor(t,e==j.READ_ONLY);var r=x(this,e)[t];r||(r=this[e][t]=[]),r.push(n)}},{key:"_removePropertyEffect",value:function(t,e,n){var r=x(this,e)[t],o=r.indexOf(n);o>=0&&r.splice(o,1)}},{key:"_hasPropertyEffect",value:function(t,e){var n=this[e];return Boolean(n&&n[t])}},{key:"_hasReadOnlyEffect",value:function(t){return this._hasPropertyEffect(t,j.READ_ONLY)}},{key:"_hasNotifyEffect",value:function(t){return this._hasPropertyEffect(t,j.NOTIFY)}},{key:"_hasReflectEffect",value:function(t){return this._hasPropertyEffect(t,j.REFLECT)}},{key:"_hasComputedEffect",value:function(t){return this._hasPropertyEffect(t,j.COMPUTE)}},{key:"_setPendingPropertyOrPath",value:function(t,e,n,i){if(i||Object(o.g)(Array.isArray(t)?t[0]:t)!==t){if(!i){var a=Object(o.a)(this,t);if(!(t=Object(o.h)(this,t,e))||!w(C(r.prototype),"_shouldPropertyChange",this).call(this,t,e,a))return!1}if(this.__dataHasPaths=!0,this._setPendingProperty(t,e,n))return function(t,e,n){var r,i=t.__dataLinkedPaths;if(i)for(var a in i){var s=i[a];Object(o.c)(a,e)?(r=Object(o.i)(a,s,e),t._setPendingPropertyOrPath(r,n,!0,!0)):Object(o.c)(s,e)&&(r=Object(o.i)(s,a,e),t._setPendingPropertyOrPath(r,n,!0,!0))}}(this,t,e),!0}else{if(this.__dataHasAccessor&&this.__dataHasAccessor[t])return this._setPendingProperty(t,e,n);this[t]=e}return!1}},{key:"_setUnmanagedPropertyToNode",value:function(t,e,n){n===t[e]&&"object"!=E(n)||(t[e]=n)}},{key:"_setPendingProperty",value:function(t,e,n){var r=this.__dataHasPaths&&Object(o.d)(t),i=r?this.__dataTemp:this.__data;return!!this._shouldPropertyChange(t,e,i[t])&&(this.__dataPending||(this.__dataPending={},this.__dataOld={}),t in this.__dataOld||(this.__dataOld[t]=this.__data[t]),r?this.__dataTemp[t]=e:this.__data[t]=e,this.__dataPending[t]=e,(r||this[j.NOTIFY]&&this[j.NOTIFY][t])&&(this.__dataToNotify=this.__dataToNotify||{},this.__dataToNotify[t]=n),!0)}},{key:"_setProperty",value:function(t,e){this._setPendingProperty(t,e,!0)&&this._invalidateProperties()}},{key:"_invalidateProperties",value:function(){this.__dataReady&&this._flushProperties()}},{key:"_enqueueClient",value:function(t){this.__dataPendingClients=this.__dataPendingClients||[],t!==this&&this.__dataPendingClients.push(t)}},{key:"_flushProperties",value:function(){this.__dataCounter++,w(C(r.prototype),"_flushProperties",this).call(this),this.__dataCounter--}},{key:"_flushClients",value:function(){this.__dataClientsReady?this.__enableOrFlushClients():(this.__dataClientsReady=!0,this._readyClients(),this.__dataReady=!0)}},{key:"__enableOrFlushClients",value:function(){var t=this.__dataPendingClients;if(t){this.__dataPendingClients=null;for(var e=0;e1?i-1:0),s=1;s3?r-3:0),a=3;a1?r-1:0),a=1;ao&&r.push({literal:t.slice(o,n.index)});var i=n[1][0],a=Boolean(n[2]),s=n[3].trim(),u=!1,c="",l=-1;"{"==i&&(l=s.indexOf("::"))>0&&(c=s.substring(l+2),s=s.substring(0,l),u=!0);var f=K(s),h=[];if(f){for(var p=f.args,d=f.methodName,y=0;yt.length)&&(e=t.length);for(var n=0,r=new Array(e);n0||n>0;)if(0!=e)if(0!=n){var c=t[e-1][n-1],l=t[e-1][n],f=t[e][n-1],h=void 0;(h=l2&&void 0!==arguments[2]?arguments[2]:"",r="";if(t.cssText||t.rules){var o=t.rules;if(o&&!function(t){var e=t[0];return Boolean(e)&&Boolean(e.selector)&&0===e.selector.indexOf(f)}(o))for(var i,s=0,h=o.length;s1&&void 0!==arguments[1]?arguments[1]:"",n=g(t);return this.transformRules(n,e),t.textContent=b(n),n}},{key:"transformCustomStyle",value:function(t){var e=this,n=g(t);return O(n,function(t){":root"===t.selector&&(t.selector="html"),e.transformRule(t)}),t.textContent=b(n),n}},{key:"transformRules",value:function(t,e){var n=this;this._currentElement=e,O(t,function(t){n.transformRule(t)}),this._currentElement=null}},{key:"transformRule",value:function(t){t.cssText=this.transformCssText(t.parsedCssText,t),":root"===t.selector&&(t.selector=":host > *")}},{key:"transformCssText",value:function(t,e){var n=this;return t=t.replace(d.c,function(t,r,o,i){return n._produceCssProperties(t,r,o,i,e)}),this._consumeCssProperties(t,e)}},{key:"_getInitialValueForProperty",value:function(t){return this._measureElement||(this._measureElement=document.createElement("meta"),this._measureElement.setAttribute("apply-shim-measure",""),this._measureElement.style.all="initial",document.head.appendChild(this._measureElement)),window.getComputedStyle(this._measureElement).getPropertyValue(t)}},{key:"_fallbacksFromPreviousRules",value:function(t){for(var e=this,n=t;n.parent;)n=n.parent;var r={},o=!1;return O(n,function(n){(o=o||n===t)||n.selector===t.selector&&Object.assign(r,e._cssTextToMap(n.parsedCssText))}),r}},{key:"_consumeCssProperties",value:function(t,e){for(var n=null;n=d.b.exec(t);){var r=n[0],o=n[1],i=n.index,a=i+r.indexOf("@apply"),s=i+r.length,u=t.slice(0,a),c=t.slice(s),l=e?this._fallbacksFromPreviousRules(e):{};Object.assign(l,this._cssTextToMap(u));var f=this._atApplyToCssProperties(o,l);t="".concat(u).concat(f).concat(c),d.b.lastIndex=i+f.length}return t}},{key:"_atApplyToCssProperties",value:function(t,e){t=t.replace(R,"");var n=[],r=this._map.get(t);if(r||(this._map.set(t,{}),r=this._map.get(t)),r){var o,i,a;this._currentElement&&(r.dependants[this._currentElement]=!0);var s=r.properties;for(o in s)i=[o,": var(",t,"_-_",o],(a=e&&e[o])&&i.push(",",a.replace(A,"")),i.push(")"),A.test(s[o])&&i.push(" !important"),n.push(i.join(""))}return n.join("; ")}},{key:"_replaceInitialOrInherit",value:function(t,e){var n=x.exec(e);return n&&(e=n[1]?this._getInitialValueForProperty(t):"apply-shim-inherit"),e}},{key:"_cssTextToMap",value:function(t){for(var e,n,r,o,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=t.split(";"),s={},u=0;u1&&(e=o[0].trim(),n=o.slice(1).join(":"),i&&(n=this._replaceInitialOrInherit(e,n)),s[e]=n);return s}},{key:"_invalidateMixinEntry",value:function(t){if(I)for(var e in t.dependants)e!==this._currentElement&&I(e)}},{key:"_produceCssProperties",value:function(t,e,n,r,o){var i=this;if(n&&function t(e,n){var r=e.indexOf("var(");if(-1===r)return n(e,"","","");var o=P(e,r+3),i=e.substring(r+4,o),a=e.substring(0,r),s=t(e.substring(o+1),n),u=i.indexOf(",");return-1===u?n(a,i.trim(),"",s):n(a,i.substring(0,u).trim(),i.substring(u+1).trim(),s)}(n,function(t,e){e&&i._map.get(e)&&(r="@apply ".concat(e,";"))}),!r)return t;var a=this._consumeCssProperties(""+r,o),s=t.slice(0,t.indexOf("--")),u=this._cssTextToMap(a,!0),c=u,l=this._map.get(e),f=l&&l.properties;f?c=Object.assign(Object.create(f),u):this._map.set(e,c);var h,p,d=[],y=!1;for(h in c)void 0===(p=u[h])&&(p="initial"),!f||h in f||(y=!0),d.push("".concat(e).concat("_-_").concat(h,": ").concat(p));return y&&this._invalidateMixinEntry(l),l&&(l.properties=c),n&&(s="".concat(t,";").concat(s)),"".concat(s).concat(d.join("; "),";")}}]),t}();D.prototype.detectMixin=D.prototype.detectMixin,D.prototype.transformStyle=D.prototype.transformStyle,D.prototype.transformCustomStyle=D.prototype.transformCustomStyle,D.prototype.transformRules=D.prototype.transformRules,D.prototype.transformRule=D.prototype.transformRule,D.prototype.transformTemplate=D.prototype.transformTemplate,D.prototype._separator="_-_",Object.defineProperty(D.prototype,"invalidCallback",{get:function(){return I},set:function(t){I=t}});var M=D,L={},F="_applyShimCurrentVersion",H="_applyShimNextVersion",z="_applyShimValidatingVersion",B=Promise.resolve();function q(t){var e=L[t];e&&function(t){t[F]=t[F]||0,t[z]=t[z]||0,t[H]=(t[H]||0)+1}(e)}function Y(t){return t[F]===t[H]}function V(t){return!Y(t)&&t[z]===t[H]}function U(t){t[z]=t[H],t._validating||(t._validating=!0,B.then(function(){t[F]=t[H],t._validating=!1}))}n(130);function $(t,e){for(var n=0;n-1?n=e:(r=e,n=t.getAttribute&&t.getAttribute("is")||""):(n=t.is,r=t.extends),{is:n,typeExtension:r}}(t).is,n=L[e];if((!n||!k(n))&&n&&!Y(n)){V(n)||(this.prepareTemplate(n,e),U(n));var r=t.shadowRoot;if(r){var o=r.querySelector("style");o&&(o.__cssRules=n._styleAst,o.textContent=b(n._styleAst))}}}},{key:"styleDocument",value:function(t){this.ensure(),this.styleSubtree(document.body,t)}}])&&$(e.prototype,n),r&&$(e,r),t}();if(!window.ShadyCSS||!window.ShadyCSS.ScopingShim){var G=new X,W=window.ShadyCSS&&window.ShadyCSS.CustomStyleInterface;window.ShadyCSS={prepareTemplate:function(t,e,n){G.flushCustomStyles(),G.prepareTemplate(t,e)},prepareTemplateStyles:function(t,e,n){window.ShadyCSS.prepareTemplate(t,e,n)},prepareTemplateDom:function(t,e){},styleSubtree:function(t,e){G.flushCustomStyles(),G.styleSubtree(t,e)},styleElement:function(t){G.flushCustomStyles(),G.styleElement(t)},styleDocument:function(t){G.flushCustomStyles(),G.styleDocument(t)},getComputedStyleValue:function(t,e){return Object(C.b)(t,e)},flushCustomStyles:function(){G.flushCustomStyles()},nativeCss:r.c,nativeShadow:r.d,cssBuild:r.a,disableRuntime:r.b},W&&(window.ShadyCSS.CustomStyleInterface=W)}window.ShadyCSS.ApplyShim=J;var K=n(74),Z=n(101),Q=n(99),tt=n(19);function et(t){return(et="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nt(t,e){for(var n=0;n-1&<.splice(t,1)}}}]),r}();return n.__activateDir=!1,n});n(80);function vt(){document.body.removeAttribute("unresolved")}"interactive"===document.readyState||"complete"===document.readyState?vt():window.addEventListener("DOMContentLoaded",vt);var mt=n(9),bt=n(59),gt=n(36),Ot=n(32),Pt=n(57);function wt(t){return(wt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function St(t){return function(t){if(Array.isArray(t))return kt(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return kt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return kt(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function kt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n0?Ot.b.after(n):Ot.a,e.bind(this))}},{key:"isDebouncerActive",value:function(t){this._debouncers=this._debouncers||{};var e=this._debouncers[t];return!(!e||!e.isActive())}},{key:"flushDebouncer",value:function(t){this._debouncers=this._debouncers||{};var e=this._debouncers[t];e&&e.flush()}},{key:"cancelDebouncer",value:function(t){this._debouncers=this._debouncers||{};var e=this._debouncers[t];e&&e.cancel()}},{key:"async",value:function(t,e){return e>0?Ot.b.run(t.bind(this),e):~Ot.a.run(t.bind(this))}},{key:"cancelAsync",value:function(t){t<0?Ot.a.cancel(~t):Ot.b.cancel(t)}},{key:"create",value:function(t,e){var n=document.createElement(t);if(e)if(n.setProperties)n.setProperties(e);else for(var r in e)n[r]=e[r];return n}},{key:"elementMatches",value:function(t,e){return Object(mt.b)(e||this,t)}},{key:"toggleAttribute",value:function(t,e){var n=this;return 3===arguments.length&&(n=arguments[2]),1==arguments.length&&(e=!n.hasAttribute(t)),e?(n.setAttribute(t,""),!0):(n.removeAttribute(t),!1)}},{key:"toggleClass",value:function(t,e,n){n=n||this,1==arguments.length&&(e=!n.classList.contains(t)),e?n.classList.add(t):n.classList.remove(t)}},{key:"transform",value:function(t,e){(e=e||this).style.webkitTransform=t,e.style.transform=t}},{key:"translate3d",value:function(t,e,n,r){r=r||this,this.transform("translate3d("+t+","+e+","+n+")",r)}},{key:"arrayDelete",value:function(t,e){var n;if(Array.isArray(t)){if((n=t.indexOf(e))>=0)return t.splice(n,1)}else if((n=Object(Pt.a)(this,t).indexOf(e))>=0)return this.splice(t,n,1);return null}},{key:"_logger",value:function(t,e){var n;switch(Array.isArray(e)&&1===e.length&&Array.isArray(e[0])&&(e=e[0]),t){case"log":case"warn":case"error":(n=console)[t].apply(n,St(e))}}},{key:"_log",value:function(){for(var t=arguments.length,e=new Array(t),n=0;n1?e-1:0),r=1;r {\n\n /**\n * @polymer\n * @mixinClass\n * @implements {Polymer_MutableData}\n */\n class MutableData extends superClass {\n /**\n * Overrides `PropertyEffects` to provide option for skipping\n * strict equality checking for Objects and Arrays.\n *\n * This method pulls the value to dirty check against from the `__dataTemp`\n * cache (rather than the normal `__data` cache) for Objects. Since the temp\n * cache is cleared at the end of a turn, this implementation allows\n * side-effects of deep object changes to be processed by re-setting the\n * same object (using the temp cache as an in-turn backstop to prevent\n * cycles due to 2-way notification).\n *\n * @param {string} property Property name\n * @param {*} value New property value\n * @param {*} old Previous property value\n * @return {boolean} Whether the property should be considered a change\n * @protected\n */\n _shouldPropertyChange(property, value, old) {\n return mutablePropertyChange(this, property, value, old, true);\n }\n\n }\n\n return MutableData;\n\n});\n\n/**\n * Element class mixin to add the optional ability to skip strict\n * dirty-checking for objects and arrays (always consider them to be\n * \"dirty\") by setting a `mutable-data` attribute on an element instance.\n *\n * By default, `PropertyEffects` performs strict dirty checking on\n * objects, which means that any deep modifications to an object or array will\n * not be propagated unless \"immutable\" data patterns are used (i.e. all object\n * references from the root to the mutation were changed).\n *\n * Polymer also provides a proprietary data mutation and path notification API\n * (e.g. `notifyPath`, `set`, and array mutation API's) that allow efficient\n * mutation and notification of deep changes in an object graph to all elements\n * bound to the same object graph.\n *\n * In cases where neither immutable patterns nor the data mutation API can be\n * used, applying this mixin will allow Polymer to skip dirty checking for\n * objects and arrays (always consider them to be \"dirty\"). This allows a\n * user to make a deep modification to a bound object graph, and then either\n * simply re-set the object (e.g. `this.items = this.items`) or call `notifyPath`\n * (e.g. `this.notifyPath('items')`) to update the tree. Note that all\n * elements that wish to be updated based on deep mutations must apply this\n * mixin or otherwise skip strict dirty checking for objects/arrays.\n * Specifically, any elements in the binding tree between the source of a\n * mutation and the consumption of it must enable this mixin or apply the\n * `MutableData` mixin.\n *\n * While this mixin adds the ability to forgo Object/Array dirty checking,\n * the `mutableData` flag defaults to false and must be set on the instance.\n *\n * Note, the performance characteristics of propagating large object graphs\n * will be worse by relying on `mutableData: true` as opposed to using\n * strict dirty checking with immutable patterns or Polymer's path notification\n * API.\n *\n * @mixinFunction\n * @polymer\n * @summary Element class mixin to optionally skip strict dirty-checking\n * for objects and arrays\n */\nexport const OptionalMutableData = dedupingMixin(superClass => {\n\n /**\n * @mixinClass\n * @polymer\n * @implements {Polymer_OptionalMutableData}\n */\n class OptionalMutableData extends superClass {\n\n static get properties() {\n return {\n /**\n * Instance-level flag for configuring the dirty-checking strategy\n * for this element. When true, Objects and Arrays will skip dirty\n * checking, otherwise strict equality checking will be used.\n */\n mutableData: Boolean\n };\n }\n\n /**\n * Overrides `PropertyEffects` to provide option for skipping\n * strict equality checking for Objects and Arrays.\n *\n * When `this.mutableData` is true on this instance, this method\n * pulls the value to dirty check against from the `__dataTemp` cache\n * (rather than the normal `__data` cache) for Objects. Since the temp\n * cache is cleared at the end of a turn, this implementation allows\n * side-effects of deep object changes to be processed by re-setting the\n * same object (using the temp cache as an in-turn backstop to prevent\n * cycles due to 2-way notification).\n *\n * @param {string} property Property name\n * @param {*} value New property value\n * @param {*} old Previous property value\n * @return {boolean} Whether the property should be considered a change\n * @protected\n */\n _shouldPropertyChange(property, value, old) {\n return mutablePropertyChange(this, property, value, old, this.mutableData);\n }\n }\n\n return OptionalMutableData;\n\n});\n\n// Export for use by legacy behavior\nMutableData._mutablePropertyChange = mutablePropertyChange;\n","/**\n@license\nCopyright (c) 2017 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*/\n\n/**\n * Module for preparing and stamping instances of templates that utilize\n * Polymer's data-binding and declarative event listener features.\n *\n * Example:\n *\n * // Get a template from somewhere, e.g. light DOM\n * let template = this.querySelector('template');\n * // Prepare the template\n * let TemplateClass = Templatize.templatize(template);\n * // Instance the template with an initial data model\n * let instance = new TemplateClass({myProp: 'initial'});\n * // Insert the instance's DOM somewhere, e.g. element's shadow DOM\n * this.shadowRoot.appendChild(instance.root);\n * // Changing a property on the instance will propagate to bindings\n * // in the template\n * instance.myProp = 'new value';\n *\n * The `options` dictionary passed to `templatize` allows for customizing\n * features of the generated template class, including how outer-scope host\n * properties should be forwarded into template instances, how any instance\n * properties added into the template's scope should be notified out to\n * the host, and whether the instance should be decorated as a \"parent model\"\n * of any event handlers.\n *\n * // Customize property forwarding and event model decoration\n * let TemplateClass = Templatize.templatize(template, this, {\n * parentModel: true,\n * forwardHostProp(property, value) {...},\n * instanceProps: {...},\n * notifyInstanceProp(instance, property, value) {...},\n * });\n *\n * @summary Module for preparing and stamping instances of templates\n * utilizing Polymer templating features.\n */\n\nimport './boot.js';\n\nimport { PropertyEffects } from '../mixins/property-effects.js';\nimport { MutableData } from '../mixins/mutable-data.js';\nimport { strictTemplatePolicy } from '../utils/settings.js';\n\n// Base class for HTMLTemplateElement extension that has property effects\n// machinery for propagating host properties to children. This is an ES5\n// class only because Babel (incorrectly) requires super() in the class\n// constructor even though no `this` is used and it returns an instance.\nlet newInstance = null;\n\n/**\n * @constructor\n * @extends {HTMLTemplateElement}\n * @private\n */\nfunction HTMLTemplateElementExtension() { return newInstance; }\nHTMLTemplateElementExtension.prototype = Object.create(HTMLTemplateElement.prototype, {\n constructor: {\n value: HTMLTemplateElementExtension,\n writable: true\n }\n});\n\n/**\n * @constructor\n * @implements {Polymer_PropertyEffects}\n * @extends {HTMLTemplateElementExtension}\n * @private\n */\nconst DataTemplate = PropertyEffects(HTMLTemplateElementExtension);\n\n/**\n * @constructor\n * @implements {Polymer_MutableData}\n * @extends {DataTemplate}\n * @private\n */\nconst MutableDataTemplate = MutableData(DataTemplate);\n\n// Applies a DataTemplate subclass to a