text: define(["exports","../lit-html/lit-html.js","../lit-html/lib/shady-render.js","./lib/updating-element.js","./lib/decorators.js","./lib/css-tag.js"],function(_exports,_litHtml,_shadyRender,_updatingElement,_decorators,_cssTag){"use strict";Object.defineProperty(_exports,"__esModule",{value:!0});var _exportNames={LitElement:!0,html:!0,svg:!0,TemplateResult:!0,SVGTemplateResult:!0};Object.defineProperty(_exports,"html",{enumerable:!0,get:function get(){return _litHtml.html}});Object.defineProperty(_exports,"svg",{enumerable:!0,get:function get(){return _litHtml.svg}});Object.defineProperty(_exports,"TemplateResult",{enumerable:!0,get:function get(){return _litHtml.TemplateResult}});Object.defineProperty(_exports,"SVGTemplateResult",{enumerable:!0,get:function get(){return _litHtml.SVGTemplateResult}});_exports.LitElement=void 0;Object.keys(_updatingElement).forEach(function(key){if("default"===key||"__esModule"===key)return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;Object.defineProperty(_exports,key,{enumerable:!0,get:function get(){return _updatingElement[key]}})});Object.keys(_decorators).forEach(function(key){if("default"===key||"__esModule"===key)return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;Object.defineProperty(_exports,key,{enumerable:!0,get:function get(){return _decorators[key]}})});Object.keys(_cssTag).forEach(function(key){if("default"===key||"__esModule"===key)return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;Object.defineProperty(_exports,key,{enumerable:!0,get:function get(){return _cssTag[key]}})});/**
   * @license
   * Copyright (c) 2017 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
   */ // IMPORTANT: do not change the property name or the assignment expression.
  // This line will be used in regexes to search for LitElement usage.
  // TODO(justinfagnani): inject version number at build time
  (window.litElementVersions||(window.litElementVersions=[])).push("2.2.1");/**
   * Minimal implementation of Array.prototype.flat
   * @param arr the array to flatten
   * @param result the accumlated result
   */function arrayFlat(styles){for(var result=1<arguments.length&&arguments[1]!==void 0?arguments[1]:[],i=0,length=styles.length,value;i<length;i++){value=styles[i];if(Array.isArray(value)){arrayFlat(value,result)}else{result.push(value)}}return result}/** Deeply flattens styles array. Uses native flat if available. */var flattenStyles=function flattenStyles(styles){return styles.flat?styles.flat(1/0):arrayFlat(styles)},LitElement=/*#__PURE__*/function(_UpdatingElement){babelHelpers.inherits(LitElement,_UpdatingElement);function LitElement(){babelHelpers.classCallCheck(this,LitElement);return babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(LitElement).apply(this,arguments))}babelHelpers.createClass(LitElement,[{key:"initialize",/**
       * Performs element initialization. By default this calls `createRenderRoot`
       * to create the element `renderRoot` node and captures any pre-set values for
       * registered properties.
       */value:function initialize(){babelHelpers.get(babelHelpers.getPrototypeOf(LitElement.prototype),"initialize",this).call(this);this.renderRoot=this.createRenderRoot();// Note, if renderRoot is not a shadowRoot, styles would/could apply to the
  // element's getRootNode(). While this could be done, we're choosing not to
  // support this now since it would require different logic around de-duping.
  if(window.ShadowRoot&&babelHelpers.instanceof(this.renderRoot,window.ShadowRoot)){this.adoptStyles()}}/**
       * Returns the node into which the element should render and by default
       * creates and returns an open shadowRoot. Implement to customize where the
       * element's DOM is rendered. For example, to render into the element's
       * childNodes, return `this`.
       * @returns {Element|DocumentFragment} Returns a node into which to render.
       */},{key:"createRenderRoot",value:function createRenderRoot(){return this.attachShadow({mode:"open"})}/**
       * Applies styling to the element shadowRoot using the `static get styles`
       * property. Styling will apply using `shadowRoot.adoptedStyleSheets` where
       * available and will fallback otherwise. When Shadow DOM is polyfilled,
       * ShadyCSS scopes styles and adds them to the document. When Shadow DOM
       * is available but `adoptedStyleSheets` is not, styles are appended to the
       * end of the `shadowRoot` to [mimic spec
       * behavior](https://wicg.github.io/construct-stylesheets/#using-constructed-stylesheets).
       */},{key:"adoptStyles",value:function adoptStyles(){var styles=this.constructor._styles;if(0===styles.length){return}// There are three separate cases here based on Shadow DOM support.
  // (1) shadowRoot polyfilled: use ShadyCSS
  // (2) shadowRoot.adoptedStyleSheets available: use it.
  // (3) shadowRoot.adoptedStyleSheets polyfilled: append styles after
  // rendering
  if(window.ShadyCSS!==void 0&&!window.ShadyCSS.nativeShadow){window.ShadyCSS.ScopingShim.prepareAdoptedCssText(styles.map(function(s){return s.cssText}),this.localName)}else if(_cssTag.supportsAdoptingStyleSheets){this.renderRoot.adoptedStyleSheets=styles.map(function(s){return s.styleSheet})}else{// This must be done after rendering so the actual style insertion is done
  // in `update`.
  this._needsShimAdoptedStyleSheets=!0}}},{key:"connectedCallback",value:function connectedCallback(){babelHelpers.get(babelHelpers.getPrototypeOf(LitElement.prototype),"connectedCallback",this).call(this);// Note, first update/render handles styleElement so we only call this if
  // connected after first update.
  if(this.hasUpdated&&window.ShadyCSS!==void 0){window.ShadyCSS.styleElement(this)}}/**
       * Updates the element. This method reflects property values to attributes
       * and calls `render` to render DOM via lit-html. Setting properties inside
       * this method will *not* trigger another update.
       * * @param _changedProperties Map of changed properties with old values
       */},{key:"update",value:function update(changedProperties){var _this=this;babelHelpers.get(babelHelpers.getPrototypeOf(LitElement.prototype),"update",this).call(this,changedProperties);var templateResult=this.render();if(babelHelpers.instanceof(templateResult,_litHtml.TemplateResult)){this.constructor.render(templateResult,this.renderRoot,{scopeName:this.localName,eventContext:this})}// When native Shadow DOM is used but adoptedStyles are not supported,
  // insert styling after rendering to ensure adoptedStyles have highest
  // priority.
  if(this._needsShimAdoptedStyleSheets){this._needsShimAdoptedStyleSheets=!1;this.constructor._styles.forEach(function(s){var style=document.createElement("style");style.textContent=s.cssText;_this.renderRoot.appendChild(style)})}}/**
       * Invoked on each update to perform rendering tasks. This method must return
       * a lit-html TemplateResult. Setting properties inside this method will *not*
       * trigger the element to update.
       */},{key:"render",value:function render(){}}],[{key:"finalize",/** @nocollapse */value:function finalize(){// The Closure JS Compiler does not always preserve the correct "this"
  // when calling static super methods (b/137460243), so explicitly bind.
  babelHelpers.get(babelHelpers.getPrototypeOf(LitElement),"finalize",this).call(this);// Prepare styling that is stamped at first render time. Styling
  // is built from user provided `styles` or is inherited from the superclass.
  this._styles=this.hasOwnProperty(JSCompiler_renameProperty("styles",this))?this._getUniqueStyles():this._styles||[]}/** @nocollapse */},{key:"_getUniqueStyles",value:function _getUniqueStyles(){// Take care not to call `this.styles` multiple times since this generates
  // new CSSResults each time.
  // TODO(sorvell): Since we do not cache CSSResults by input, any
  // shared styles will generate new stylesheet objects, which is wasteful.
  // This should be addressed when a browser ships constructable
  // stylesheets.
  var userStyles=this.styles,styles=[];if(Array.isArray(userStyles)){var flatStyles=flattenStyles(userStyles),styleSet=flatStyles.reduceRight(function(set,s){set.add(s);// on IE set.add does not return the set.
  return set},new Set);// As a performance optimization to avoid duplicated styling that can
  // occur especially when composing via subclassing, de-duplicate styles
  // preserving the last item in the list. The last item is kept to
  // try to preserve cascade order with the assumption that it's most
  // important that last added styles override previous styles.
  // Array.from does not work on Set in IE
  styleSet.forEach(function(v){return styles.unshift(v)})}else if(userStyles){styles.push(userStyles)}return styles}}]);return LitElement}(_updatingElement.UpdatingElement);_exports.LitElement=LitElement;/**
   * Ensure this class is marked as `finalized` as an optimization ensuring
   * it will not needlessly try to `finalize`.
   *
   * Note this property name is a string to prevent breaking Closure JS Compiler
   * optimizations. See updating-element.ts for more information.
   */LitElement.finalized=!0;/**
   * Render method used to render the lit-html TemplateResult to the element's
   * DOM.
   * @param {TemplateResult} Template to render.
   * @param {Element|DocumentFragment} Node into which to render.
   * @param {String} Element name.
   * @nocollapse
   */LitElement.render=_shadyRender.render});