@decidables/decidables-elements 0.0.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"decidablesElements.esm.js","sources":["../../../node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/lit-html/lit-html.js","../../../node_modules/lit-element/lit-element.js","../../../node_modules/d3-dispatch/src/dispatch.js","../../../node_modules/d3-selection/src/namespaces.js","../../../node_modules/d3-selection/src/namespace.js","../../../node_modules/d3-selection/src/creator.js","../../../node_modules/d3-selection/src/selector.js","../../../node_modules/d3-selection/src/selection/select.js","../../../node_modules/d3-selection/src/array.js","../../../node_modules/d3-selection/src/selectorAll.js","../../../node_modules/d3-selection/src/selection/selectAll.js","../../../node_modules/d3-selection/src/matcher.js","../../../node_modules/d3-selection/src/selection/selectChild.js","../../../node_modules/d3-selection/src/selection/selectChildren.js","../../../node_modules/d3-selection/src/selection/filter.js","../../../node_modules/d3-selection/src/selection/sparse.js","../../../node_modules/d3-selection/src/selection/enter.js","../../../node_modules/d3-selection/src/constant.js","../../../node_modules/d3-selection/src/selection/data.js","../../../node_modules/d3-selection/src/selection/exit.js","../../../node_modules/d3-selection/src/selection/join.js","../../../node_modules/d3-selection/src/selection/merge.js","../../../node_modules/d3-selection/src/selection/order.js","../../../node_modules/d3-selection/src/selection/sort.js","../../../node_modules/d3-selection/src/selection/call.js","../../../node_modules/d3-selection/src/selection/nodes.js","../../../node_modules/d3-selection/src/selection/node.js","../../../node_modules/d3-selection/src/selection/size.js","../../../node_modules/d3-selection/src/selection/empty.js","../../../node_modules/d3-selection/src/selection/each.js","../../../node_modules/d3-selection/src/selection/attr.js","../../../node_modules/d3-selection/src/window.js","../../../node_modules/d3-selection/src/selection/style.js","../../../node_modules/d3-selection/src/selection/property.js","../../../node_modules/d3-selection/src/selection/classed.js","../../../node_modules/d3-selection/src/selection/text.js","../../../node_modules/d3-selection/src/selection/html.js","../../../node_modules/d3-selection/src/selection/raise.js","../../../node_modules/d3-selection/src/selection/lower.js","../../../node_modules/d3-selection/src/selection/append.js","../../../node_modules/d3-selection/src/selection/insert.js","../../../node_modules/d3-selection/src/selection/remove.js","../../../node_modules/d3-selection/src/selection/clone.js","../../../node_modules/d3-selection/src/selection/datum.js","../../../node_modules/d3-selection/src/selection/on.js","../../../node_modules/d3-selection/src/selection/dispatch.js","../../../node_modules/d3-selection/src/selection/iterator.js","../../../node_modules/d3-selection/src/selection/index.js","../../../node_modules/d3-selection/src/select.js","../../../node_modules/d3-color/src/define.js","../../../node_modules/d3-color/src/color.js","../../../node_modules/d3-interpolate/src/constant.js","../../../node_modules/d3-interpolate/src/color.js","../../../node_modules/d3-interpolate/src/rgb.js","../../../node_modules/d3-interpolate/src/number.js","../../../node_modules/d3-interpolate/src/string.js","../../../node_modules/d3-interpolate/src/transform/decompose.js","../../../node_modules/d3-interpolate/src/transform/parse.js","../../../node_modules/d3-interpolate/src/transform/index.js","../../../node_modules/d3-timer/src/timer.js","../../../node_modules/d3-timer/src/timeout.js","../../../node_modules/d3-transition/src/transition/schedule.js","../../../node_modules/d3-transition/src/interrupt.js","../../../node_modules/d3-transition/src/selection/interrupt.js","../../../node_modules/d3-transition/src/transition/tween.js","../../../node_modules/d3-transition/src/transition/interpolate.js","../../../node_modules/d3-transition/src/transition/attr.js","../../../node_modules/d3-transition/src/transition/attrTween.js","../../../node_modules/d3-transition/src/transition/delay.js","../../../node_modules/d3-transition/src/transition/duration.js","../../../node_modules/d3-transition/src/transition/ease.js","../../../node_modules/d3-transition/src/transition/easeVarying.js","../../../node_modules/d3-transition/src/transition/filter.js","../../../node_modules/d3-transition/src/transition/merge.js","../../../node_modules/d3-transition/src/transition/on.js","../../../node_modules/d3-transition/src/transition/remove.js","../../../node_modules/d3-transition/src/transition/select.js","../../../node_modules/d3-transition/src/transition/selectAll.js","../../../node_modules/d3-transition/src/transition/selection.js","../../../node_modules/d3-transition/src/transition/style.js","../../../node_modules/d3-transition/src/transition/styleTween.js","../../../node_modules/d3-transition/src/transition/text.js","../../../node_modules/d3-transition/src/transition/textTween.js","../../../node_modules/d3-transition/src/transition/transition.js","../../../node_modules/d3-transition/src/transition/end.js","../../../node_modules/d3-transition/src/transition/index.js","../../../node_modules/d3-ease/src/cubic.js","../../../node_modules/d3-transition/src/selection/transition.js","../../../node_modules/d3-transition/src/selection/index.js","../src/decidables-element.js","../src/button.js","../../../node_modules/lit-html/directives/if-defined.js","../src/slider.js","../src/spinner.js","../src/switch.js","../src/toggle.js","../src/toggle-option.js","../src/converter-array.js","../src/converter-set.js"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,e=Symbol(),n=new Map;class s{constructor(t,n){if(this._$cssResult$=!0,n!==e)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t}get styleSheet(){let e=n.get(this.cssText);return t&&void 0===e&&(n.set(this.cssText,e=new CSSStyleSheet),e.replaceSync(this.cssText)),e}toString(){return this.cssText}}const o=t=>new s(\"string\"==typeof t?t:t+\"\",e),r=(t,...n)=>{const o=1===t.length?t[0]:n.reduce(((e,n,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(n)+t[s+1]),t[0]);return new s(o,e)},i=(e,n)=>{t?e.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((t=>{const n=document.createElement(\"style\"),s=window.litNonce;void 0!==s&&n.setAttribute(\"nonce\",s),n.textContent=t.cssText,e.appendChild(n)}))},S=t?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const n of t.cssRules)e+=n.cssText;return o(e)})(t):t;export{s as CSSResult,i as adoptStyles,r as css,S as getCompatibleStyle,t as supportsAdoptingStyleSheets,o as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as i}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var s;const e=window.trustedTypes,r=e?e.emptyScript:\"\",h=window.reactiveElementPolyfillSupport,o={toAttribute(t,i){switch(i){case Boolean:t=t?r:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},n=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:o,reflect:!1,hasChanged:n};class a extends HTMLElement{constructor(){super(),this._$Et=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Ei=null,this.o()}static addInitializer(t){var i;null!==(i=this.l)&&void 0!==i||(this.l=[]),this.l.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Eh(s,i);void 0!==e&&(this._$Eu.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=\"symbol\"==typeof t?Symbol():\"__\"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(\"finalized\"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this._$Eu=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(t(i))}else void 0!==i&&s.push(t(i));return s}static _$Eh(t,i){const s=i.attribute;return!1===s?void 0:\"string\"==typeof s?s:\"string\"==typeof t?t.toLowerCase():void 0}o(){var t;this._$Ep=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Em(),this.requestUpdate(),null===(t=this.constructor.l)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$Eg)&&void 0!==i?i:this._$Eg=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$Eg)||void 0===i||i.splice(this._$Eg.indexOf(t)>>>0,1)}_$Em(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Et.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$ES(t,i,s=l){var e,r;const h=this.constructor._$Eh(t,s);if(void 0!==h&&!0===s.reflect){const n=(null!==(r=null===(e=s.converter)||void 0===e?void 0:e.toAttribute)&&void 0!==r?r:o.toAttribute)(i,s.type);this._$Ei=t,null==n?this.removeAttribute(h):this.setAttribute(h,n),this._$Ei=null}}_$AK(t,i){var s,e,r;const h=this.constructor,n=h._$Eu.get(t);if(void 0!==n&&this._$Ei!==n){const t=h.getPropertyOptions(n),l=t.converter,a=null!==(r=null!==(e=null===(s=l)||void 0===s?void 0:s.fromAttribute)&&void 0!==e?e:\"function\"==typeof l?l:null)&&void 0!==r?r:o.fromAttribute;this._$Ei=n,this[n]=a(i,t.type),this._$Ei=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||n)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$Ei!==t&&(void 0===this._$E_&&(this._$E_=new Map),this._$E_.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$Ep=this._$EC())}async _$EC(){this.isUpdatePending=!0;try{await this._$Ep}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Et&&(this._$Et.forEach(((t,i)=>this[i]=t)),this._$Et=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$EU()}catch(t){throw i=!1,this._$EU(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$Eg)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Ep}shouldUpdate(t){return!0}update(t){void 0!==this._$E_&&(this._$E_.forEach(((t,i)=>this._$ES(i,this[i],t))),this._$E_=void 0),this._$EU()}updated(t){}firstUpdated(t){}}a.finalized=!0,a.elementProperties=new Map,a.elementStyles=[],a.shadowRootOptions={mode:\"open\"},null==h||h({ReactiveElement:a}),(null!==(s=globalThis.reactiveElementVersions)&&void 0!==s?s:globalThis.reactiveElementVersions=[]).push(\"1.1.2\");export{a as ReactiveElement,o as defaultConverter,n as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=globalThis.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=`lit$${(Math.random()+\"\").slice(9)}$`,o=\"?\"+e,n=`<${o}>`,l=document,h=(t=\"\")=>l.createComment(t),r=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,d=Array.isArray,u=t=>{var i;return d(t)||\"function\"==typeof(null===(i=t)||void 0===i?void 0:i[Symbol.iterator])},c=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,a=/>/g,f=/>|[ \t\\n\f\\r](?:([^\\s\"'>=/]+)([ \t\\n\f\\r]*=[ \t\\n\f\\r]*(?:[^ \t\\n\f\\r\"'`<>=]|(\"|')|))|$)/g,_=/'/g,m=/\"/g,g=/^(?:script|style|textarea)$/i,p=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),$=p(1),y=p(2),b=Symbol.for(\"lit-noChange\"),w=Symbol.for(\"lit-nothing\"),T=new WeakMap,x=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new N(i.insertBefore(h(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l},A=l.createTreeWalker(l,129,null,!1),C=(t,i)=>{const o=t.length-1,l=[];let h,r=2===i?\"<svg>\":\"\",d=c;for(let i=0;i<o;i++){const s=t[i];let o,u,p=-1,$=0;for(;$<s.length&&(d.lastIndex=$,u=d.exec(s),null!==u);)$=d.lastIndex,d===c?\"!--\"===u[1]?d=v:void 0!==u[1]?d=a:void 0!==u[2]?(g.test(u[2])&&(h=RegExp(\"</\"+u[2],\"g\")),d=f):void 0!==u[3]&&(d=f):d===f?\">\"===u[0]?(d=null!=h?h:c,p=-1):void 0===u[1]?p=-2:(p=d.lastIndex-u[2].length,o=u[1],d=void 0===u[3]?f:'\"'===u[3]?m:_):d===m||d===_?d=f:d===v||d===a?d=c:(d=f,h=void 0);const y=d===f&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=d===c?s+n:p>=0?(l.push(o),s.slice(0,p)+\"$lit$\"+s.slice(p)+e+y):s+e+(-2===p?(l.push(void 0),i):y)}const u=r+(t[o]||\"<?>\")+(2===i?\"</svg>\":\"\");if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return[void 0!==s?s.createHTML(u):u,l]};class E{constructor({strings:t,_$litType$:s},n){let l;this.parts=[];let r=0,d=0;const u=t.length-1,c=this.parts,[v,a]=C(t,s);if(this.el=E.createElement(v,n),A.currentNode=this.el.content,2===s){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(l=A.nextNode())&&c.length<u;){if(1===l.nodeType){if(l.hasAttributes()){const t=[];for(const i of l.getAttributeNames())if(i.endsWith(\"$lit$\")||i.startsWith(e)){const s=a[d++];if(t.push(i),void 0!==s){const t=l.getAttribute(s.toLowerCase()+\"$lit$\").split(e),i=/([.?@])?(.*)/.exec(s);c.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?M:\"?\"===i[1]?H:\"@\"===i[1]?I:S})}else c.push({type:6,index:r})}for(const i of t)l.removeAttribute(i)}if(g.test(l.tagName)){const t=l.textContent.split(e),s=t.length-1;if(s>0){l.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)l.append(t[i],h()),A.nextNode(),c.push({type:2,index:++r});l.append(t[s],h())}}}else if(8===l.nodeType)if(l.data===o)c.push({type:2,index:r});else{let t=-1;for(;-1!==(t=l.data.indexOf(e,t+1));)c.push({type:7,index:r}),t+=e.length-1}r++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function P(t,i,s=t,e){var o,n,l,h;if(i===b)return i;let d=void 0!==e?null===(o=s._$Cl)||void 0===o?void 0:o[e]:s._$Cu;const u=r(i)?void 0:i._$litDirective$;return(null==d?void 0:d.constructor)!==u&&(null===(n=null==d?void 0:d._$AO)||void 0===n||n.call(d,!1),void 0===u?d=void 0:(d=new u(t),d._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Cl)&&void 0!==l?l:h._$Cl=[])[e]=d:s._$Cu=d),void 0!==d&&(i=P(t,d._$AS(t,i.values),d,e)),i}class V{constructor(t,i){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:l).importNode(s,!0);A.currentNode=o;let n=A.nextNode(),h=0,r=0,d=e[0];for(;void 0!==d;){if(h===d.index){let i;2===d.type?i=new N(n,n.nextSibling,this,t):1===d.type?i=new d.ctor(n,d.name,d.strings,this,t):6===d.type&&(i=new L(n,this,t)),this.v.push(i),d=e[++r]}h!==(null==d?void 0:d.index)&&(n=A.nextNode(),h++)}return o}m(t){let i=0;for(const s of this.v)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class N{constructor(t,i,s,e){var o;this.type=2,this._$AH=w,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cg=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=P(this,t,i),r(t)?t===w||null==t||\"\"===t?(this._$AH!==w&&this._$AR(),this._$AH=w):t!==this._$AH&&t!==b&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.S(t):u(t)?this.A(t):this.$(t)}M(t,i=this._$AB){return this._$AA.parentNode.insertBefore(t,i)}S(t){this._$AH!==t&&(this._$AR(),this._$AH=this.M(t))}$(t){this._$AH!==w&&r(this._$AH)?this._$AA.nextSibling.data=t:this.S(l.createTextNode(t)),this._$AH=t}T(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=E.createElement(e.h,this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.m(s);else{const t=new V(o,this),i=t.p(this.options);t.m(s),this.S(i),this._$AH=t}}_$AC(t){let i=T.get(t.strings);return void 0===i&&T.set(t.strings,i=new E(t)),i}A(t){d(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new N(this.M(h()),this.M(h()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cg=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class S{constructor(t,i,s,e,o){this.type=1,this._$AH=w,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=w}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=P(this,t,i,0),n=!r(t)||t!==this._$AH&&t!==b,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=P(this,e[s+l],i,l),h===b&&(h=this._$AH[l]),n||(n=!r(h)||h!==this._$AH[l]),h===w?t=w:t!==w&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.k(t)}k(t){t===w?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class M extends S{constructor(){super(...arguments),this.type=3}k(t){this.element[this.name]=t===w?void 0:t}}const k=i?i.emptyScript:\"\";class H extends S{constructor(){super(...arguments),this.type=4}k(t){t&&t!==w?this.element.setAttribute(this.name,k):this.element.removeAttribute(this.name)}}class I extends S{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=P(this,t,i,0))&&void 0!==s?s:w)===b)return;const e=this._$AH,o=t===w&&e!==w||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==w&&(e===w||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class L{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){P(this,t)}}const R={P:\"$lit$\",V:e,L:o,I:1,N:C,R:V,D:u,j:P,H:N,O:S,F:H,B:I,W:M,Z:L},z=window.litHtmlPolyfillSupport;null==z||z(E,N),(null!==(t=globalThis.litHtmlVersions)&&void 0!==t?t:globalThis.litHtmlVersions=[]).push(\"2.1.1\");export{R as _$LH,$ as html,b as noChange,w as nothing,x as render,y as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var l,o;const r=t;class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Dt=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Dt=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!1)}render(){return i}}s.finalized=!0,s._$litElement$=!0,null===(l=globalThis.litElementHydrateSupport)||void 0===l||l.call(globalThis,{LitElement:s});const n=globalThis.litElementPolyfillSupport;null==n||n({LitElement:s});const h={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(o=globalThis.litElementVersions)&&void 0!==o?o:globalThis.litElementVersions=[]).push(\"3.1.1\");export{s as LitElement,r as UpdatingElement,h as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","\nimport {\n LitElement,\n css,\n svg,\n unsafeCSS,\n} from 'lit';\nimport * as d3 from 'd3';\n\n/*\n DecidablesElement Base Class - Not intended for instantiation!\n <decidables-element>\n*/\nexport default class DecidablesElement extends LitElement {\n // HACK: Create a unique ID for each DecidablesElement\n // This is needed because Edge/IE11 don't have real Shadow DOM, so IDs leak\n // out of elements and collide if there is more than one of an element on a\n // page. Known issue for checkbox/switches and the id/for pattern on <input>\n // and <label>\n static get uniqueId() {\n DecidablesElement.ID += 1;\n return DecidablesElement.ID;\n }\n\n constructor() {\n super();\n this.uniqueId = `decidables-${DecidablesElement.uniqueId}`;\n }\n\n getComputedStyleValue(property) {\n // HACK: IE11 requires use of polyfill interface to get custom property value in Javascript\n if (window.ShadyCSS) {\n return window.ShadyCSS.getComputedStyleValue(this, property);\n }\n return getComputedStyle(this).getPropertyValue(property);\n }\n\n firstUpdated(changedProperties) {\n super.firstUpdated(changedProperties);\n\n // Use focus highlighting if keyboard is used at all\n d3.select(this.renderRoot.host)\n .classed('keyboard', true)\n .on('mousemove.keyboard touchstart.keyboard', (event) => {\n const element = event.currentTarget;\n d3.select(element.renderRoot.host)\n .classed('keyboard', false)\n .on('mousemove.keyboard touchstart.keyboard', null);\n })\n .on('keydown.keyboard', (event) => {\n const element = event.currentTarget;\n d3.select(element.renderRoot.host)\n .classed('keyboard', true)\n .on('keydown.keyboard mousemove.keyboard touchstart.keyboard', null);\n });\n }\n\n static get greys() {\n const grey = '#999999';\n const greys = {};\n greys.white = '#ffffff';\n greys.light75 = d3.interpolateRgb(grey, '#ffffff')(0.75);\n greys.light50 = d3.interpolateRgb(grey, '#ffffff')(0.5);\n greys.light25 = d3.interpolateRgb(grey, '#ffffff')(0.25);\n greys.grey = grey;\n greys.dark25 = d3.interpolateRgb(grey, '#000000')(0.25);\n greys.dark50 = d3.interpolateRgb(grey, '#000000')(0.5);\n greys.dark75 = d3.interpolateRgb(grey, '#000000')(0.75);\n greys.black = '#000000';\n return greys;\n }\n\n static get shadows() {\n // Material Design elevation styles\n // References:\n // https://github.com/material-components/material-components-web/tree/master/packages/mdc-elevation\n // https://codepen.io/hanger/pen/yOGvQp\n /* eslint-disable key-spacing, object-curly-newline */\n return {\n elevations: [0, 2, 4, 8, 16],\n baselineColor: '#000000',\n baselineColorString: '0, 0, 0',\n inverseBaselineColor: '#FFFFFF',\n inverseBaselineColorString: '255, 255, 255',\n opacityUmbra: 0.2,\n opacityPenumbra: 0.14,\n opacityAmbient: 0.12,\n opacityBoost: 0.2,\n mapUmbra: {// $mdc-elevation-umbra-map\n 0: {x: 0, y: 0, b: 0, s: 0}, // offset-x, offset-y, blur-radius, spread-radius\n 2: {x: 0, y: 3, b: 1, s: -2},\n 4: {x: 0, y: 2, b: 4, s: -1},\n 8: {x: 0, y: 5, b: 5, s: -3},\n 16: {x: 0, y: 8, b: 10, s: -5},\n },\n mapPenumbra: {// $mdc-elevation-penumbra-map\n 0: {x: 0, y: 0, b: 0, s: 0}, // offset-x, offset-y, blur-radius, spread-radius\n 2: {x: 0, y: 2, b: 2, s: 0},\n 4: {x: 0, y: 4, b: 5, s: 0},\n 8: {x: 0, y: 8, b: 10, s: 1},\n 16: {x: 0, y: 16, b: 24, s: 2},\n },\n mapAmbient: {// $mdc-elevation-ambient-map\n 0: {x: 0, y: 0, b: 0, s: 0}, // offset-x, offset-y, blur-radius, spread-radius\n 2: {x: 0, y: 1, b: 5, s: 0},\n 4: {x: 0, y: 1, b: 10, s: 0},\n 8: {x: 0, y: 3, b: 14, s: 2},\n 16: {x: 0, y: 6, b: 30, s: 5},\n },\n };\n /* eslint-enable key-spacing, object-curly-newline */\n }\n\n static cssBoxShadow(elevation, rotate = false, inverse = false) {\n const umbraO = this.shadows.opacityUmbra + this.shadows.opacityBoost;\n const penumbraO = this.shadows.opacityPenumbra + this.shadows.opacityBoost;\n const ambientO = this.shadows.opacityAmbient + this.shadows.opacityBoost;\n\n const umbraC = (inverse)\n ? `rgba(${this.shadows.inverseBaselineColorString}, ${umbraO})`\n : `rgba(${this.shadows.baselineColorString}, ${umbraO})`;\n const penumbraC = (inverse)\n ? `rgba(${this.shadows.inverseBaselineColorString}, ${penumbraO})`\n : `rgba(${this.shadows.baselineColorString}, ${penumbraO})`;\n const ambientC = (inverse)\n ? `rgba(${this.shadows.inverseBaselineColorString}, ${ambientO})`\n : `rgba(${this.shadows.baselineColorString}, ${ambientO})`;\n\n const umbraM = this.shadows.mapUmbra[elevation];\n const penumbraM = this.shadows.mapPenumbra[elevation];\n const ambientM = this.shadows.mapAmbient[elevation];\n\n const umbraS = (rotate)\n ? `${-umbraM.y}px ${umbraM.y / 2}px ${umbraM.b}px ${umbraM.s}px`\n : `${umbraM.y / 2}px ${umbraM.y}px ${umbraM.b}px ${umbraM.s}px`;\n const penumbraS = (rotate)\n ? `${-penumbraM.y}px ${penumbraM.y / 2}px ${penumbraM.b}px ${penumbraM.s}px`\n : `${penumbraM.y / 2}px ${penumbraM.y}px ${penumbraM.b}px ${penumbraM.s}px`;\n const ambientS = (rotate)\n ? `${-ambientM.y}px ${ambientM.y / 2}px ${ambientM.b}px ${ambientM.s}px`\n : `${ambientM.y / 2}px ${ambientM.y}px ${ambientM.b}px ${ambientM.s}px`;\n\n return `${umbraS} ${umbraC}, ${penumbraS} ${penumbraC}, ${ambientS} ${ambientC}`;\n }\n\n static get svgFilters() {\n const shadows = DecidablesElement.shadows; // eslint-disable-line prefer-destructuring\n const erodeRadius = 1;\n\n const filters = shadows.elevations.map((z) => {\n return svg`\n <filter id=${`shadow-${z}`} x=\"-250%\" y=\"-250%\" width=\"600%\" height=\"600%\">\n <feComponentTransfer in=\"SourceAlpha\" result=\"solid\">\n <feFuncA type=\"table\" tableValues=\"0 1 1\"/>\n </feComponentTransfer>\n <feOffset in=\"solid\" result=\"offU\" dx=${shadows.mapUmbra[z].y / 2} dy=${shadows.mapUmbra[z].y} />\n <feOffset in=\"solid\" result=\"offP\" dx=${shadows.mapPenumbra[z].y / 2} dy=${shadows.mapPenumbra[z].y} />\n <feOffset in=\"solid\" result=\"offA\" dx=${shadows.mapAmbient[z].y / 2} dy=${shadows.mapAmbient[z].y} />\n ${(shadows.mapUmbra[z].s === 0)\n ? svg``\n : svg`<feMorphology in=\"offU\" result=\"spreadU\" operator=${(shadows.mapUmbra[z].s > 0) ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapUmbra[z].s)} />`\n }\n ${(shadows.mapPenumbra[z].s === 0)\n ? svg``\n : svg`<feMorphology in=\"offP\" result=\"spreadP\" operator=${(shadows.mapPenumbra[z].s > 0) ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapPenumbra[z].s)} />`\n }\n ${(shadows.mapAmbient[z].s === 0)\n ? svg``\n : svg`<feMorphology in=\"offA\" result=\"spreadA\" operator=${(shadows.mapAmbient[z].s > 0) ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapAmbient[z].s)} />`\n }\n <feGaussianBlur in=${(shadows.mapUmbra[z].s === 0) ? 'offU' : 'spreadU'} result=\"blurU\" stdDeviation=${shadows.mapUmbra[z].b / 2} />\n <feGaussianBlur in=${(shadows.mapPenumbra[z].s === 0) ? 'offP' : 'spreadP'} result=\"blurP\" stdDeviation=${shadows.mapPenumbra[z].b / 2} />\n <feGaussianBlur in=${(shadows.mapAmbient[z].s === 0) ? 'offA' : 'spreadA'} result=\"blurA\" stdDeviation=${shadows.mapAmbient[z].b / 2} />\n <feFlood in=\"SourceGraphic\" result=\"opU\" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityUmbra + shadows.opacityBoost} />\n <feFlood in=\"SourceGraphic\" result=\"opP\" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityPenumbra + shadows.opacityBoost} />\n <feFlood in=\"SourceGraphic\" result=\"opA\" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityAmbient + shadows.opacityBoost} />\n <feComposite in=\"opU\" in2=\"blurU\" result=\"shU\" operator=\"in\" />\n <feComposite in=\"opP\" in2=\"blurP\" result=\"shP\" operator=\"in\" />\n <feComposite in=\"opA\" in2=\"blurA\" result=\"shA\" operator=\"in\" />\n <!-- HACK Edge: Using a dynamic value for erode radius stops Edge from corrupting the \"radius\" value! -->\n <feMorphology in=\"solid\" result=\"smaller\" operator=\"erode\" radius=${erodeRadius} />\n <feComposite in=\"shU\" in2=\"smaller\" result=\"finalU\" operator=\"out\" />\n <feComposite in=\"shP\" in2=\"smaller\" result=\"finalP\" operator=\"out\" />\n <feComposite in=\"shA\" in2=\"smaller\" result=\"finalA\" operator=\"out\" />\n <feMerge>\n <feMergeNode in=\"finalU\" />\n <feMergeNode in=\"finalP\" />\n <feMergeNode in=\"finalA\" />\n <feMergeNode in=\"SourceGraphic\" />\n </feMerge>\n </filter>`;\n });\n\n return svg`\n <svg class=\"defs\">\n <defs>\n ${filters}\n </defs>\n </svg>\n `;\n }\n\n static get styles() {\n return css`\n :host {\n ---shadow-0: var(--shadow-0, ${unsafeCSS(this.cssBoxShadow(0))});\n ---shadow-2: var(--shadow-2, ${unsafeCSS(this.cssBoxShadow(2))});\n ---shadow-4: var(--shadow-4, ${unsafeCSS(this.cssBoxShadow(4))});\n ---shadow-8: var(--shadow-8, ${unsafeCSS(this.cssBoxShadow(8))});\n\n ---color-background: var(--color-background, ${unsafeCSS(this.greys.white)});\n ---color-border: var(--color-border, ${unsafeCSS(this.greys.light75)});\n ---color-text: var(--color-text, ${unsafeCSS(this.greys.dark75)});\n ---color-text-inverse: var(--color-text-inverse, ${unsafeCSS(this.greys.white)});\n ---color-link: var(--color-link, ${unsafeCSS(this.greys.dark25)});\n ---color-element-background: var(--color-element-background, ${unsafeCSS(this.greys.light75)});\n ---color-element-disabled: var(--color-element-disabled, ${unsafeCSS(this.greys.light50)});\n ---color-element-enabled: var(--color-element-enabled, ${unsafeCSS(this.greys.grey)});\n ---color-element-selected: var(--color-element-selected, ${unsafeCSS(this.greys.dark25)});\n ---color-element-border: var(--color-element-border, ${unsafeCSS(this.greys.dark50)});\n ---color-element-emphasis: var(--color-element-emphasis, ${unsafeCSS(this.greys.dark75)});\n\n ---font-family-base: var(--font-family-base, \"Source Sans\", sans-serif);\n ---font-family-math: var(--font-family-math, \"Source Serif\", serif);\n\n ---transition-duration: var(--transition-duration, 500ms);\n\n font-family: var(---font-family-base);\n }\n\n :host,\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: border-box;\n }\n\n .math-greek {\n font-family: var(---font-family-math);\n font-style: normal;\n }\n\n .math-num {\n font-family: var(---font-family-base);\n font-style: normal;\n }\n\n .math-var {\n font-family: var(---font-family-math);\n font-style: italic;\n }\n\n .defs {\n display: block;\n\n width: 0;\n height: 0;\n }\n `;\n }\n}\n\n// Static property of DecidablesElement!\nDecidablesElement.ID = 0;\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesButton extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n margin: 0.25rem;\n }\n\n button {\n width: 100%;\n height: 100%;\n padding: 0.375rem 0.75rem;\n\n font-family: var(---font-family-base);\n font-size: 1.125rem;\n line-height: 1.5;\n color: var(---color-text-inverse);\n\n border: 0;\n border-radius: 0.25rem;\n outline: none;\n }\n\n button:disabled {\n background-color: var(--decidables-button-background-color, var(---color-element-disabled));\n outline: none;\n box-shadow: none;\n }\n\n button:enabled {\n cursor: pointer;\n\n background-color: var(--decidables-button-background-color, var(---color-element-enabled));\n outline: none;\n box-shadow: var(---shadow-2);\n }\n\n button:enabled:hover {\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n button:enabled:active {\n outline: none;\n box-shadow: var(---shadow-8);\n }\n\n :host(.keyboard) button:enabled:focus {\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n :host(.keyboard) button:enabled:focus:active {\n outline: none;\n box-shadow: var(---shadow-8);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <button ?disabled=${this.disabled}>\n <slot></slot>\n </button>\n `;\n }\n}\n\ncustomElements.define('decidables-button', DecidablesButton);\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=l=>null!=l?l:t;export{l as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","\nimport {ifDefined} from 'lit/directives/if-defined.js'; /* eslint-disable-line import/extensions */\nimport {html, css, unsafeCSS} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesSlider extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n max: {\n attribute: 'max',\n type: Number,\n reflect: true,\n },\n min: {\n attribute: 'min',\n type: Number,\n reflect: true,\n },\n step: {\n attribute: 'step',\n type: Number,\n reflect: true,\n },\n value: {\n attribute: 'value',\n type: Number,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n this.max = undefined;\n this.min = undefined;\n this.step = undefined;\n this.value = undefined;\n }\n\n changed(event) {\n this.value = event.target.value;\n this.dispatchEvent(new CustomEvent('change', {\n detail: {\n value: this.value,\n },\n bubbles: true,\n }));\n }\n\n inputted(event) {\n this.value = event.target.value;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n ---shadow-2-rotate: var(--shadow-2-rotate, ${unsafeCSS(this.cssBoxShadow(2, true, false))});\n ---shadow-4-rotate: var(--shadow-4-rotate, ${unsafeCSS(this.cssBoxShadow(4, true, false))});\n ---shadow-8-rotate: var(--shadow-8-rotate, ${unsafeCSS(this.cssBoxShadow(8, true, false))});\n\n display: flex;\n\n flex-direction: column;\n\n align-items: center;\n justify-content: center;\n }\n\n label {\n margin: 0.25rem 0.25rem 0;\n }\n\n .range {\n display: inline-block;\n\n width: 3.5rem;\n height: 4.75rem;\n margin: 0 0.25rem 0.25rem;\n }\n\n decidables-spinner {\n --decidables-spinner-input-width: 3.5rem;\n\n margin: 0 0.25rem 0.25rem;\n }\n\n /* Adapted from http://danielstern.ca/range.css/#/ */\n /* Overall */\n input[type=range] {\n width: 4.75rem;\n height: 3.5rem;\n padding: 0;\n margin: 0;\n\n background-color: unset;\n\n transform: rotate(-90deg);\n transform-origin: 2.375rem 2.375rem;\n\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -webkit-appearance: none;\n }\n\n input[type=range]:enabled {\n cursor: ns-resize;\n }\n\n input[type=range]:focus {\n outline: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-tooltip {\n display: none;\n }\n\n /* Track */\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-webkit-slider-runnable-track {\n width: 100%;\n height: 4px;\n\n background: var(---color-element-disabled);\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n input[type=range]:focus::-webkit-slider-runnable-track {\n background: var(---color-element-disabled);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-moz-range-track {\n width: 100%;\n height: 4px;\n\n background: var(---color-element-disabled);\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-track {\n width: 100%;\n height: 4px;\n\n color: transparent;\n\n background: transparent;\n border-color: transparent;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-fill-lower {\n background: #cccccc;\n /* background: var(---color-element-disabled); */\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-fill-upper {\n background: #cccccc;\n /* background: var(---color-element-disabled); */\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:focus::-ms-fill-lower {\n background: var(---color-element-disabled);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:focus::-ms-fill-upper {\n background: var(---color-element-disabled);\n }\n\n /* Thumb */\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-webkit-slider-thumb {\n width: 10px;\n height: 20px;\n margin-top: -8px;\n\n border: 0;\n border-radius: 4px;\n\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -webkit-appearance: none;\n }\n\n input[type=range]:disabled::-webkit-slider-thumb {\n background: var(---color-element-disabled);\n box-shadow: none;\n }\n\n input[type=range]:enabled::-webkit-slider-thumb {\n background: var(---color-element-enabled);\n box-shadow: var(---shadow-2-rotate);\n }\n\n input[type=range]:enabled:hover::-webkit-slider-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n input[type=range]:enabled:active::-webkit-slider-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus::-webkit-slider-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n :host(.keyboard) input[type=range]:focus:active::-webkit-slider-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-moz-range-thumb {\n width: 10px;\n height: 20px;\n\n border: 0;\n border-radius: 4px;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:disabled::-moz-range-thumb {\n background: var(---color-element-disabled);\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled::-moz-range-thumb {\n background: var(---color-element-enabled);\n box-shadow: var(---shadow-2-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:hover::-moz-range-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:active::-moz-range-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus::-moz-range-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus:active::-moz-range-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-thumb {\n width: 10px;\n height: 20px;\n margin-top: 0;\n\n background: #999999;\n /* background: var(---color-element-enabled); */\n border: 0;\n border-radius: 4px;\n box-shadow: var(---shadow-2-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:disabled::-ms-thumb {\n background: var(---color-element-disabled);\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled::-ms-thumb {\n background: var(---color-element-enabled);\n box-shadow: var(---shadow-2-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:hover::-ms-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:active::-ms-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n :host(.keyboard) input[type=range]:enabled:focus::-ms-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus:active::-ms-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <label for=${`${this.uniqueId}-slider`}>\n <slot></slot>\n </label>\n <div class=\"range\">\n <input type=\"range\" id=${`${this.uniqueId}-slider`} min=${ifDefined(this.min)} max=${ifDefined(this.max)} step=${ifDefined(this.step)} .value=${this.value} @change=${this.changed.bind(this)} @input=${this.inputted.bind(this)}>\n </div>\n <decidables-spinner min=${ifDefined(this.min)} max=${ifDefined(this.max)} step=${ifDefined(this.step)} .value=${this.value} @input=${this.inputted.bind(this)}></decidables-spinner>\n `;\n }\n}\n\ncustomElements.define('decidables-slider', DecidablesSlider);\n","\nimport {ifDefined} from 'lit/directives/if-defined.js'; /* eslint-disable-line import/extensions */\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesSpinner extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n max: {\n attribute: 'max',\n type: Number,\n reflect: true,\n },\n min: {\n attribute: 'min',\n type: Number,\n reflect: true,\n },\n step: {\n attribute: 'step',\n type: Number,\n reflect: true,\n },\n value: {\n attribute: 'value',\n type: Number,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n this.max = undefined;\n this.min = undefined;\n this.step = undefined;\n this.value = undefined;\n }\n\n inputted(event) {\n this.value = event.target.value;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n ---decidables-spinner-font-size: var(--decidables-spinner-font-size, 1.125rem);\n ---decidables-spinner-input-width: var(--decidables-spinner-input-width, 4rem);\n ---decidables-spinner-prefix: var(--decidables-spinner-prefix, \"\");\n\n display: block;\n }\n\n label {\n position: relative;\n display: flex;\n\n flex-direction: column;\n\n align-items: center;\n\n margin: 0;\n\n font-size: 0.75rem;\n }\n\n label::before {\n position: absolute;\n bottom: 1px;\n left: calc(50% - var(---decidables-spinner-input-width) / 2 + 0.25rem);\n\n font-size: var(---decidables-spinner-font-size);\n line-height: normal;\n\n content: var(---decidables-spinner-prefix);\n }\n\n input[type=number] {\n width: var(---decidables-spinner-input-width);\n\n font-family: var(---font-family-base);\n font-size: var(---decidables-spinner-font-size);\n color: inherit;\n text-align: right;\n\n background: none;\n border: 0;\n border-radius: 0;\n outline: none;\n box-shadow: var(---shadow-2);\n\n -webkit-appearance: none; /* stylelint-disable-line property-no-vendor-prefix */\n }\n\n input[type=number]:hover {\n box-shadow: var(---shadow-4);\n }\n\n input[type=number]:focus,\n input[type=number]:active {\n box-shadow: var(---shadow-8);\n }\n\n input[type=number]:disabled {\n color: var(---color-text);\n\n border: 0;\n box-shadow: none;\n\n /* HACK: Use correct text color in Safari */\n -webkit-opacity: 1;\n /* HACK: Hide spinners in disabled input for Firefox and Safari */\n -moz-appearance: textfield; /* stylelint-disable-line property-no-vendor-prefix */\n /* HACK: Use correct text color in Safari */\n -webkit-text-fill-color: var(---color-text);\n }\n\n /* HACK: Hide spinners in disabled input for Firefox and Safari */\n input[type=number]:disabled::-webkit-outer-spin-button,\n input[type=number]:disabled::-webkit-inner-spin-button {\n margin: 0;\n -webkit-appearance: none; /* stylelint-disable-line property-no-vendor-prefix */\n }\n `,\n ];\n }\n\n render() {\n return html`\n <label>\n <slot></slot>\n <input ?disabled=${this.disabled} type=\"number\" min=${ifDefined(this.min)} max=${ifDefined(this.max)} step=${ifDefined(this.step)} .value=${this.value} @input=${this.inputted.bind(this)}>\n </label>\n `;\n }\n}\n\ncustomElements.define('decidables-spinner', DecidablesSpinner);\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesSwitch extends DecidablesElement {\n static get properties() {\n return {\n checked: {\n attribute: 'checked',\n type: Boolean,\n reflect: true,\n },\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.checked = false;\n this.disabled = false;\n }\n\n changed(event) {\n this.checked = event.target.checked;\n this.dispatchEvent(new CustomEvent('change', {\n detail: {\n checked: this.checked,\n },\n bubbles: true,\n }));\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n display: flex;\n\n flex-direction: column;\n\n align-items: center;\n justify-content: center;\n }\n\n /* Adapted from https://codepen.io/guuslieben/pen/YyPRVP */\n input[type=checkbox] {\n /* visuallyhidden: https://github.com/h5bp/html5-boilerplate/blob/master/dist/doc/css.md */\n position: absolute;\n\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n white-space: nowrap;\n\n border: 0;\n clip-path: inset(100%); /* May cause a performance issue: https://github.com/h5bp/html5-boilerplate/issues/2021 */\n }\n\n input[type=checkbox] + label {\n order: 1;\n\n margin: 0 0.25rem 0.25rem;\n\n font-weight: 400;\n }\n\n input[type=checkbox] + label + label {\n position: relative;\n\n min-width: 24px;\n padding: 0 0 36px;\n margin: 0.25rem 0.25rem 0;\n\n font-weight: 400;\n\n outline: none;\n }\n\n input[type=checkbox] + label + label::before,\n input[type=checkbox] + label + label::after {\n position: absolute;\n\n left: 50%;\n\n margin: 0;\n\n content: \"\";\n\n outline: 0;\n\n transition: all var(---transition-duration) ease;\n transform: translate(-50%, 0);\n }\n\n input[type=checkbox] + label + label::before {\n bottom: 1px;\n\n width: 8px;\n height: 34px;\n\n background-color: var(---color-element-disabled);\n border-radius: 4px;\n }\n\n input[type=checkbox] + label + label::after {\n bottom: 0;\n\n width: 18px;\n height: 18px;\n\n background-color: var(---color-element-enabled);\n border-radius: 50%;\n box-shadow: var(---shadow-2);\n }\n\n input[type=checkbox]:checked + label + label::after {\n transform: translate(-50%, -100%);\n }\n\n input[type=checkbox]:disabled + label + label::after {\n background-color: var(---color-element-disabled);\n box-shadow: none;\n }\n\n input[type=checkbox]:enabled + label,\n input[type=checkbox]:enabled + label + label {\n cursor: pointer;\n }\n\n input[type=checkbox]:enabled + label:hover + label::after,\n input[type=checkbox]:enabled + label + label:hover::after {\n box-shadow: var(---shadow-4);\n }\n\n input[type=checkbox]:enabled + label:active + label::after,\n input[type=checkbox]:enabled + label + label:active::after {\n box-shadow: var(---shadow-8);\n }\n\n /* stylelint-disable-next-line selector-max-compound-selectors */\n :host(.keyboard) input[type=checkbox]:enabled:focus + label + label::after {\n box-shadow: var(---shadow-4);\n }\n\n /* stylelint-disable-next-line selector-max-compound-selectors */\n :host(.keyboard) input[type=checkbox]:enabled:focus + label + label:active::after,\n :host(.keyboard) input[type=checkbox]:enabled:focus:active + label + label::after {\n box-shadow: var(---shadow-8);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <input type=\"checkbox\" id=${`${this.uniqueId}-checkbox`} ?checked=${this.checked} ?disabled=${this.disabled} @change=${this.changed.bind(this)}>\n <label for=${`${this.uniqueId}-checkbox`}>\n <slot name=\"off-label\"></slot>\n </label>\n <label for=${`${this.uniqueId}-checkbox`}>\n <slot></slot>\n </label>\n `;\n }\n}\n\ncustomElements.define('decidables-switch', DecidablesSwitch);\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesToggle extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n fieldset {\n display: flex;\n\n flex-direction: column;\n\n align-items: stretch;\n justify-content: center;\n\n margin: 0.25rem;\n\n border: 0;\n }\n\n legend {\n text-align: center;\n }\n `,\n ];\n }\n\n render() {\n return html`\n <fieldset ?disabled=${this.disabled}>\n <legend><slot name=\"label\"></slot></legend>\n <slot></slot>\n </fieldset>\n `;\n }\n}\n\ncustomElements.define('decidables-toggle', DecidablesToggle);\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesToggleOption extends DecidablesElement {\n static get properties() {\n return {\n checked: {\n attribute: 'checked',\n type: Boolean,\n reflect: true,\n },\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n name: {\n attribute: 'name',\n type: String,\n reflect: true,\n },\n value: {\n attribute: 'value',\n type: String,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.checked = false;\n this.disabled = false;\n this.name = undefined;\n this.value = undefined;\n }\n\n changed(event) {\n this.checked = event.target.checked;\n this.dispatchEvent(new CustomEvent('change', {\n detail: {\n checked: this.checked,\n value: this.value,\n },\n bubbles: true,\n }));\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n display: flex;\n }\n\n input[type=radio] {\n /* visuallyhidden: https://github.com/h5bp/html5-boilerplate/blob/master/dist/doc/css.md */\n position: absolute;\n\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n white-space: nowrap;\n\n border: 0;\n clip-path: inset(100%); /* May cause a performance issue: https://github.com/h5bp/html5-boilerplate/issues/2021 */\n }\n\n input[type=radio] + label {\n width: 100%;\n padding: 0.375rem 0.75rem;\n\n font-family: var(---font-family-base);\n font-size: 1.125rem;\n line-height: 1.5;\n color: var(---color-text-inverse);\n text-align: center;\n\n cursor: pointer;\n\n background-color: var(---color-element-enabled);\n border: 0;\n border-radius: 0;\n outline: none;\n\n box-shadow: var(---shadow-2);\n }\n\n input[type=radio]:checked + label {\n background-color: var(---color-element-selected);\n outline: none;\n box-shadow: var(---shadow-2);\n }\n\n input[type=radio] + label:hover {\n z-index: 1;\n\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n input[type=radio] + label:active {\n z-index: 2;\n\n outline: none;\n box-shadow: var(---shadow-8);\n }\n\n :host(:first-of-type) input[type=radio] + label {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n\n :host(:last-of-type) input[type=radio] + label {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n\n :host(.keyboard) input[type=radio]:focus + label {\n z-index: 1;\n\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n :host(.keyboard) input[type=radio]:focus:checked + label {\n z-index: 1;\n\n background-color: var(---color-element-selected);\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n :host(.keyboard) input[type=radio]:focus + label:active {\n z-index: 2;\n\n outline: none;\n box-shadow: var(---shadow-8);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <input type=\"radio\" id=${`${this.uniqueId}-radio`} name=${this.name} value=${this.value} .checked=${this.checked} @change=${this.changed.bind(this)}>\n <label for=${`${this.uniqueId}-radio`}>\n <slot></slot>\n </label>\n `;\n }\n}\n\ncustomElements.define('decidables-toggle-option', DecidablesToggleOption);\n","\n/*\n Attribute: Space-separated sequence of numbers\n Property: Array of numbers\n*/\nconst DecidablesConverterArray = {\n fromAttribute: (value) => {\n return value.split(/\\s+/).map((item) => { return Number.parseFloat(item); });\n },\n toAttribute: (value) => {\n return (value.length) ? value.map((item) => { return item.toFixed(3); }).join(' ') : null;\n },\n};\n\nexport default DecidablesConverterArray;\n","\n/*\n Attribute: Space-separated sequence of strings\n Property: Set of strings\n*/\nconst DecidablesConverterSet = {\n fromAttribute: (value) => {\n return new Set(value.split(/\\s+/));\n },\n toAttribute: (value) => {\n return (value.size) ? [...value].join(' ') : null;\n },\n};\n\nexport default DecidablesConverterSet;\n"],"names":["supportsAdoptingStyleSheets","window","ShadowRoot","undefined","ShadyCSS","nativeShadow","Document","prototype","CSSStyleSheet","constructionToken","Symbol","styleSheetCache","Map","CSSResult","constructor","cssText","safeToken","this","_$cssResult$","Error","styleSheet","get","set","replaceSync","toString","unsafeCSS","value","String","css","strings","values","length","reduce","acc","v","idx","adoptStyles","renderRoot","styles","adoptedStyleSheets","map","s","forEach","style","document","createElement","nonce","litNonce","setAttribute","textContent","appendChild","getCompatibleStyle","sheet","cssRules","rule","trustedTypes","emptyStringForBooleanAttribute","emptyScript","polyfillSupport","reactiveElementPolyfillSupport","defaultConverter","toAttribute","type","Boolean","Object","Array","JSON","stringify","fromAttribute","fromValue","Number","parse","e","notEqual","old","defaultPropertyDeclaration","attribute","converter","reflect","hasChanged","ReactiveElement","super","_initialize","static","__updatePromise","Promise","res","enableUpdating","_$changedProperties","__saveInstanceProperties","requestUpdate","_initializers","i","addController","controller","__controllers","push","isConnected","hostConnected","removeController","splice","indexOf","elementProperties","_v","p","hasOwnProperty","__instanceProperties","createRenderRoot","shadowRoot","attachShadow","shadowRootOptions","elementStyles","connectedCallback","c","_requestedUpdate","disconnectedCallback","hostDisconnected","attributeChangedCallback","name","_old","_$attributeToProperty","__propertyToAttribute","options","attr","__attributeNameForProperty","attrValue","__reflectingProperty","removeAttribute","ctor","propName","__attributeToPropertyMap","getPropertyOptions","r","oldValue","shouldRequestUpdate","has","__reflectingProperties","isUpdatePending","__enqueueUpdate","async","reject","result","scheduleUpdate","performUpdate","hasUpdated","shouldUpdate","changedProperties","willUpdate","hostUpdate","update","__markUpdated","_$didUpdate","_changedProperties","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","k","initializer","observedAttributes","finalize","attributes","state","noAccessor","key","descriptor","getPropertyDescriptor","defineProperty","configurable","enumerable","finalized","superCtor","getPrototypeOf","props","properties","propKeys","getOwnPropertyNames","getOwnPropertySymbols","createProperty","finalizeStyles","isArray","Set","flat","Infinity","reverse","unshift","toLowerCase","HTMLElement","mode","globalThis","reactiveElementVersions","policy","createPolicy","createHTML","marker","Math","random","slice","markerMatch","nodeMarker","d","createMarker","createComment","isPrimitive","isIterable","iterator","textEndRegex","commentEndRegex","comment2EndRegex","tagEndRegex","singleQuoteAttrEndRegex","doubleQuoteAttrEndRegex","rawTextElement","tag","_$litType$","html","svg","noChange","for","nothing","templateCache","WeakMap","render","container","partOwnerNode","renderBefore","part","_$litPart$","endNode","ChildPart","insertBefore","_$setValue","walker","createTreeWalker","getTemplateHtml","l","attrNames","rawTextEndRegex","regex","attrName","match","attrNameEndIndex","lastIndex","exec","test","RegExp","end","startsWith","htmlResult","Template","node","nodeIndex","attrNameIndex","partCount","parts","el","currentNode","content","svgElement","firstChild","remove","append","childNodes","nextNode","nodeType","hasAttributes","attrsToRemove","getAttributeNames","endsWith","realName","statics","getAttribute","split","m","index","PropertyPart","BooleanAttributePart","EventPart","AttributePart","tagName","data","_options","innerHTML","resolveDirective","attributeIndex","parent","currentDirective","__directives","__directive","nextDirectiveConstructor","_$litDirective$","_$AO","n","_$initialize","_$resolve","TemplateInstance","template","_$template","_$parent","parentNode","_$isConnected","_clone","fragment","creationScope","importNode","partIndex","templatePart","nextSibling","ElementPart","_parts","_update","startNode","_$startNode","_$endNode","__isConnected","directiveParent","_$committedValue","_$clear","_commitText","_commitTemplateResult","_commitNode","_commitIterable","_insert","ref","createTextNode","_$getTemplate","h","instance","itemParts","itemPart","item","from","start","_$notifyConnectionChanged","setConnected","element","fill","noCommit","valueIndex","change","_commitValue","newListener","oldListener","shouldRemoveListener","capture","once","passive","shouldAddListener","removeEventListener","addEventListener","handleEvent","event","call","host","litHtmlPolyfillSupport","litHtmlVersions","LitElement","renderOptions","__childPart","_$litElement$","litElementHydrateSupport","litElementPolyfillSupport","litElementVersions","noop","dispatch","arguments","_","t","Dispatch","parseTypenames","typenames","types","trim","on","typename","callback","T","copy","that","args","apply","concat","xhtml","xlink","xml","xmlns","prefix","namespaces","space","local","creatorInherit","ownerDocument","uri","namespaceURI","documentElement","createElementNS","creatorFixed","fullname","namespace","none","selector","querySelector","select","groups","_groups","subgroups","j","group","subgroup","subnode","__data__","Selection","_parents","array","x","empty","querySelectorAll","arrayAll","selectorAll","parents","matches","childMatcher","find","childFind","children","childFirst","firstElementChild","filter","childrenFilter","selectAll","matcher","_enter","sparse","EnterNode","datum","_next","_parent","child","next","bindIndex","enter","exit","groupLength","dataLength","bindKey","nodeByKeyValue","keyValues","keyValue","delete","bind","constant","arraylike","enterGroup","updateGroup","exitGroup","i0","i1","previous","_exit","onenter","onupdate","onexit","selection","merge","order","context","groups0","groups1","m0","m1","min","merges","group0","group1","compareDocumentPosition","compare","ascending","compareNode","a","b","sortgroups","sortgroup","sort","NaN","size","attrRemove","attrRemoveNS","removeAttributeNS","attrConstant","attrConstantNS","setAttributeNS","attrFunction","attrFunctionNS","getAttributeNS","each","defaultView","styleRemove","removeProperty","styleConstant","priority","setProperty","styleFunction","styleValue","getPropertyValue","getComputedStyle","propertyRemove","propertyConstant","propertyFunction","classArray","string","classList","ClassList","_node","_names","add","join","contains","classedAdd","names","list","classedRemove","classedTrue","classedFalse","classedFunction","textRemove","textConstant","textFunction","htmlRemove","htmlConstant","htmlFunction","raise","lower","previousSibling","create","creator","constantNull","before","removeChild","selection_cloneShallow","clone","cloneNode","selection_cloneDeep","deep","property","contextListener","listener","onRemove","__on","o","onAdd","dispatchEvent","params","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","dispatchConstant","dispatchFunction","root","selection_selection","selection_select","selection_selectAll","selectChild","selection_selectChild","selectChildren","selection_selectChildren","selection_filter","selection_data","selection_enter","selection_exit","selection_join","selection_merge","selection_order","selection_sort","selection_call","nodes","selection_nodes","selection_node","selection_size","selection_empty","selection_each","selection_attr","selection_style","selection_property","classed","selection_classed","text","selection_text","selection_html","selection_raise","selection_lower","selection_append","insert","selection_insert","selection_remove","selection_clone","selection_datum","selection_on","selection_dispatch","selection_iterator","factory","extend","definition","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","define","color","channels","assign","displayable","rgb","hex","color_formatHex","formatHex","formatHsl","color_formatHsl","formatRgb","color_formatRgb","hslConvert","format","parseInt","rgbn","Rgb","rgba","hsla","g","rgbConvert","opacity","pow","rgb_formatHex","rgb_formatRgb","isNaN","max","round","Hsl","hsl","m2","hsl2rgb","linear","exponential","y","gamma","nogamma","rgbGamma","colorRgb","reA","reB","source","zero","one","bi","am","bm","bs","q","number","degrees","PI","identity","translateX","translateY","rotate","skewX","scaleX","scaleY","f","sqrt","atan2","atan","svgNode","parseCss","DOMMatrix","WebKitCSSMatrix","isIdentity","decompose","parseSvg","transform","baseVal","consolidate","matrix","interpolateTransform","pxComma","pxParen","degParen","pop","translate","xa","ya","xb","yb","scale","interpolateTransformCss","interpolateTransformSvg","frame","timeout","interval","pokeDelay","taskHead","taskTail","clockLast","clockNow","clockSkew","clock","performance","now","Date","setFrame","requestAnimationFrame","setTimeout","clearNow","Timer","_call","_time","timer","restart","delay","time","TypeError","sleep","stop","timerFlush","wake","nap","poke","t0","t1","t2","clearTimeout","clearInterval","setInterval","elapsed","emptyOn","emptyTween","CREATED","SCHEDULED","STARTING","STARTED","RUNNING","ENDING","ENDED","id","timing","schedules","__transition","tween","duration","ease","init","schedule","self","tick","active","interrupt","tweenRemove","tween0","tween1","tweenFunction","_id","tweenValue","transition","interpolateNumber","interpolateRgb","interpolateString","interpolate","value1","string00","string1","interpolate0","string0","string10","attrTween","attrInterpolate","attrInterpolateNS","attrTweenNS","_value","delayFunction","delayConstant","durationFunction","durationConstant","easeConstant","easeVarying","Transition","_name","every","onFunction","on0","on1","sit","removeFunction","inherit","styleNull","styleMaybeRemove","listener0","styleTween","styleInterpolate","textInterpolate","textTween","id0","id1","newId","resolve","cancel","selection_prototype","transition_select","transition_selectAll","transition_filter","transition_merge","transition_selection","transition_transition","transition_on","transition_attr","transition_attrTween","transition_style","transition_styleTween","transition_text","transition_textTween","transition_remove","transition_tween","transition_delay","transition_duration","transition_ease","transition_easeVarying","transition_end","cubicInOut","defaultTiming","easeCubicInOut","selection_interrupt","selection_transition","DecidablesElement","uniqueId","getComputedStyleValue","d3","currentTarget","ID","greys","light75","light50","light25","dark25","dark50","dark75","elevations","baselineColor","baselineColorString","inverseBaselineColor","inverseBaselineColorString","opacityUmbra","opacityPenumbra","opacityAmbient","opacityBoost","mapUmbra","mapPenumbra","mapAmbient","elevation","inverse","umbraO","shadows","penumbraO","ambientO","umbraC","penumbraC","ambientC","umbraM","penumbraM","ambientM","umbraS","penumbraS","ambientS","erodeRadius","filters","z","abs","cssBoxShadow","DecidablesButton","disabled","customElements","ifDefined","DecidablesSlider","step","target","changed","inputted","DecidablesSpinner","DecidablesSwitch","checked","DecidablesToggle","DecidablesToggleOption","DecidablesConverterArray","parseFloat","toFixed","DecidablesConverterSet"],"mappings":"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"}
1
+ {"version":3,"file":"decidablesElements.esm.js","sources":["../../../node_modules/lit/node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/lit/node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/lit/node_modules/lit-html/lit-html.js","../../../node_modules/lit/node_modules/lit-element/lit-element.js","../../../node_modules/d3-dispatch/src/dispatch.js","../../../node_modules/d3-selection/src/namespaces.js","../../../node_modules/d3-selection/src/namespace.js","../../../node_modules/d3-selection/src/creator.js","../../../node_modules/d3-selection/src/selector.js","../../../node_modules/d3-selection/src/selection/select.js","../../../node_modules/d3-selection/src/array.js","../../../node_modules/d3-selection/src/selectorAll.js","../../../node_modules/d3-selection/src/selection/selectAll.js","../../../node_modules/d3-selection/src/matcher.js","../../../node_modules/d3-selection/src/selection/selectChild.js","../../../node_modules/d3-selection/src/selection/selectChildren.js","../../../node_modules/d3-selection/src/selection/filter.js","../../../node_modules/d3-selection/src/selection/sparse.js","../../../node_modules/d3-selection/src/selection/enter.js","../../../node_modules/d3-selection/src/constant.js","../../../node_modules/d3-selection/src/selection/data.js","../../../node_modules/d3-selection/src/selection/exit.js","../../../node_modules/d3-selection/src/selection/join.js","../../../node_modules/d3-selection/src/selection/merge.js","../../../node_modules/d3-selection/src/selection/order.js","../../../node_modules/d3-selection/src/selection/sort.js","../../../node_modules/d3-selection/src/selection/call.js","../../../node_modules/d3-selection/src/selection/nodes.js","../../../node_modules/d3-selection/src/selection/node.js","../../../node_modules/d3-selection/src/selection/size.js","../../../node_modules/d3-selection/src/selection/empty.js","../../../node_modules/d3-selection/src/selection/each.js","../../../node_modules/d3-selection/src/selection/attr.js","../../../node_modules/d3-selection/src/window.js","../../../node_modules/d3-selection/src/selection/style.js","../../../node_modules/d3-selection/src/selection/property.js","../../../node_modules/d3-selection/src/selection/classed.js","../../../node_modules/d3-selection/src/selection/text.js","../../../node_modules/d3-selection/src/selection/html.js","../../../node_modules/d3-selection/src/selection/raise.js","../../../node_modules/d3-selection/src/selection/lower.js","../../../node_modules/d3-selection/src/selection/append.js","../../../node_modules/d3-selection/src/selection/insert.js","../../../node_modules/d3-selection/src/selection/remove.js","../../../node_modules/d3-selection/src/selection/clone.js","../../../node_modules/d3-selection/src/selection/datum.js","../../../node_modules/d3-selection/src/selection/on.js","../../../node_modules/d3-selection/src/selection/dispatch.js","../../../node_modules/d3-selection/src/selection/iterator.js","../../../node_modules/d3-selection/src/selection/index.js","../../../node_modules/d3-selection/src/select.js","../../../node_modules/d3-color/src/define.js","../../../node_modules/d3-color/src/color.js","../../../node_modules/d3-interpolate/src/constant.js","../../../node_modules/d3-interpolate/src/color.js","../../../node_modules/d3-interpolate/src/rgb.js","../../../node_modules/d3-interpolate/src/number.js","../../../node_modules/d3-interpolate/src/string.js","../../../node_modules/d3-interpolate/src/transform/decompose.js","../../../node_modules/d3-interpolate/src/transform/parse.js","../../../node_modules/d3-interpolate/src/transform/index.js","../../../node_modules/d3-timer/src/timer.js","../../../node_modules/d3-timer/src/timeout.js","../../../node_modules/d3-transition/src/transition/schedule.js","../../../node_modules/d3-transition/src/interrupt.js","../../../node_modules/d3-transition/src/selection/interrupt.js","../../../node_modules/d3-transition/src/transition/tween.js","../../../node_modules/d3-transition/src/transition/interpolate.js","../../../node_modules/d3-transition/src/transition/attr.js","../../../node_modules/d3-transition/src/transition/attrTween.js","../../../node_modules/d3-transition/src/transition/delay.js","../../../node_modules/d3-transition/src/transition/duration.js","../../../node_modules/d3-transition/src/transition/ease.js","../../../node_modules/d3-transition/src/transition/easeVarying.js","../../../node_modules/d3-transition/src/transition/filter.js","../../../node_modules/d3-transition/src/transition/merge.js","../../../node_modules/d3-transition/src/transition/on.js","../../../node_modules/d3-transition/src/transition/remove.js","../../../node_modules/d3-transition/src/transition/select.js","../../../node_modules/d3-transition/src/transition/selectAll.js","../../../node_modules/d3-transition/src/transition/selection.js","../../../node_modules/d3-transition/src/transition/style.js","../../../node_modules/d3-transition/src/transition/styleTween.js","../../../node_modules/d3-transition/src/transition/text.js","../../../node_modules/d3-transition/src/transition/textTween.js","../../../node_modules/d3-transition/src/transition/transition.js","../../../node_modules/d3-transition/src/transition/end.js","../../../node_modules/d3-transition/src/transition/index.js","../../../node_modules/d3-ease/src/cubic.js","../../../node_modules/d3-transition/src/selection/transition.js","../../../node_modules/d3-transition/src/selection/index.js","../src/decidables-element.js","../src/button.js","../../../node_modules/lit/node_modules/lit-html/directives/if-defined.js","../src/slider.js","../src/spinner.js","../src/switch.js","../src/toggle.js","../src/toggle-option.js","../src/converter-array.js","../src/converter-set.js"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,e=Symbol(),n=new Map;class s{constructor(t,n){if(this._$cssResult$=!0,n!==e)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t}get styleSheet(){let e=n.get(this.cssText);return t&&void 0===e&&(n.set(this.cssText,e=new CSSStyleSheet),e.replaceSync(this.cssText)),e}toString(){return this.cssText}}const o=t=>new s(\"string\"==typeof t?t:t+\"\",e),r=(t,...n)=>{const o=1===t.length?t[0]:n.reduce(((e,n,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(n)+t[s+1]),t[0]);return new s(o,e)},i=(e,n)=>{t?e.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((t=>{const n=document.createElement(\"style\"),s=window.litNonce;void 0!==s&&n.setAttribute(\"nonce\",s),n.textContent=t.cssText,e.appendChild(n)}))},S=t?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const n of t.cssRules)e+=n.cssText;return o(e)})(t):t;export{s as CSSResult,i as adoptStyles,r as css,S as getCompatibleStyle,t as supportsAdoptingStyleSheets,o as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as i}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var s;const e=window.trustedTypes,r=e?e.emptyScript:\"\",h=window.reactiveElementPolyfillSupport,o={toAttribute(t,i){switch(i){case Boolean:t=t?r:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},n=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:o,reflect:!1,hasChanged:n};class a extends HTMLElement{constructor(){super(),this._$Et=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Ei=null,this.o()}static addInitializer(t){var i;null!==(i=this.l)&&void 0!==i||(this.l=[]),this.l.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Eh(s,i);void 0!==e&&(this._$Eu.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=\"symbol\"==typeof t?Symbol():\"__\"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(\"finalized\"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this._$Eu=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(t(i))}else void 0!==i&&s.push(t(i));return s}static _$Eh(t,i){const s=i.attribute;return!1===s?void 0:\"string\"==typeof s?s:\"string\"==typeof t?t.toLowerCase():void 0}o(){var t;this._$Ep=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Em(),this.requestUpdate(),null===(t=this.constructor.l)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$Eg)&&void 0!==i?i:this._$Eg=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$Eg)||void 0===i||i.splice(this._$Eg.indexOf(t)>>>0,1)}_$Em(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Et.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$ES(t,i,s=l){var e,r;const h=this.constructor._$Eh(t,s);if(void 0!==h&&!0===s.reflect){const n=(null!==(r=null===(e=s.converter)||void 0===e?void 0:e.toAttribute)&&void 0!==r?r:o.toAttribute)(i,s.type);this._$Ei=t,null==n?this.removeAttribute(h):this.setAttribute(h,n),this._$Ei=null}}_$AK(t,i){var s,e,r;const h=this.constructor,n=h._$Eu.get(t);if(void 0!==n&&this._$Ei!==n){const t=h.getPropertyOptions(n),l=t.converter,a=null!==(r=null!==(e=null===(s=l)||void 0===s?void 0:s.fromAttribute)&&void 0!==e?e:\"function\"==typeof l?l:null)&&void 0!==r?r:o.fromAttribute;this._$Ei=n,this[n]=a(i,t.type),this._$Ei=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||n)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$Ei!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$Ep=this._$E_())}async _$E_(){this.isUpdatePending=!0;try{await this._$Ep}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Et&&(this._$Et.forEach(((t,i)=>this[i]=t)),this._$Et=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$EU()}catch(t){throw i=!1,this._$EU(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$Eg)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Ep}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$ES(i,this[i],t))),this._$EC=void 0),this._$EU()}updated(t){}firstUpdated(t){}}a.finalized=!0,a.elementProperties=new Map,a.elementStyles=[],a.shadowRootOptions={mode:\"open\"},null==h||h({ReactiveElement:a}),(null!==(s=globalThis.reactiveElementVersions)&&void 0!==s?s:globalThis.reactiveElementVersions=[]).push(\"1.3.1\");export{a as ReactiveElement,o as defaultConverter,n as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=globalThis.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=`lit$${(Math.random()+\"\").slice(9)}$`,o=\"?\"+e,n=`<${o}>`,l=document,h=(t=\"\")=>l.createComment(t),r=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,d=Array.isArray,u=t=>{var i;return d(t)||\"function\"==typeof(null===(i=t)||void 0===i?void 0:i[Symbol.iterator])},c=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,a=/>/g,f=/>|[ \t\\n\f\\r](?:([^\\s\"'>=/]+)([ \t\\n\f\\r]*=[ \t\\n\f\\r]*(?:[^ \t\\n\f\\r\"'`<>=]|(\"|')|))|$)/g,_=/'/g,m=/\"/g,g=/^(?:script|style|textarea|title)$/i,p=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),$=p(1),y=p(2),b=Symbol.for(\"lit-noChange\"),w=Symbol.for(\"lit-nothing\"),T=new WeakMap,x=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new N(i.insertBefore(h(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l},A=l.createTreeWalker(l,129,null,!1),C=(t,i)=>{const o=t.length-1,l=[];let h,r=2===i?\"<svg>\":\"\",d=c;for(let i=0;i<o;i++){const s=t[i];let o,u,p=-1,$=0;for(;$<s.length&&(d.lastIndex=$,u=d.exec(s),null!==u);)$=d.lastIndex,d===c?\"!--\"===u[1]?d=v:void 0!==u[1]?d=a:void 0!==u[2]?(g.test(u[2])&&(h=RegExp(\"</\"+u[2],\"g\")),d=f):void 0!==u[3]&&(d=f):d===f?\">\"===u[0]?(d=null!=h?h:c,p=-1):void 0===u[1]?p=-2:(p=d.lastIndex-u[2].length,o=u[1],d=void 0===u[3]?f:'\"'===u[3]?m:_):d===m||d===_?d=f:d===v||d===a?d=c:(d=f,h=void 0);const y=d===f&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=d===c?s+n:p>=0?(l.push(o),s.slice(0,p)+\"$lit$\"+s.slice(p)+e+y):s+e+(-2===p?(l.push(void 0),i):y)}const u=r+(t[o]||\"<?>\")+(2===i?\"</svg>\":\"\");if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return[void 0!==s?s.createHTML(u):u,l]};class E{constructor({strings:t,_$litType$:s},n){let l;this.parts=[];let r=0,d=0;const u=t.length-1,c=this.parts,[v,a]=C(t,s);if(this.el=E.createElement(v,n),A.currentNode=this.el.content,2===s){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(l=A.nextNode())&&c.length<u;){if(1===l.nodeType){if(l.hasAttributes()){const t=[];for(const i of l.getAttributeNames())if(i.endsWith(\"$lit$\")||i.startsWith(e)){const s=a[d++];if(t.push(i),void 0!==s){const t=l.getAttribute(s.toLowerCase()+\"$lit$\").split(e),i=/([.?@])?(.*)/.exec(s);c.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?M:\"?\"===i[1]?H:\"@\"===i[1]?I:S})}else c.push({type:6,index:r})}for(const i of t)l.removeAttribute(i)}if(g.test(l.tagName)){const t=l.textContent.split(e),s=t.length-1;if(s>0){l.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)l.append(t[i],h()),A.nextNode(),c.push({type:2,index:++r});l.append(t[s],h())}}}else if(8===l.nodeType)if(l.data===o)c.push({type:2,index:r});else{let t=-1;for(;-1!==(t=l.data.indexOf(e,t+1));)c.push({type:7,index:r}),t+=e.length-1}r++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function P(t,i,s=t,e){var o,n,l,h;if(i===b)return i;let d=void 0!==e?null===(o=s._$Cl)||void 0===o?void 0:o[e]:s._$Cu;const u=r(i)?void 0:i._$litDirective$;return(null==d?void 0:d.constructor)!==u&&(null===(n=null==d?void 0:d._$AO)||void 0===n||n.call(d,!1),void 0===u?d=void 0:(d=new u(t),d._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Cl)&&void 0!==l?l:h._$Cl=[])[e]=d:s._$Cu=d),void 0!==d&&(i=P(t,d._$AS(t,i.values),d,e)),i}class V{constructor(t,i){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:l).importNode(s,!0);A.currentNode=o;let n=A.nextNode(),h=0,r=0,d=e[0];for(;void 0!==d;){if(h===d.index){let i;2===d.type?i=new N(n,n.nextSibling,this,t):1===d.type?i=new d.ctor(n,d.name,d.strings,this,t):6===d.type&&(i=new L(n,this,t)),this.v.push(i),d=e[++r]}h!==(null==d?void 0:d.index)&&(n=A.nextNode(),h++)}return o}m(t){let i=0;for(const s of this.v)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class N{constructor(t,i,s,e){var o;this.type=2,this._$AH=w,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cg=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=P(this,t,i),r(t)?t===w||null==t||\"\"===t?(this._$AH!==w&&this._$AR(),this._$AH=w):t!==this._$AH&&t!==b&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.k(t):u(t)?this.S(t):this.$(t)}A(t,i=this._$AB){return this._$AA.parentNode.insertBefore(t,i)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.A(t))}$(t){this._$AH!==w&&r(this._$AH)?this._$AA.nextSibling.data=t:this.k(l.createTextNode(t)),this._$AH=t}T(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=E.createElement(e.h,this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.m(s);else{const t=new V(o,this),i=t.p(this.options);t.m(s),this.k(i),this._$AH=t}}_$AC(t){let i=T.get(t.strings);return void 0===i&&T.set(t.strings,i=new E(t)),i}S(t){d(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new N(this.A(h()),this.A(h()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cg=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class S{constructor(t,i,s,e,o){this.type=1,this._$AH=w,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=w}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=P(this,t,i,0),n=!r(t)||t!==this._$AH&&t!==b,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=P(this,e[s+l],i,l),h===b&&(h=this._$AH[l]),n||(n=!r(h)||h!==this._$AH[l]),h===w?t=w:t!==w&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.C(t)}C(t){t===w?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class M extends S{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===w?void 0:t}}const k=i?i.emptyScript:\"\";class H extends S{constructor(){super(...arguments),this.type=4}C(t){t&&t!==w?this.element.setAttribute(this.name,k):this.element.removeAttribute(this.name)}}class I extends S{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=P(this,t,i,0))&&void 0!==s?s:w)===b)return;const e=this._$AH,o=t===w&&e!==w||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==w&&(e===w||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class L{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){P(this,t)}}const R={P:\"$lit$\",L:e,V:o,I:1,N:C,R:V,D:u,j:P,H:N,O:S,F:H,B:I,W:M,Z:L},z=window.litHtmlPolyfillSupport;null==z||z(E,N),(null!==(t=globalThis.litHtmlVersions)&&void 0!==t?t:globalThis.litHtmlVersions=[]).push(\"2.2.1\");export{R as _$LH,$ as html,b as noChange,w as nothing,x as render,y as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var l,o;const r=t;class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Dt=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Dt=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!1)}render(){return i}}s.finalized=!0,s._$litElement$=!0,null===(l=globalThis.litElementHydrateSupport)||void 0===l||l.call(globalThis,{LitElement:s});const n=globalThis.litElementPolyfillSupport;null==n||n({LitElement:s});const h={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(o=globalThis.litElementVersions)&&void 0!==o?o:globalThis.litElementVersions=[]).push(\"3.2.0\");export{s as LitElement,r as UpdatingElement,h as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","\nimport {\n LitElement,\n css,\n svg,\n unsafeCSS,\n} from 'lit';\nimport * as d3 from 'd3';\n\n/*\n DecidablesElement Base Class - Not intended for instantiation!\n <decidables-element>\n*/\nexport default class DecidablesElement extends LitElement {\n getComputedStyleValue(property) {\n return getComputedStyle(this).getPropertyValue(property).trim();\n }\n\n firstUpdated(changedProperties) {\n super.firstUpdated(changedProperties);\n\n // Use focus highlighting if keyboard is used at all\n d3.select(this.renderRoot.host)\n .classed('keyboard', true)\n .on('mousemove.keyboard touchstart.keyboard', (event) => {\n const element = event.currentTarget;\n d3.select(element.renderRoot.host)\n .classed('keyboard', false)\n .on('mousemove.keyboard touchstart.keyboard', null);\n })\n .on('keydown.keyboard', (event) => {\n const element = event.currentTarget;\n d3.select(element.renderRoot.host)\n .classed('keyboard', true)\n .on('keydown.keyboard mousemove.keyboard touchstart.keyboard', null);\n });\n }\n\n static get greys() {\n const grey = '#999999';\n const greys = {};\n greys.white = '#ffffff';\n greys.light75 = d3.interpolateRgb(grey, '#ffffff')(0.75);\n greys.light50 = d3.interpolateRgb(grey, '#ffffff')(0.5);\n greys.light25 = d3.interpolateRgb(grey, '#ffffff')(0.25);\n greys.grey = grey;\n greys.dark25 = d3.interpolateRgb(grey, '#000000')(0.25);\n greys.dark50 = d3.interpolateRgb(grey, '#000000')(0.5);\n greys.dark75 = d3.interpolateRgb(grey, '#000000')(0.75);\n greys.black = '#000000';\n return greys;\n }\n\n static get shadows() {\n // Material Design elevation styles\n // References:\n // https://github.com/material-components/material-components-web/tree/master/packages/mdc-elevation\n // https://codepen.io/hanger/pen/yOGvQp\n /* eslint-disable key-spacing, object-curly-newline */\n return {\n elevations: [0, 2, 4, 8, 16],\n baselineColor: '#000000',\n baselineColorString: '0, 0, 0',\n inverseBaselineColor: '#FFFFFF',\n inverseBaselineColorString: '255, 255, 255',\n opacityUmbra: 0.2,\n opacityPenumbra: 0.14,\n opacityAmbient: 0.12,\n opacityBoost: 0.2,\n mapUmbra: {// $mdc-elevation-umbra-map\n 0: {x: 0, y: 0, b: 0, s: 0}, // offset-x, offset-y, blur-radius, spread-radius\n 2: {x: 0, y: 3, b: 1, s: -2},\n 4: {x: 0, y: 2, b: 4, s: -1},\n 8: {x: 0, y: 5, b: 5, s: -3},\n 16: {x: 0, y: 8, b: 10, s: -5},\n },\n mapPenumbra: {// $mdc-elevation-penumbra-map\n 0: {x: 0, y: 0, b: 0, s: 0}, // offset-x, offset-y, blur-radius, spread-radius\n 2: {x: 0, y: 2, b: 2, s: 0},\n 4: {x: 0, y: 4, b: 5, s: 0},\n 8: {x: 0, y: 8, b: 10, s: 1},\n 16: {x: 0, y: 16, b: 24, s: 2},\n },\n mapAmbient: {// $mdc-elevation-ambient-map\n 0: {x: 0, y: 0, b: 0, s: 0}, // offset-x, offset-y, blur-radius, spread-radius\n 2: {x: 0, y: 1, b: 5, s: 0},\n 4: {x: 0, y: 1, b: 10, s: 0},\n 8: {x: 0, y: 3, b: 14, s: 2},\n 16: {x: 0, y: 6, b: 30, s: 5},\n },\n };\n /* eslint-enable key-spacing, object-curly-newline */\n }\n\n static cssBoxShadow(elevation, rotate = false, inverse = false) {\n const umbraO = this.shadows.opacityUmbra + this.shadows.opacityBoost;\n const penumbraO = this.shadows.opacityPenumbra + this.shadows.opacityBoost;\n const ambientO = this.shadows.opacityAmbient + this.shadows.opacityBoost;\n\n const umbraC = (inverse)\n ? `rgba(${this.shadows.inverseBaselineColorString}, ${umbraO})`\n : `rgba(${this.shadows.baselineColorString}, ${umbraO})`;\n const penumbraC = (inverse)\n ? `rgba(${this.shadows.inverseBaselineColorString}, ${penumbraO})`\n : `rgba(${this.shadows.baselineColorString}, ${penumbraO})`;\n const ambientC = (inverse)\n ? `rgba(${this.shadows.inverseBaselineColorString}, ${ambientO})`\n : `rgba(${this.shadows.baselineColorString}, ${ambientO})`;\n\n const umbraM = this.shadows.mapUmbra[elevation];\n const penumbraM = this.shadows.mapPenumbra[elevation];\n const ambientM = this.shadows.mapAmbient[elevation];\n\n const umbraS = (rotate)\n ? `${-umbraM.y}px ${umbraM.y / 2}px ${umbraM.b}px ${umbraM.s}px`\n : `${umbraM.y / 2}px ${umbraM.y}px ${umbraM.b}px ${umbraM.s}px`;\n const penumbraS = (rotate)\n ? `${-penumbraM.y}px ${penumbraM.y / 2}px ${penumbraM.b}px ${penumbraM.s}px`\n : `${penumbraM.y / 2}px ${penumbraM.y}px ${penumbraM.b}px ${penumbraM.s}px`;\n const ambientS = (rotate)\n ? `${-ambientM.y}px ${ambientM.y / 2}px ${ambientM.b}px ${ambientM.s}px`\n : `${ambientM.y / 2}px ${ambientM.y}px ${ambientM.b}px ${ambientM.s}px`;\n\n return `${umbraS} ${umbraC}, ${penumbraS} ${penumbraC}, ${ambientS} ${ambientC}`;\n }\n\n static get svgFilters() {\n const shadows = DecidablesElement.shadows; // eslint-disable-line prefer-destructuring\n\n const filters = shadows.elevations.map((z) => {\n return svg`\n <filter id=${`shadow-${z}`} x=\"-250%\" y=\"-250%\" width=\"600%\" height=\"600%\">\n <feComponentTransfer in=\"SourceAlpha\" result=\"solid\">\n <feFuncA type=\"table\" tableValues=\"0 1 1\"/>\n </feComponentTransfer>\n <feOffset in=\"solid\" result=\"offU\" dx=${shadows.mapUmbra[z].y / 2} dy=${shadows.mapUmbra[z].y} />\n <feOffset in=\"solid\" result=\"offP\" dx=${shadows.mapPenumbra[z].y / 2} dy=${shadows.mapPenumbra[z].y} />\n <feOffset in=\"solid\" result=\"offA\" dx=${shadows.mapAmbient[z].y / 2} dy=${shadows.mapAmbient[z].y} />\n ${(shadows.mapUmbra[z].s === 0)\n ? svg``\n : svg`<feMorphology in=\"offU\" result=\"spreadU\" operator=${(shadows.mapUmbra[z].s > 0) ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapUmbra[z].s)} />`\n }\n ${(shadows.mapPenumbra[z].s === 0)\n ? svg``\n : svg`<feMorphology in=\"offP\" result=\"spreadP\" operator=${(shadows.mapPenumbra[z].s > 0) ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapPenumbra[z].s)} />`\n }\n ${(shadows.mapAmbient[z].s === 0)\n ? svg``\n : svg`<feMorphology in=\"offA\" result=\"spreadA\" operator=${(shadows.mapAmbient[z].s > 0) ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapAmbient[z].s)} />`\n }\n <feGaussianBlur in=${(shadows.mapUmbra[z].s === 0) ? 'offU' : 'spreadU'} result=\"blurU\" stdDeviation=${shadows.mapUmbra[z].b / 2} />\n <feGaussianBlur in=${(shadows.mapPenumbra[z].s === 0) ? 'offP' : 'spreadP'} result=\"blurP\" stdDeviation=${shadows.mapPenumbra[z].b / 2} />\n <feGaussianBlur in=${(shadows.mapAmbient[z].s === 0) ? 'offA' : 'spreadA'} result=\"blurA\" stdDeviation=${shadows.mapAmbient[z].b / 2} />\n <feFlood in=\"SourceGraphic\" result=\"opU\" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityUmbra + shadows.opacityBoost} />\n <feFlood in=\"SourceGraphic\" result=\"opP\" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityPenumbra + shadows.opacityBoost} />\n <feFlood in=\"SourceGraphic\" result=\"opA\" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityAmbient + shadows.opacityBoost} />\n <feComposite in=\"opU\" in2=\"blurU\" result=\"shU\" operator=\"in\" />\n <feComposite in=\"opP\" in2=\"blurP\" result=\"shP\" operator=\"in\" />\n <feComposite in=\"opA\" in2=\"blurA\" result=\"shA\" operator=\"in\" />\n <feMorphology in=\"solid\" result=\"smaller\" operator=\"erode\" radius=\"1\" />\n <feComposite in=\"shU\" in2=\"smaller\" result=\"finalU\" operator=\"out\" />\n <feComposite in=\"shP\" in2=\"smaller\" result=\"finalP\" operator=\"out\" />\n <feComposite in=\"shA\" in2=\"smaller\" result=\"finalA\" operator=\"out\" />\n <feMerge>\n <feMergeNode in=\"finalU\" />\n <feMergeNode in=\"finalP\" />\n <feMergeNode in=\"finalA\" />\n <feMergeNode in=\"SourceGraphic\" />\n </feMerge>\n </filter>`;\n });\n\n return svg`\n <svg class=\"defs\">\n <defs>\n ${filters}\n </defs>\n </svg>\n `;\n }\n\n static get styles() {\n return css`\n :host {\n ---shadow-0: var(--shadow-0, ${unsafeCSS(this.cssBoxShadow(0))});\n ---shadow-2: var(--shadow-2, ${unsafeCSS(this.cssBoxShadow(2))});\n ---shadow-4: var(--shadow-4, ${unsafeCSS(this.cssBoxShadow(4))});\n ---shadow-8: var(--shadow-8, ${unsafeCSS(this.cssBoxShadow(8))});\n\n ---color-background: var(--color-background, ${unsafeCSS(this.greys.white)});\n ---color-border: var(--color-border, ${unsafeCSS(this.greys.light75)});\n ---color-text: var(--color-text, ${unsafeCSS(this.greys.dark75)});\n ---color-text-inverse: var(--color-text-inverse, ${unsafeCSS(this.greys.white)});\n ---color-link: var(--color-link, ${unsafeCSS(this.greys.dark25)});\n ---color-element-background: var(--color-element-background, ${unsafeCSS(this.greys.light75)});\n ---color-element-disabled: var(--color-element-disabled, ${unsafeCSS(this.greys.light50)});\n ---color-element-enabled: var(--color-element-enabled, ${unsafeCSS(this.greys.grey)});\n ---color-element-selected: var(--color-element-selected, ${unsafeCSS(this.greys.dark25)});\n ---color-element-border: var(--color-element-border, ${unsafeCSS(this.greys.dark50)});\n ---color-element-emphasis: var(--color-element-emphasis, ${unsafeCSS(this.greys.dark75)});\n\n ---font-family-base: var(--font-family-base, \"Source Sans\", sans-serif);\n ---font-family-math: var(--font-family-math, \"Source Serif\", serif);\n\n ---transition-duration: var(--transition-duration, 500ms);\n\n font-family: var(---font-family-base);\n }\n\n :host,\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: border-box;\n }\n\n .math-greek {\n font-family: var(---font-family-math);\n font-style: normal;\n }\n\n .math-num {\n font-family: var(---font-family-base);\n font-style: normal;\n }\n\n .math-var {\n font-family: var(---font-family-math);\n font-style: italic;\n }\n\n .defs {\n display: block;\n\n width: 0;\n height: 0;\n }\n `;\n }\n}\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesButton extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n margin: 0.25rem;\n }\n\n button {\n width: 100%;\n height: 100%;\n padding: 0.375rem 0.75rem;\n\n font-family: var(---font-family-base);\n font-size: 1.125rem;\n line-height: 1.5;\n color: var(---color-text-inverse);\n\n border: 0;\n border-radius: 0.25rem;\n outline: none;\n }\n\n button:disabled {\n background-color: var(--decidables-button-background-color, var(---color-element-disabled));\n outline: none;\n box-shadow: none;\n }\n\n button:enabled {\n cursor: pointer;\n\n background-color: var(--decidables-button-background-color, var(---color-element-enabled));\n outline: none;\n box-shadow: var(---shadow-2);\n }\n\n button:enabled:hover {\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n button:enabled:active {\n outline: none;\n box-shadow: var(---shadow-8);\n }\n\n :host(.keyboard) button:enabled:focus {\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n :host(.keyboard) button:enabled:focus:active {\n outline: none;\n box-shadow: var(---shadow-8);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <button ?disabled=${this.disabled}>\n <slot></slot>\n </button>\n `;\n }\n}\n\ncustomElements.define('decidables-button', DecidablesButton);\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=l=>null!=l?l:t;export{l as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","\nimport {ifDefined} from 'lit/directives/if-defined.js'; /* eslint-disable-line import/extensions */\nimport {html, css, unsafeCSS} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesSlider extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n max: {\n attribute: 'max',\n type: Number,\n reflect: true,\n },\n min: {\n attribute: 'min',\n type: Number,\n reflect: true,\n },\n step: {\n attribute: 'step',\n type: Number,\n reflect: true,\n },\n value: {\n attribute: 'value',\n type: Number,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n this.max = undefined;\n this.min = undefined;\n this.step = undefined;\n this.value = undefined;\n }\n\n changed(event) {\n this.value = event.target.value;\n this.dispatchEvent(new CustomEvent('change', {\n detail: {\n value: this.value,\n },\n bubbles: true,\n }));\n }\n\n inputted(event) {\n this.value = event.target.value;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n ---shadow-2-rotate: var(--shadow-2-rotate, ${unsafeCSS(this.cssBoxShadow(2, true, false))});\n ---shadow-4-rotate: var(--shadow-4-rotate, ${unsafeCSS(this.cssBoxShadow(4, true, false))});\n ---shadow-8-rotate: var(--shadow-8-rotate, ${unsafeCSS(this.cssBoxShadow(8, true, false))});\n\n display: flex;\n\n flex-direction: column;\n\n align-items: center;\n justify-content: center;\n }\n\n label {\n margin: 0.25rem 0.25rem 0;\n }\n\n .range {\n display: inline-block;\n\n width: 3.5rem;\n height: 4.75rem;\n margin: 0 0.25rem 0.25rem;\n }\n\n decidables-spinner {\n --decidables-spinner-input-width: 3.5rem;\n\n margin: 0 0.25rem 0.25rem;\n }\n\n /* Adapted from http://danielstern.ca/range.css/#/ */\n /* Overall */\n input[type=range] {\n width: 4.75rem;\n height: 3.5rem;\n padding: 0;\n margin: 0;\n\n background-color: unset;\n\n transform: rotate(-90deg);\n transform-origin: 2.375rem 2.375rem;\n\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -webkit-appearance: none;\n }\n\n input[type=range]:enabled {\n cursor: ns-resize;\n }\n\n input[type=range]:focus {\n outline: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-tooltip {\n display: none;\n }\n\n /* Track */\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-webkit-slider-runnable-track {\n width: 100%;\n height: 4px;\n\n background: var(---color-element-disabled);\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n input[type=range]:focus::-webkit-slider-runnable-track {\n background: var(---color-element-disabled);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-moz-range-track {\n width: 100%;\n height: 4px;\n\n background: var(---color-element-disabled);\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-track {\n width: 100%;\n height: 4px;\n\n color: transparent;\n\n background: transparent;\n border-color: transparent;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-fill-lower {\n background: #cccccc;\n /* background: var(---color-element-disabled); */\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-fill-upper {\n background: #cccccc;\n /* background: var(---color-element-disabled); */\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:focus::-ms-fill-lower {\n background: var(---color-element-disabled);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:focus::-ms-fill-upper {\n background: var(---color-element-disabled);\n }\n\n /* Thumb */\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-webkit-slider-thumb {\n width: 10px;\n height: 20px;\n margin-top: -8px;\n\n border: 0;\n border-radius: 4px;\n\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -webkit-appearance: none;\n }\n\n input[type=range]:disabled::-webkit-slider-thumb {\n background: var(---color-element-disabled);\n box-shadow: none;\n }\n\n input[type=range]:enabled::-webkit-slider-thumb {\n background: var(---color-element-enabled);\n box-shadow: var(---shadow-2-rotate);\n }\n\n input[type=range]:enabled:hover::-webkit-slider-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n input[type=range]:enabled:active::-webkit-slider-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus::-webkit-slider-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n :host(.keyboard) input[type=range]:focus:active::-webkit-slider-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-moz-range-thumb {\n width: 10px;\n height: 20px;\n\n border: 0;\n border-radius: 4px;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:disabled::-moz-range-thumb {\n background: var(---color-element-disabled);\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled::-moz-range-thumb {\n background: var(---color-element-enabled);\n box-shadow: var(---shadow-2-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:hover::-moz-range-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:active::-moz-range-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus::-moz-range-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus:active::-moz-range-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-thumb {\n width: 10px;\n height: 20px;\n margin-top: 0;\n\n background: #999999;\n /* background: var(---color-element-enabled); */\n border: 0;\n border-radius: 4px;\n box-shadow: var(---shadow-2-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:disabled::-ms-thumb {\n background: var(---color-element-disabled);\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled::-ms-thumb {\n background: var(---color-element-enabled);\n box-shadow: var(---shadow-2-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:hover::-ms-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:active::-ms-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n :host(.keyboard) input[type=range]:enabled:focus::-ms-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus:active::-ms-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <label for=\"slider\">\n <slot></slot>\n </label>\n <div class=\"range\">\n <input type=\"range\" id=\"slider\" min=${ifDefined(this.min)} max=${ifDefined(this.max)} step=${ifDefined(this.step)} .value=${this.value} @change=${this.changed.bind(this)} @input=${this.inputted.bind(this)}>\n </div>\n <decidables-spinner min=${ifDefined(this.min)} max=${ifDefined(this.max)} step=${ifDefined(this.step)} .value=${this.value} @input=${this.inputted.bind(this)}></decidables-spinner>\n `;\n }\n}\n\ncustomElements.define('decidables-slider', DecidablesSlider);\n","\nimport {ifDefined} from 'lit/directives/if-defined.js'; /* eslint-disable-line import/extensions */\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesSpinner extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n max: {\n attribute: 'max',\n type: Number,\n reflect: true,\n },\n min: {\n attribute: 'min',\n type: Number,\n reflect: true,\n },\n step: {\n attribute: 'step',\n type: Number,\n reflect: true,\n },\n value: {\n attribute: 'value',\n type: Number,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n this.max = undefined;\n this.min = undefined;\n this.step = undefined;\n this.value = undefined;\n }\n\n inputted(event) {\n this.value = event.target.value;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n ---decidables-spinner-font-size: var(--decidables-spinner-font-size, 1.125rem);\n ---decidables-spinner-input-width: var(--decidables-spinner-input-width, 4rem);\n ---decidables-spinner-prefix: var(--decidables-spinner-prefix, \"\");\n\n display: block;\n }\n\n label {\n position: relative;\n display: flex;\n\n flex-direction: column;\n\n align-items: center;\n\n margin: 0;\n\n font-size: 0.75rem;\n }\n\n label::before {\n position: absolute;\n bottom: 1px;\n left: calc(50% - var(---decidables-spinner-input-width) / 2 + 0.25rem);\n\n font-size: var(---decidables-spinner-font-size);\n line-height: normal;\n\n content: var(---decidables-spinner-prefix);\n }\n\n input[type=number] {\n width: var(---decidables-spinner-input-width);\n\n font-family: var(---font-family-base);\n font-size: var(---decidables-spinner-font-size);\n color: inherit;\n text-align: right;\n\n background: none;\n border: 0;\n border-radius: 0;\n outline: none;\n box-shadow: var(---shadow-2);\n\n -webkit-appearance: none; /* stylelint-disable-line property-no-vendor-prefix */\n }\n\n input[type=number]:hover {\n box-shadow: var(---shadow-4);\n }\n\n input[type=number]:focus,\n input[type=number]:active {\n box-shadow: var(---shadow-8);\n }\n\n input[type=number]:disabled {\n color: var(---color-text);\n\n border: 0;\n box-shadow: none;\n\n /* HACK: Use correct text color in Safari */\n -webkit-opacity: 1;\n /* HACK: Hide spinners in disabled input for Firefox and Safari */\n -moz-appearance: textfield; /* stylelint-disable-line property-no-vendor-prefix */\n /* HACK: Use correct text color in Safari */\n -webkit-text-fill-color: var(---color-text);\n }\n\n /* HACK: Hide spinners in disabled input for Firefox and Safari */\n input[type=number]:disabled::-webkit-outer-spin-button,\n input[type=number]:disabled::-webkit-inner-spin-button {\n margin: 0;\n -webkit-appearance: none; /* stylelint-disable-line property-no-vendor-prefix */\n }\n `,\n ];\n }\n\n render() {\n return html`\n <label>\n <slot></slot>\n <input ?disabled=${this.disabled} type=\"number\" min=${ifDefined(this.min)} max=${ifDefined(this.max)} step=${ifDefined(this.step)} .value=${this.value} @input=${this.inputted.bind(this)}>\n </label>\n `;\n }\n}\n\ncustomElements.define('decidables-spinner', DecidablesSpinner);\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesSwitch extends DecidablesElement {\n static get properties() {\n return {\n checked: {\n attribute: 'checked',\n type: Boolean,\n reflect: true,\n },\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.checked = false;\n this.disabled = false;\n }\n\n changed(event) {\n this.checked = event.target.checked;\n this.dispatchEvent(new CustomEvent('change', {\n detail: {\n checked: this.checked,\n },\n bubbles: true,\n }));\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n display: flex;\n\n flex-direction: column;\n\n align-items: center;\n justify-content: center;\n }\n\n /* Adapted from https://codepen.io/guuslieben/pen/YyPRVP */\n input[type=checkbox] {\n /* visuallyhidden: https://github.com/h5bp/html5-boilerplate/blob/master/dist/doc/css.md */\n position: absolute;\n\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n white-space: nowrap;\n\n border: 0;\n clip-path: inset(100%); /* May cause a performance issue: https://github.com/h5bp/html5-boilerplate/issues/2021 */\n }\n\n input[type=checkbox] + label {\n order: 1;\n\n margin: 0 0.25rem 0.25rem;\n\n font-weight: 400;\n }\n\n input[type=checkbox] + label + label {\n position: relative;\n\n min-width: 24px;\n padding: 0 0 36px;\n margin: 0.25rem 0.25rem 0;\n\n font-weight: 400;\n\n outline: none;\n }\n\n input[type=checkbox] + label + label::before,\n input[type=checkbox] + label + label::after {\n position: absolute;\n\n left: 50%;\n\n margin: 0;\n\n content: \"\";\n\n outline: 0;\n\n transition: all var(---transition-duration) ease;\n transform: translate(-50%, 0);\n }\n\n input[type=checkbox] + label + label::before {\n bottom: 1px;\n\n width: 8px;\n height: 34px;\n\n background-color: var(---color-element-disabled);\n border-radius: 4px;\n }\n\n input[type=checkbox] + label + label::after {\n bottom: 0;\n\n width: 18px;\n height: 18px;\n\n background-color: var(---color-element-enabled);\n border-radius: 50%;\n box-shadow: var(---shadow-2);\n }\n\n input[type=checkbox]:checked + label + label::after {\n transform: translate(-50%, -100%);\n }\n\n input[type=checkbox]:disabled + label + label::after {\n background-color: var(---color-element-disabled);\n box-shadow: none;\n }\n\n input[type=checkbox]:enabled + label,\n input[type=checkbox]:enabled + label + label {\n cursor: pointer;\n }\n\n input[type=checkbox]:enabled + label:hover + label::after,\n input[type=checkbox]:enabled + label + label:hover::after {\n box-shadow: var(---shadow-4);\n }\n\n input[type=checkbox]:enabled + label:active + label::after,\n input[type=checkbox]:enabled + label + label:active::after {\n box-shadow: var(---shadow-8);\n }\n\n /* stylelint-disable-next-line selector-max-compound-selectors */\n :host(.keyboard) input[type=checkbox]:enabled:focus + label + label::after {\n box-shadow: var(---shadow-4);\n }\n\n /* stylelint-disable-next-line selector-max-compound-selectors */\n :host(.keyboard) input[type=checkbox]:enabled:focus + label + label:active::after,\n :host(.keyboard) input[type=checkbox]:enabled:focus:active + label + label::after {\n box-shadow: var(---shadow-8);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <input type=\"checkbox\" id=\"switch\" ?checked=${this.checked} ?disabled=${this.disabled} @change=${this.changed.bind(this)}>\n <label for=\"switch\">\n <slot name=\"off-label\"></slot>\n </label>\n <label for=\"switch\">\n <slot></slot>\n </label>\n `;\n }\n}\n\ncustomElements.define('decidables-switch', DecidablesSwitch);\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesToggle extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n fieldset {\n display: flex;\n\n flex-direction: column;\n\n align-items: stretch;\n justify-content: center;\n\n margin: 0.25rem;\n\n border: 0;\n }\n\n legend {\n text-align: center;\n }\n `,\n ];\n }\n\n render() {\n return html`\n <fieldset ?disabled=${this.disabled}>\n <legend><slot name=\"label\"></slot></legend>\n <slot></slot>\n </fieldset>\n `;\n }\n}\n\ncustomElements.define('decidables-toggle', DecidablesToggle);\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesToggleOption extends DecidablesElement {\n static get properties() {\n return {\n checked: {\n attribute: 'checked',\n type: Boolean,\n reflect: true,\n },\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n name: {\n attribute: 'name',\n type: String,\n reflect: true,\n },\n value: {\n attribute: 'value',\n type: String,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.checked = false;\n this.disabled = false;\n this.name = undefined;\n this.value = undefined;\n }\n\n changed(event) {\n this.checked = event.target.checked;\n this.dispatchEvent(new CustomEvent('change', {\n detail: {\n checked: this.checked,\n value: this.value,\n },\n bubbles: true,\n }));\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n display: flex;\n }\n\n input[type=radio] {\n /* visuallyhidden: https://github.com/h5bp/html5-boilerplate/blob/master/dist/doc/css.md */\n position: absolute;\n\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n white-space: nowrap;\n\n border: 0;\n clip-path: inset(100%); /* May cause a performance issue: https://github.com/h5bp/html5-boilerplate/issues/2021 */\n }\n\n input[type=radio] + label {\n width: 100%;\n padding: 0.375rem 0.75rem;\n\n font-family: var(---font-family-base);\n font-size: 1.125rem;\n line-height: 1.5;\n color: var(---color-text-inverse);\n text-align: center;\n\n cursor: pointer;\n\n background-color: var(---color-element-enabled);\n border: 0;\n border-radius: 0;\n outline: none;\n\n box-shadow: var(---shadow-2);\n }\n\n input[type=radio]:checked + label {\n background-color: var(---color-element-selected);\n outline: none;\n box-shadow: var(---shadow-2);\n }\n\n input[type=radio] + label:hover {\n z-index: 1;\n\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n input[type=radio] + label:active {\n z-index: 2;\n\n outline: none;\n box-shadow: var(---shadow-8);\n }\n\n :host(:first-of-type) input[type=radio] + label {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n\n :host(:last-of-type) input[type=radio] + label {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n\n :host(.keyboard) input[type=radio]:focus + label {\n z-index: 1;\n\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n :host(.keyboard) input[type=radio]:focus:checked + label {\n z-index: 1;\n\n background-color: var(---color-element-selected);\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n :host(.keyboard) input[type=radio]:focus + label:active {\n z-index: 2;\n\n outline: none;\n box-shadow: var(---shadow-8);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <input type=\"radio\" id=\"toggle-option\" name=${this.name} value=${this.value} .checked=${this.checked} @change=${this.changed.bind(this)}>\n <label for=\"toggle-option\">\n <slot></slot>\n </label>\n `;\n }\n}\n\ncustomElements.define('decidables-toggle-option', DecidablesToggleOption);\n","\n/*\n Attribute: Space-separated sequence of numbers\n Property: Array of numbers\n*/\nconst DecidablesConverterArray = {\n fromAttribute: (value) => {\n return value.split(/\\s+/).map((item) => { return Number.parseFloat(item); });\n },\n toAttribute: (value) => {\n return (value.length) ? value.map((item) => { return item.toFixed(3); }).join(' ') : null;\n },\n};\n\nexport default DecidablesConverterArray;\n","\n/*\n Attribute: Space-separated sequence of strings\n Property: Set of strings\n*/\nconst DecidablesConverterSet = {\n fromAttribute: (value) => {\n return new Set(value.split(/\\s+/));\n },\n toAttribute: (value) => {\n return (value.size) ? [...value].join(' ') : null;\n },\n};\n\nexport default DecidablesConverterSet;\n"],"names":["supportsAdoptingStyleSheets","window","ShadowRoot","undefined","ShadyCSS","nativeShadow","Document","prototype","CSSStyleSheet","constructionToken","Symbol","styleSheetCache","Map","CSSResult","constructor","cssText","safeToken","this","_$cssResult$","Error","styleSheet","get","set","replaceSync","toString","unsafeCSS","value","String","css","strings","values","length","reduce","acc","v","idx","adoptStyles","renderRoot","styles","adoptedStyleSheets","map","s","forEach","style","document","createElement","nonce","litNonce","setAttribute","textContent","appendChild","getCompatibleStyle","sheet","rule","cssRules","trustedTypes","emptyStringForBooleanAttribute","emptyScript","polyfillSupport","reactiveElementPolyfillSupport","defaultConverter","toAttribute","type","Boolean","Object","Array","JSON","stringify","fromAttribute","fromValue","Number","parse","e","notEqual","old","defaultPropertyDeclaration","attribute","converter","reflect","hasChanged","ReactiveElement","HTMLElement","super","_initialize","static","initializer","_initializers","push","observedAttributes","finalize","attributes","elementProperties","p","attr","__attributeNameForProperty","__attributeToPropertyMap","name","options","state","noAccessor","hasOwnProperty","key","descriptor","getPropertyDescriptor","defineProperty","oldValue","requestUpdate","configurable","enumerable","finalized","superCtor","getPrototypeOf","props","properties","propKeys","getOwnPropertyNames","getOwnPropertySymbols","createProperty","elementStyles","finalizeStyles","isArray","Set","flat","Infinity","reverse","unshift","toLowerCase","__updatePromise","Promise","res","enableUpdating","_$changedProperties","__saveInstanceProperties","i","addController","controller","__controllers","isConnected","hostConnected","removeController","splice","indexOf","_v","__instanceProperties","createRenderRoot","shadowRoot","attachShadow","shadowRootOptions","connectedCallback","c","_requestedUpdate","disconnectedCallback","hostDisconnected","attributeChangedCallback","_old","_$attributeToProperty","__propertyToAttribute","attrValue","__reflectingProperty","removeAttribute","ctor","propName","getPropertyOptions","r","shouldRequestUpdate","has","__reflectingProperties","isUpdatePending","__enqueueUpdate","async","reject","result","scheduleUpdate","performUpdate","hasUpdated","shouldUpdate","changedProperties","willUpdate","hostUpdate","update","__markUpdated","_$didUpdate","_changedProperties","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","k","mode","h","globalThis","reactiveElementVersions","policy","createPolicy","createHTML","marker","Math","random","slice","markerMatch","nodeMarker","d","createMarker","createComment","isPrimitive","isIterable","iterator","textEndRegex","commentEndRegex","comment2EndRegex","tagEndRegex","singleQuoteAttrEndRegex","doubleQuoteAttrEndRegex","rawTextElement","tag","_$litType$","html","svg","noChange","for","nothing","templateCache","WeakMap","render","container","partOwnerNode","renderBefore","part","_$litPart$","endNode","ChildPart","insertBefore","_$setValue","walker","createTreeWalker","getTemplateHtml","l","attrNames","rawTextEndRegex","regex","attrName","match","attrNameEndIndex","lastIndex","exec","test","RegExp","end","startsWith","htmlResult","Template","node","nodeIndex","attrNameIndex","partCount","parts","el","currentNode","content","svgElement","firstChild","remove","append","childNodes","nextNode","nodeType","hasAttributes","attrsToRemove","getAttributeNames","endsWith","realName","statics","getAttribute","split","m","index","PropertyPart","BooleanAttributePart","EventPart","AttributePart","tagName","data","_options","innerHTML","resolveDirective","parent","attributeIndex","currentDirective","__directives","__directive","nextDirectiveConstructor","_$litDirective$","_$AO","n","_$initialize","_$resolve","TemplateInstance","template","_$template","_$parent","parentNode","_$isConnected","_clone","fragment","creationScope","importNode","partIndex","templatePart","nextSibling","ElementPart","_parts","_update","startNode","_$startNode","_$endNode","__isConnected","directiveParent","_$committedValue","_$clear","_commitText","_commitTemplateResult","_commitNode","_commitIterable","_insert","ref","createTextNode","_$getTemplate","instance","itemParts","itemPart","item","start","from","_$notifyConnectionChanged","setConnected","element","fill","valueIndex","noCommit","change","_commitValue","newListener","oldListener","shouldRemoveListener","capture","once","passive","shouldAddListener","removeEventListener","addEventListener","handleEvent","event","call","host","litHtmlPolyfillSupport","litHtmlVersions","LitElement","renderOptions","__childPart","_$litElement$","litElementHydrateSupport","litElementPolyfillSupport","litElementVersions","noop","dispatch","arguments","_","t","Dispatch","parseTypenames","typenames","types","trim","on","typename","callback","T","copy","that","args","apply","concat","xhtml","xlink","xml","xmlns","prefix","namespaces","space","local","creatorInherit","ownerDocument","uri","namespaceURI","documentElement","createElementNS","creatorFixed","fullname","namespace","none","selector","querySelector","select","groups","_groups","subgroups","j","group","subgroup","subnode","__data__","Selection","_parents","array","x","empty","querySelectorAll","arrayAll","selectorAll","parents","matches","childMatcher","find","childFind","children","childFirst","firstElementChild","filter","childrenFilter","selectAll","matcher","_enter","sparse","EnterNode","datum","_next","_parent","child","next","bindIndex","enter","exit","groupLength","dataLength","bindKey","nodeByKeyValue","keyValues","keyValue","delete","bind","constant","arraylike","enterGroup","updateGroup","exitGroup","i0","i1","previous","_exit","onenter","onupdate","onexit","selection","merge","order","context","groups0","groups1","m0","m1","min","merges","group0","group1","compareDocumentPosition","compare","ascending","compareNode","a","b","sortgroups","sortgroup","sort","NaN","size","attrRemove","attrRemoveNS","removeAttributeNS","attrConstant","attrConstantNS","setAttributeNS","attrFunction","attrFunctionNS","getAttributeNS","each","defaultView","styleRemove","removeProperty","styleConstant","priority","setProperty","styleFunction","styleValue","getPropertyValue","getComputedStyle","propertyRemove","propertyConstant","propertyFunction","classArray","string","classList","ClassList","_node","_names","add","join","contains","classedAdd","names","list","classedRemove","classedTrue","classedFalse","classedFunction","textRemove","textConstant","textFunction","htmlRemove","htmlConstant","htmlFunction","raise","lower","previousSibling","create","creator","constantNull","before","removeChild","selection_cloneShallow","clone","cloneNode","selection_cloneDeep","deep","property","contextListener","listener","onRemove","__on","o","onAdd","dispatchEvent","params","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","dispatchConstant","dispatchFunction","root","selection_selection","selection_select","selection_selectAll","selectChild","selection_selectChild","selectChildren","selection_selectChildren","selection_filter","selection_data","selection_enter","selection_exit","selection_join","selection_merge","selection_order","selection_sort","selection_call","nodes","selection_nodes","selection_node","selection_size","selection_empty","selection_each","selection_attr","selection_style","selection_property","classed","selection_classed","text","selection_text","selection_html","selection_raise","selection_lower","selection_append","insert","selection_insert","selection_remove","selection_clone","selection_datum","selection_on","selection_dispatch","selection_iterator","factory","extend","definition","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","define","color","channels","assign","displayable","rgb","hex","color_formatHex","formatHex","formatHsl","color_formatHsl","formatRgb","color_formatRgb","hslConvert","format","parseInt","rgbn","Rgb","rgba","hsla","g","rgbConvert","opacity","pow","rgb_formatHex","rgb_formatRgb","isNaN","max","round","Hsl","hsl","m2","hsl2rgb","linear","exponential","y","gamma","nogamma","rgbGamma","colorRgb","reA","reB","source","zero","one","bi","am","bm","bs","q","number","degrees","PI","identity","translateX","translateY","rotate","skewX","scaleX","scaleY","f","sqrt","atan2","atan","svgNode","parseCss","DOMMatrix","WebKitCSSMatrix","isIdentity","decompose","parseSvg","transform","baseVal","consolidate","matrix","interpolateTransform","pxComma","pxParen","degParen","pop","translate","xa","ya","xb","yb","scale","interpolateTransformCss","interpolateTransformSvg","frame","timeout","interval","pokeDelay","taskHead","taskTail","clockLast","clockNow","clockSkew","clock","performance","now","Date","setFrame","requestAnimationFrame","setTimeout","clearNow","Timer","_call","_time","timer","restart","delay","time","TypeError","sleep","stop","timerFlush","wake","nap","poke","t0","t1","t2","clearTimeout","clearInterval","setInterval","elapsed","emptyOn","emptyTween","CREATED","SCHEDULED","STARTING","STARTED","RUNNING","ENDING","ENDED","id","timing","schedules","__transition","tween","duration","ease","init","schedule","self","tick","active","interrupt","tweenRemove","tween0","tween1","tweenFunction","_id","tweenValue","transition","interpolateNumber","interpolateRgb","interpolateString","interpolate","value1","string00","string1","interpolate0","string0","string10","attrTween","attrInterpolate","attrInterpolateNS","attrTweenNS","_value","delayFunction","delayConstant","durationFunction","durationConstant","easeConstant","easeVarying","Transition","_name","every","onFunction","on0","on1","sit","removeFunction","inherit","styleNull","styleMaybeRemove","listener0","styleTween","styleInterpolate","textInterpolate","textTween","id0","id1","newId","resolve","cancel","selection_prototype","transition_select","transition_selectAll","transition_filter","transition_merge","transition_selection","transition_transition","transition_on","transition_attr","transition_attrTween","transition_style","transition_styleTween","transition_text","transition_textTween","transition_remove","transition_tween","transition_delay","transition_duration","transition_ease","transition_easeVarying","transition_end","cubicInOut","defaultTiming","easeCubicInOut","selection_interrupt","selection_transition","DecidablesElement","getComputedStyleValue","d3","currentTarget","greys","light75","light50","light25","dark25","dark50","dark75","shadows","elevations","baselineColor","baselineColorString","inverseBaselineColor","inverseBaselineColorString","opacityUmbra","opacityPenumbra","opacityAmbient","opacityBoost","mapUmbra","mapPenumbra","mapAmbient","cssBoxShadow","elevation","inverse","umbraO","penumbraO","ambientO","umbraC","penumbraC","ambientC","umbraM","penumbraM","ambientM","umbraS","penumbraS","ambientS","svgFilters","filters","z","_t","_t2","abs","DecidablesButton","disabled","customElements","ifDefined","DecidablesSlider","step","changed","target","inputted","DecidablesSpinner","DecidablesSwitch","checked","DecidablesToggle","DecidablesToggleOption","DecidablesConverterArray","parseFloat","toFixed","DecidablesConverterSet"],"mappings":"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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAA,CA5PW,GAI4CtV,GAAS,CAAC,IAAK89B,CAAAA,YAAL,CAAkB,CAAlB,EAAqB,IAArB,EAA2B,KAA3B,CAAD,CAJrD,EAK4C99B,GAAS,CAAC,KAAK89B,YAAL,CAAkB,CAAlB,EAAqB,IAArB,EAA2B,KAA3B,CAAD,CALrD,EAM4C99B,GAAS,CAAC,IAAA,CAAK89B,YAAL,CAAkB,CAA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,IAAA,KAAA,EAAA,CADY;;AAIZ,IAAKygC,IAAAA,CAAAA,OAAL,GAAe,KAAf,CAAA;AACA,IAAKV,IAAAA,CAAAA,QAAL,GAAgB,KAAhB,CAAA;AACD,GAAA;;AAEDK,EAAAA,OAAO,CAAClrB,KAAD,EAAQ;AACb,IAAA,IAAA,CAAKurB,OAAL,GAAevrB,KAAK,CAACmrB,MAAN,CAAaI,OAA5B,CAAA;AACA,IAAA,IAAA,CAAKhf,aAAL,CAAmB,IAAIE,WAAJ,CAAgB,QAAhB,EAA0B;AAC3CK,MAAAA,MAAM,EAAE;AACNye,QAAAA,OAAO,EAAE,IAAKA,CAAAA,OAAAA;AADR,OADmC;AAI3C3e,MAAAA,OAAO,EAAE,IAAA;AAJkC,KAA1B,CAAnB,CAAA,CAAA;AAMD,GAAA;;AAEgB,EAAA,WAANtgB,MAAM,GAAG;AAClB,IAAA,OAAO,CACL,KAAA,CAAMA,MADD,EAELV,GAFK,CAED6+B,IAAA,KAAAA,IAAA,GAAA1pB,GAAA,CAAA;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAA,CAzHW,CAAP,CAAA,CAAA,CAAA;AA2HD,GAAA;;AAED/I,EAAAA,MAAM,GAAG;AACP,IAAA,OAAOP,CAAP,CAAYizB,KAAA,KAAAA,KAAA,GAAA3pB,GAAA,CAAA;AAChB,kDAAA,EADI,CAC6D,CAAA,WAAA,EAD7D,CACwF,CAAA,SAAA,EADxF,CAC2H,CAAA;AAC/H;AACA;AACA;AACA;AACA;AACA;AACA,IAAA,CARI,CACgD,EAAA,IAAA,CAAKwqB,OADrD,EAC0E,IAAKV,CAAAA,QAD/E,EACmG,IAAA,CAAKK,OAAL,CAAahlB,IAAb,CAAkB,IAAlB,CADnG,CAAA,CAAA;AASD,GAAA;;AA1K6D,CAAA;AA6KhE4kB,cAAc,CAAC9Q,MAAf,CAAsB,mBAAtB,EAA2CsR,gBAA3C,CAAA;;;;;AC7Ke,MAAME,gBAAN,SAA+BzD,iBAA/B,CAAiD;AACzC,EAAA,WAAV92B,UAAU,GAAG;AACtB,IAAO,OAAA;AACL45B,MAAAA,QAAQ,EAAE;AACRj8B,QAAAA,SAAS,EAAE,UADH;AAERd,QAAAA,IAAI,EAAEC,OAFE;AAGRe,QAAAA,OAAO,EAAE,IAAA;AAHD,OAAA;AADL,KAAP,CAAA;AAOD,GAAA;;AAEDhE,EAAAA,WAAW,GAAG;AACZ,IAAA,KAAA,EAAA,CADY;;AAIZ,IAAK+/B,IAAAA,CAAAA,QAAL,GAAgB,KAAhB,CAAA;AACD,GAAA;;AAEgB,EAAA,WAANv+B,MAAM,GAAG;AAClB,IAAA,OAAO,CACL,KAAA,CAAMA,MADD,EAELV,GAFK,CAED6+B,IAAA,KAAAA,IAAA,GAAA1pB,GAAA,CAAA;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAA,CAnBW,CAAP,CAAA,CAAA,CAAA;AAqBD,GAAA;;AAED/I,EAAAA,MAAM,GAAG;AACP,IAAA,OAAOP,CAAP,CAAYizB,KAAA,KAAAA,KAAA,GAAA3pB,GAAA,CAAA;AAChB,0BAAA,EADI,CACsC,CAAA;AAC1C;AACA;AACA;AACA,IALI,CAAA,CAAA,EACwB,KAAK8pB,QAD7B,CAAA,CAAA;AAMD,GAAA;;AAjD6D,CAAA;AAoDhEC,cAAc,CAAC9Q,MAAf,CAAsB,mBAAtB,EAA2CwR,gBAA3C,CAAA;;;;;ACpDe,MAAMC,sBAAN,SAAqC1D,iBAArC,CAAuD;AAC/C,EAAA,WAAV92B,UAAU,GAAG;AACtB,IAAO,OAAA;AACLs6B,MAAAA,OAAO,EAAE;AACP38B,QAAAA,SAAS,EAAE,SADJ;AAEPd,QAAAA,IAAI,EAAEC,OAFC;AAGPe,QAAAA,OAAO,EAAE,IAAA;AAHF,OADJ;AAML+7B,MAAAA,QAAQ,EAAE;AACRj8B,QAAAA,SAAS,EAAE,UADH;AAERd,QAAAA,IAAI,EAAEC,OAFE;AAGRe,QAAAA,OAAO,EAAE,IAAA;AAHD,OANL;AAWLkB,MAAAA,IAAI,EAAE;AACJpB,QAAAA,SAAS,EAAE,MADP;AAEJd,QAAAA,IAAI,EAAEnC,MAFF;AAGJmD,QAAAA,OAAO,EAAE,IAAA;AAHL,OAXD;AAgBLpD,MAAAA,KAAK,EAAE;AACLkD,QAAAA,SAAS,EAAE,OADN;AAELd,QAAAA,IAAI,EAAEnC,MAFD;AAGLmD,QAAAA,OAAO,EAAE,IAAA;AAHJ,OAAA;AAhBF,KAAP,CAAA;AAsBD,GAAA;;AAEDhE,EAAAA,WAAW,GAAG;AACZ,IAAA,KAAA,EAAA,CADY;;AAIZ,IAAKygC,IAAAA,CAAAA,OAAL,GAAe,KAAf,CAAA;AACA,IAAKV,IAAAA,CAAAA,QAAL,GAAgB,KAAhB,CAAA;AACA,IAAK76B,IAAAA,CAAAA,IAAL,GAAY7F,SAAZ,CAAA;AACA,IAAKuB,IAAAA,CAAAA,KAAL,GAAavB,SAAb,CAAA;AACD,GAAA;;AAED+gC,EAAAA,OAAO,CAAClrB,KAAD,EAAQ;AACb,IAAA,IAAA,CAAKurB,OAAL,GAAevrB,KAAK,CAACmrB,MAAN,CAAaI,OAA5B,CAAA;AACA,IAAA,IAAA,CAAKhf,aAAL,CAAmB,IAAIE,WAAJ,CAAgB,QAAhB,EAA0B;AAC3CK,MAAAA,MAAM,EAAE;AACNye,QAAAA,OAAO,EAAE,IAAA,CAAKA,OADR;AAEN7/B,QAAAA,KAAK,EAAE,IAAKA,CAAAA,KAAAA;AAFN,OADmC;AAK3CkhB,MAAAA,OAAO,EAAE,IAAA;AALkC,KAA1B,CAAnB,CAAA,CAAA;AAOD,GAAA;;AAEgB,EAAA,WAANtgB,MAAM,GAAG;AAClB,IAAA,OAAO,CACL,KAAA,CAAMA,MADD,EAELV,GAFK,CAED,EAAA,KAAA,EAAA,GAAA,CAAA,CAAA;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAA,CA/FW,CAAP,CAAA,CAAA,CAAA;AAiGD,GAAA;;AAEDoM,EAAAA,MAAM,GAAG;AACP,IAAA,OAAOP,CAAP,CAAY,GAAA,KAAA,GAAA,GAAA,CAAA,CAAA;AAChB,kDAAA,EADI,CAC0D,CAD1D,OAAA,EAAA,CAC8E,CAD9E,UAAA,EAAA,CACuG,YADvG,CAC0I,CAAA;AAC9I;AACA;AACA;AACA,IAAA,CALI,GACgD,IAAKzH,CAAAA,IADrD,EACmE,IAAA,CAAKtE,KADxE,EAC0F,IAAA,CAAK6/B,OAD/F,EACkH,KAAKL,OAAL,CAAahlB,IAAb,CAAkB,IAAlB,CADlH,CAAA,CAAA;AAMD,GAAA;;AA1JmE,CAAA;AA6JtE4kB,cAAc,CAAC9Q,MAAf,CAAsB,0BAAtB,EAAkDyR,sBAAlD,CAAA;;ACjKA;AACA;AACA;AACA;AACA,MAAMC,wBAAwB,GAAG;AAC/Bt9B,EAAAA,aAAa,EAAG1C,KAAD,IAAW;AACxB,IAAOA,OAAAA,KAAK,CAACwP,KAAN,CAAY,KAAZ,CAAmB1O,CAAAA,GAAnB,CAAwBmS,IAAD,IAAU;AAAE,MAAA,OAAOrQ,MAAM,CAACq9B,UAAP,CAAkBhtB,IAAlB,CAAP,CAAA;AAAiC,KAApE,CAAP,CAAA;AACD,GAH8B;AAI/B9Q,EAAAA,WAAW,EAAGnC,KAAD,IAAW;AACtB,IAAQA,OAAAA,KAAK,CAACK,MAAP,GAAiBL,KAAK,CAACc,GAAN,CAAWmS,IAAD,IAAU;AAAE,MAAA,OAAOA,IAAI,CAACitB,OAAL,CAAa,CAAb,CAAP,CAAA;AAAyB,KAA/C,EAAiDxhB,IAAjD,CAAsD,GAAtD,CAAjB,GAA8E,IAArF,CAAA;AACD,GAAA;AAN8B;;ACJjC;AACA;AACA;AACA;AACA,MAAMyhB,sBAAsB,GAAG;AAC7Bz9B,EAAAA,aAAa,EAAG1C,KAAD,IAAW;AACxB,IAAO,OAAA,IAAI+F,GAAJ,CAAQ/F,KAAK,CAACwP,KAAN,CAAY,KAAZ,CAAR,CAAP,CAAA;AACD,GAH4B;AAI7BrN,EAAAA,WAAW,EAAGnC,KAAD,IAAW;AACtB,IAAA,OAAQA,KAAK,CAAC2c,IAAP,GAAe,CAAC,GAAG3c,KAAJ,CAAA,CAAW0e,IAAX,CAAgB,GAAhB,CAAf,GAAsC,IAA7C,CAAA;AACD,GAAA;AAN4B;;;;"}