UNPKG

d3-color-legend

Version:

SVG color legends for continuous or discrete D3 scales

5 lines 59.7 kB
// Version 1.4.3 d3-color-legend - https://github.com/vasturiano/d3-color-legend#readme !function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t="undefined"!=typeof globalThis?globalThis:t||self).ColorLegend=n()}(this,(function(){"use strict";var t="http://www.w3.org/1999/xhtml",n={svg:"http://www.w3.org/2000/svg",xhtml:t,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function e(t){var e=t+="",r=e.indexOf(":");return r>=0&&"xmlns"!==(e=t.slice(0,r))&&(t=t.slice(r+1)),n.hasOwnProperty(e)?{space:n[e],local:t}:t}function r(n){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===t&&e.documentElement.namespaceURI===t?e.createElement(n):e.createElementNS(r,n)}}function i(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function a(t){var n=e(t);return(n.local?i:r)(n)}function o(){}function u(t){return null==t?o:function(){return this.querySelector(t)}}function l(){return[]}function s(t){return function(){return null==(n=t.apply(this,arguments))?[]:Array.isArray(n)?n:Array.from(n);var n}}function h(t){return function(n){return n.matches(t)}}var c=Array.prototype.find;function f(){return this.firstElementChild}var d=Array.prototype.filter;function g(){return Array.from(this.children)}function p(t){return new Array(t.length)}function m(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function b(t,n,e,r,i,a){for(var o,u=0,l=n.length,s=a.length;u<s;++u)(o=n[u])?(o.__data__=a[u],r[u]=o):e[u]=new m(t,a[u]);for(;u<l;++u)(o=n[u])&&(i[u]=o)}function y(t,n,e,r,i,a,o){var u,l,s,h=new Map,c=n.length,f=a.length,d=new Array(c);for(u=0;u<c;++u)(l=n[u])&&(d[u]=s=o.call(l,l.__data__,u,n)+"",h.has(s)?i[u]=l:h.set(s,l));for(u=0;u<f;++u)s=o.call(t,a[u],u,a)+"",(l=h.get(s))?(r[u]=l,l.__data__=a[u],h.delete(s)):e[u]=new m(t,a[u]);for(u=0;u<c;++u)(l=n[u])&&h.get(d[u])===l&&(i[u]=l)}function v(t){return t.__data__}function x(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function w(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function _(t){return function(){this.removeAttribute(t)}}function M(t){return function(){this.removeAttributeNS(t.space,t.local)}}function A(t,n){return function(){this.setAttribute(t,n)}}function k(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function S(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function N(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function $(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function C(t){return function(){this.style.removeProperty(t)}}function j(t,n,e){return function(){this.style.setProperty(t,n,e)}}function E(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function H(t){return function(){delete this[t]}}function R(t,n){return function(){this[t]=n}}function L(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function O(t){return t.trim().split(/^|\s+/)}function F(t){return t.classList||new T(t)}function T(t){this._node=t,this._names=O(t.getAttribute("class")||"")}function I(t,n){for(var e=F(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function P(t,n){for(var e=F(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function q(t){return function(){I(this,t)}}function B(t){return function(){P(this,t)}}function D(t,n){return function(){(n.apply(this,arguments)?I:P)(this,t)}}function z(){this.textContent=""}function U(t){return function(){this.textContent=t}}function V(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function W(){this.innerHTML=""}function G(t){return function(){this.innerHTML=t}}function X(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function Y(){this.nextSibling&&this.parentNode.appendChild(this)}function Z(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function J(){return null}function K(){var t=this.parentNode;t&&t.removeChild(this)}function Q(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function tt(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function nt(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,a=n.length;r<a;++r)e=n[r],t.type&&e.type!==t.type||e.name!==t.name?n[++i]=e:this.removeEventListener(e.type,e.listener,e.options);++i?n.length=i:delete this.__on}}}function et(t,n,e){return function(){var r,i=this.__on,a=function(t){return function(n){t.call(this,n,this.__data__)}}(n);if(i)for(var o=0,u=i.length;o<u;++o)if((r=i[o]).type===t.type&&r.name===t.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=a,r.options=e),void(r.value=n);this.addEventListener(t.type,a,e),r={type:t.type,name:t.name,value:n,listener:a,options:e},i?i.push(r):this.__on=[r]}}function rt(t,n,e){var r=$(t),i=r.CustomEvent;"function"==typeof i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function it(t,n){return function(){return rt(this,t,n)}}function at(t,n){return function(){return rt(this,t,n.apply(this,arguments))}}m.prototype={constructor:m,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}},T.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var ot=[null];function ut(t,n){this._groups=t,this._parents=n}function lt(t){return"string"==typeof t?new ut([[document.querySelector(t)]],[document.documentElement]):new ut([[t]],ot)}function st(t){var n=typeof t;return null!=t&&("object"==n||"function"==n)}ut.prototype={constructor:ut,select:function(t){"function"!=typeof t&&(t=u(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var a,o,l=n[i],s=l.length,h=r[i]=new Array(s),c=0;c<s;++c)(a=l[c])&&(o=t.call(a,a.__data__,c,l))&&("__data__"in a&&(o.__data__=a.__data__),h[c]=o);return new ut(r,this._parents)},selectAll:function(t){t="function"==typeof t?s(t):function(t){return null==t?l:function(){return this.querySelectorAll(t)}}(t);for(var n=this._groups,e=n.length,r=[],i=[],a=0;a<e;++a)for(var o,u=n[a],h=u.length,c=0;c<h;++c)(o=u[c])&&(r.push(t.call(o,o.__data__,c,u)),i.push(o));return new ut(r,i)},selectChild:function(t){return this.select(null==t?f:function(t){return function(){return c.call(this.children,t)}}("function"==typeof t?t:h(t)))},selectChildren:function(t){return this.selectAll(null==t?g:function(t){return function(){return d.call(this.children,t)}}("function"==typeof t?t:h(t)))},filter:function(t){"function"!=typeof t&&(t=function(t){return function(){return this.matches(t)}}(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var a,o=n[i],u=o.length,l=r[i]=[],s=0;s<u;++s)(a=o[s])&&t.call(a,a.__data__,s,o)&&l.push(a);return new ut(r,this._parents)},data:function(t,n){if(!arguments.length)return Array.from(this,v);var e,r=n?y:b,i=this._parents,a=this._groups;"function"!=typeof t&&(e=t,t=function(){return e});for(var o=a.length,u=new Array(o),l=new Array(o),s=new Array(o),h=0;h<o;++h){var c=i[h],f=a[h],d=f.length,g=x(t.call(c,c&&c.__data__,h,i)),p=g.length,m=l[h]=new Array(p),w=u[h]=new Array(p);r(c,f,m,w,s[h]=new Array(d),g,n);for(var _,M,A=0,k=0;A<p;++A)if(_=m[A]){for(A>=k&&(k=A+1);!(M=w[k])&&++k<p;);_._next=M||null}}return(u=new ut(u,i))._enter=l,u._exit=s,u},enter:function(){return new ut(this._enter||this._groups.map(p),this._parents)},exit:function(){return new ut(this._exit||this._groups.map(p),this._parents)},join:function(t,n,e){var r=this.enter(),i=this,a=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=n&&(i=n(i))&&(i=i.selection()),null==e?a.remove():e(a),r&&i?r.merge(i).order():i},merge:function(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,a=r.length,o=Math.min(i,a),u=new Array(i),l=0;l<o;++l)for(var s,h=e[l],c=r[l],f=h.length,d=u[l]=new Array(f),g=0;g<f;++g)(s=h[g]||c[g])&&(d[g]=s);for(;l<i;++l)u[l]=e[l];return new ut(u,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],a=i.length-1,o=i[a];--a>=0;)(r=i[a])&&(o&&4^r.compareDocumentPosition(o)&&o.parentNode.insertBefore(r,o),o=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=w);for(var e=this._groups,r=e.length,i=new Array(r),a=0;a<r;++a){for(var o,u=e[a],l=u.length,s=i[a]=new Array(l),h=0;h<l;++h)(o=u[h])&&(s[h]=o);s.sort(n)}return new ut(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null},size:function(){let t=0;for(const n of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,a=n[e],o=0,u=a.length;o<u;++o)(i=a[o])&&t.call(i,i.__data__,o,a);return this},attr:function(t,n){var r=e(t);if(arguments.length<2){var i=this.node();return r.local?i.getAttributeNS(r.space,r.local):i.getAttribute(r)}return this.each((null==n?r.local?M:_:"function"==typeof n?r.local?N:S:r.local?k:A)(r,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?C:"function"==typeof n?E:j)(t,n,null==e?"":e)):function(t,n){return t.style.getPropertyValue(n)||$(t).getComputedStyle(t,null).getPropertyValue(n)}(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?H:"function"==typeof n?L:R)(t,n)):this.node()[t]},classed:function(t,n){var e=O(t+"");if(arguments.length<2){for(var r=F(this.node()),i=-1,a=e.length;++i<a;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?D:n?q:B)(e,n))},text:function(t){return arguments.length?this.each(null==t?z:("function"==typeof t?V:U)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?W:("function"==typeof t?X:G)(t)):this.node().innerHTML},raise:function(){return this.each(Y)},lower:function(){return this.each(Z)},append:function(t){var n="function"==typeof t?t:a(t);return this.select((function(){return this.appendChild(n.apply(this,arguments))}))},insert:function(t,n){var e="function"==typeof t?t:a(t),r=null==n?J:"function"==typeof n?n:u(n);return this.select((function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(K)},clone:function(t){return this.select(t?tt:Q)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,a=function(t){return t.trim().split(/^|\s+/).map((function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}}))}(t+""),o=a.length;if(!(arguments.length<2)){for(u=n?et:nt,r=0;r<o;++r)this.each(u(a[r],n,e));return this}var u=this.node().__on;if(u)for(var l,s=0,h=u.length;s<h;++s)for(r=0,l=u[s];r<o;++r)if((i=a[r]).type===l.type&&i.name===l.name)return l.value},dispatch:function(t,n){return this.each(("function"==typeof n?at:it)(t,n))},[Symbol.iterator]:function*(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r,i=t[n],a=0,o=i.length;a<o;++a)(r=i[a])&&(yield r)}};var ht="object"==typeof global&&global&&global.Object===Object&&global,ct="object"==typeof self&&self&&self.Object===Object&&self,ft=ht||ct||Function("return this")(),dt=function(){return ft.Date.now()},gt=/\s/;var pt=/^\s+/;function mt(t){return t?t.slice(0,function(t){for(var n=t.length;n--&&gt.test(t.charAt(n)););return n}(t)+1).replace(pt,""):t}var bt=ft.Symbol,yt=Object.prototype,vt=yt.hasOwnProperty,xt=yt.toString,wt=bt?bt.toStringTag:void 0;var _t=Object.prototype.toString;var Mt=bt?bt.toStringTag:void 0;function At(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Mt&&Mt in Object(t)?function(t){var n=vt.call(t,wt),e=t[wt];try{t[wt]=void 0;var r=!0}catch(t){}var i=xt.call(t);return r&&(n?t[wt]=e:delete t[wt]),i}(t):function(t){return _t.call(t)}(t)}var kt=/^[-+]0x[0-9a-f]+$/i,St=/^0b[01]+$/i,Nt=/^0o[0-7]+$/i,$t=parseInt;function Ct(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return null!=t&&"object"==typeof t}(t)&&"[object Symbol]"==At(t)}(t))return NaN;if(st(t)){var n="function"==typeof t.valueOf?t.valueOf():t;t=st(n)?n+"":n}if("string"!=typeof t)return 0===t?t:+t;t=mt(t);var e=St.test(t);return e||Nt.test(t)?$t(t.slice(2),e?2:8):kt.test(t)?NaN:+t}var jt=Math.max,Et=Math.min;function Ht(t,n,e){var r,i,a,o,u,l,s=0,h=!1,c=!1,f=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function d(n){var e=r,a=i;return r=i=void 0,s=n,o=t.apply(a,e)}function g(t){var e=t-l;return void 0===l||e>=n||e<0||c&&t-s>=a}function p(){var t=dt();if(g(t))return m(t);u=setTimeout(p,function(t){var e=n-(t-l);return c?Et(e,a-(t-s)):e}(t))}function m(t){return u=void 0,f&&r?d(t):(r=i=void 0,o)}function b(){var t=dt(),e=g(t);if(r=arguments,i=this,l=t,e){if(void 0===u)return function(t){return s=t,u=setTimeout(p,n),h?d(t):o}(l);if(c)return clearTimeout(u),u=setTimeout(p,n),d(l)}return void 0===u&&(u=setTimeout(p,n)),o}return n=Ct(n)||0,st(e)&&(h=!!e.leading,a=(c="maxWait"in e)?jt(Ct(e.maxWait)||0,n):a,f="trailing"in e?!!e.trailing:f),b.cancel=function(){void 0!==u&&clearTimeout(u),s=0,r=l=i=u=void 0},b.flush=function(){return void 0===u?o:m(dt())},b}function Rt(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=Array(n);e<n;e++)r[e]=t[e];return r}function Lt(t,n,e){return Object.defineProperty(t,"prototype",{writable:!1}),t}function Ot(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var r,i,a,o,u=[],l=!0,s=!1;try{if(a=(e=e.call(t)).next,0===n);else for(;!(l=(r=a.call(e)).done)&&(u.push(r.value),u.length!==n);l=!0);}catch(t){s=!0,i=t}finally{try{if(!l&&null!=e.return&&(o=e.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}(t,n)||function(t,n){if(t){if("string"==typeof t)return Rt(t,n);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?Rt(t,n):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Ft=Lt((function t(n,e){var r=e.default,i=void 0===r?null:r,a=e.triggerUpdate,o=void 0===a||a,u=e.onChange,l=void 0===u?function(t,n){}:u;!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t),this.name=n,this.defaultVal=i,this.triggerUpdate=o,this.onChange=l}));function Tt(t){var n=t.stateInit,e=void 0===n?function(){return{}}:n,r=t.props,i=void 0===r?{}:r,a=t.methods,o=void 0===a?{}:a,u=t.aliases,l=void 0===u?{}:u,s=t.init,h=void 0===s?function(){}:s,c=t.update,f=void 0===c?function(){}:c,d=Object.keys(i).map((function(t){return new Ft(t,i[t])}));return function t(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];var a=!!(this instanceof t?this.constructor:void 0),u=a?r.shift():void 0,s=r[0],c=void 0===s?{}:s,g=Object.assign({},e instanceof Function?e(c):e,{initialised:!1}),p={};function m(t){return b(t,c),y(),m}var b=function(t,n){h.call(m,t,g,n),g.initialised=!0},y=Ht((function(){g.initialised&&(f.call(m,g,p),p={})}),1);return d.forEach((function(t){m[t.name]=function(t){var n=t.name,e=t.triggerUpdate,r=void 0!==e&&e,i=t.onChange,a=void 0===i?function(t,n){}:i,o=t.defaultVal,u=void 0===o?null:o;return function(t){var e=g[n];if(!arguments.length)return e;var i=void 0===t?u:t;return g[n]=i,a.call(m,i,g,e),!p.hasOwnProperty(n)&&(p[n]=e),r&&y(),m}}(t)})),Object.keys(o).forEach((function(t){m[t]=function(){for(var n,e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];return(n=o[t]).call.apply(n,[m,g].concat(r))}})),Object.entries(l).forEach((function(t){var n=Ot(t,2),e=n[0],r=n[1];return m[e]=m[r]})),m.resetProps=function(){return d.forEach((function(t){m[t.name](t.defaultVal)})),m},m.resetProps(),g._rerender=y,a&&u&&m(u),m}}function It(t){return It="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},It(t)}var Pt=/^\s+/,qt=/\s+$/;function Bt(t,n){if(n=n||{},(t=t||"")instanceof Bt)return t;if(!(this instanceof Bt))return new Bt(t,n);var e=function(t){var n={r:0,g:0,b:0},e=1,r=null,i=null,a=null,o=!1,u=!1;"string"==typeof t&&(t=function(t){t=t.replace(Pt,"").replace(qt,"").toLowerCase();var n,e=!1;if(an[t])t=an[t],e=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};if(n=yn.rgb.exec(t))return{r:n[1],g:n[2],b:n[3]};if(n=yn.rgba.exec(t))return{r:n[1],g:n[2],b:n[3],a:n[4]};if(n=yn.hsl.exec(t))return{h:n[1],s:n[2],l:n[3]};if(n=yn.hsla.exec(t))return{h:n[1],s:n[2],l:n[3],a:n[4]};if(n=yn.hsv.exec(t))return{h:n[1],s:n[2],v:n[3]};if(n=yn.hsva.exec(t))return{h:n[1],s:n[2],v:n[3],a:n[4]};if(n=yn.hex8.exec(t))return{r:hn(n[1]),g:hn(n[2]),b:hn(n[3]),a:gn(n[4]),format:e?"name":"hex8"};if(n=yn.hex6.exec(t))return{r:hn(n[1]),g:hn(n[2]),b:hn(n[3]),format:e?"name":"hex"};if(n=yn.hex4.exec(t))return{r:hn(n[1]+""+n[1]),g:hn(n[2]+""+n[2]),b:hn(n[3]+""+n[3]),a:gn(n[4]+""+n[4]),format:e?"name":"hex8"};if(n=yn.hex3.exec(t))return{r:hn(n[1]+""+n[1]),g:hn(n[2]+""+n[2]),b:hn(n[3]+""+n[3]),format:e?"name":"hex"};return!1}(t));"object"==It(t)&&(vn(t.r)&&vn(t.g)&&vn(t.b)?(l=t.r,s=t.g,h=t.b,n={r:255*ln(l,255),g:255*ln(s,255),b:255*ln(h,255)},o=!0,u="%"===String(t.r).substr(-1)?"prgb":"rgb"):vn(t.h)&&vn(t.s)&&vn(t.v)?(r=fn(t.s),i=fn(t.v),n=function(t,n,e){t=6*ln(t,360),n=ln(n,100),e=ln(e,100);var r=Math.floor(t),i=t-r,a=e*(1-n),o=e*(1-i*n),u=e*(1-(1-i)*n),l=r%6,s=[e,o,a,a,u,e][l],h=[u,e,e,o,a,a][l],c=[a,a,u,e,e,o][l];return{r:255*s,g:255*h,b:255*c}}(t.h,r,i),o=!0,u="hsv"):vn(t.h)&&vn(t.s)&&vn(t.l)&&(r=fn(t.s),a=fn(t.l),n=function(t,n,e){var r,i,a;function o(t,n,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?t+6*(n-t)*e:e<.5?n:e<2/3?t+(n-t)*(2/3-e)*6:t}if(t=ln(t,360),n=ln(n,100),e=ln(e,100),0===n)r=i=a=e;else{var u=e<.5?e*(1+n):e+n-e*n,l=2*e-u;r=o(l,u,t+1/3),i=o(l,u,t),a=o(l,u,t-1/3)}return{r:255*r,g:255*i,b:255*a}}(t.h,r,a),o=!0,u="hsl"),t.hasOwnProperty("a")&&(e=t.a));var l,s,h;return e=un(e),{ok:o,format:t.format||u,r:Math.min(255,Math.max(n.r,0)),g:Math.min(255,Math.max(n.g,0)),b:Math.min(255,Math.max(n.b,0)),a:e}}(t);this._originalInput=t,this._r=e.r,this._g=e.g,this._b=e.b,this._a=e.a,this._roundA=Math.round(100*this._a)/100,this._format=n.format||e.format,this._gradientType=n.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=e.ok}function Dt(t,n,e){t=ln(t,255),n=ln(n,255),e=ln(e,255);var r,i,a=Math.max(t,n,e),o=Math.min(t,n,e),u=(a+o)/2;if(a==o)r=i=0;else{var l=a-o;switch(i=u>.5?l/(2-a-o):l/(a+o),a){case t:r=(n-e)/l+(n<e?6:0);break;case n:r=(e-t)/l+2;break;case e:r=(t-n)/l+4}r/=6}return{h:r,s:i,l:u}}function zt(t,n,e){t=ln(t,255),n=ln(n,255),e=ln(e,255);var r,i,a=Math.max(t,n,e),o=Math.min(t,n,e),u=a,l=a-o;if(i=0===a?0:l/a,a==o)r=0;else{switch(a){case t:r=(n-e)/l+(n<e?6:0);break;case n:r=(e-t)/l+2;break;case e:r=(t-n)/l+4}r/=6}return{h:r,s:i,v:u}}function Ut(t,n,e,r){var i=[cn(Math.round(t).toString(16)),cn(Math.round(n).toString(16)),cn(Math.round(e).toString(16))];return r&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join("")}function Vt(t,n,e,r){return[cn(dn(r)),cn(Math.round(t).toString(16)),cn(Math.round(n).toString(16)),cn(Math.round(e).toString(16))].join("")}function Wt(t,n){n=0===n?0:n||10;var e=Bt(t).toHsl();return e.s-=n/100,e.s=sn(e.s),Bt(e)}function Gt(t,n){n=0===n?0:n||10;var e=Bt(t).toHsl();return e.s+=n/100,e.s=sn(e.s),Bt(e)}function Xt(t){return Bt(t).desaturate(100)}function Yt(t,n){n=0===n?0:n||10;var e=Bt(t).toHsl();return e.l+=n/100,e.l=sn(e.l),Bt(e)}function Zt(t,n){n=0===n?0:n||10;var e=Bt(t).toRgb();return e.r=Math.max(0,Math.min(255,e.r-Math.round(-n/100*255))),e.g=Math.max(0,Math.min(255,e.g-Math.round(-n/100*255))),e.b=Math.max(0,Math.min(255,e.b-Math.round(-n/100*255))),Bt(e)}function Jt(t,n){n=0===n?0:n||10;var e=Bt(t).toHsl();return e.l-=n/100,e.l=sn(e.l),Bt(e)}function Kt(t,n){var e=Bt(t).toHsl(),r=(e.h+n)%360;return e.h=r<0?360+r:r,Bt(e)}function Qt(t){var n=Bt(t).toHsl();return n.h=(n.h+180)%360,Bt(n)}function tn(t,n){if(isNaN(n)||n<=0)throw new Error("Argument to polyad must be a positive number");for(var e=Bt(t).toHsl(),r=[Bt(t)],i=360/n,a=1;a<n;a++)r.push(Bt({h:(e.h+a*i)%360,s:e.s,l:e.l}));return r}function nn(t){var n=Bt(t).toHsl(),e=n.h;return[Bt(t),Bt({h:(e+72)%360,s:n.s,l:n.l}),Bt({h:(e+216)%360,s:n.s,l:n.l})]}function en(t,n,e){n=n||6,e=e||30;var r=Bt(t).toHsl(),i=360/e,a=[Bt(t)];for(r.h=(r.h-(i*n>>1)+720)%360;--n;)r.h=(r.h+i)%360,a.push(Bt(r));return a}function rn(t,n){n=n||6;for(var e=Bt(t).toHsv(),r=e.h,i=e.s,a=e.v,o=[],u=1/n;n--;)o.push(Bt({h:r,s:i,v:a})),a=(a+u)%1;return o}Bt.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,n,e,r=this.toRgb();return t=r.r/255,n=r.g/255,e=r.b/255,.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))},setAlpha:function(t){return this._a=un(t),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var t=zt(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=zt(this._r,this._g,this._b),n=Math.round(360*t.h),e=Math.round(100*t.s),r=Math.round(100*t.v);return 1==this._a?"hsv("+n+", "+e+"%, "+r+"%)":"hsva("+n+", "+e+"%, "+r+"%, "+this._roundA+")"},toHsl:function(){var t=Dt(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=Dt(this._r,this._g,this._b),n=Math.round(360*t.h),e=Math.round(100*t.s),r=Math.round(100*t.l);return 1==this._a?"hsl("+n+", "+e+"%, "+r+"%)":"hsla("+n+", "+e+"%, "+r+"%, "+this._roundA+")"},toHex:function(t){return Ut(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,n,e,r,i){var a=[cn(Math.round(t).toString(16)),cn(Math.round(n).toString(16)),cn(Math.round(e).toString(16)),cn(dn(r))];if(i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1))return a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0);return a.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(100*ln(this._r,255))+"%",g:Math.round(100*ln(this._g,255))+"%",b:Math.round(100*ln(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+Math.round(100*ln(this._r,255))+"%, "+Math.round(100*ln(this._g,255))+"%, "+Math.round(100*ln(this._b,255))+"%)":"rgba("+Math.round(100*ln(this._r,255))+"%, "+Math.round(100*ln(this._g,255))+"%, "+Math.round(100*ln(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(on[Ut(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var n="#"+Vt(this._r,this._g,this._b,this._a),e=n,r=this._gradientType?"GradientType = 1, ":"";if(t){var i=Bt(t);e="#"+Vt(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+r+"startColorstr="+n+",endColorstr="+e+")"},toString:function(t){var n=!!t;t=t||this._format;var e=!1,r=this._a<1&&this._a>=0;return n||!r||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(e=this.toRgbString()),"prgb"===t&&(e=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(e=this.toHexString()),"hex3"===t&&(e=this.toHexString(!0)),"hex4"===t&&(e=this.toHex8String(!0)),"hex8"===t&&(e=this.toHex8String()),"name"===t&&(e=this.toName()),"hsl"===t&&(e=this.toHslString()),"hsv"===t&&(e=this.toHsvString()),e||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return Bt(this.toString())},_applyModification:function(t,n){var e=t.apply(null,[this].concat([].slice.call(n)));return this._r=e._r,this._g=e._g,this._b=e._b,this.setAlpha(e._a),this},lighten:function(){return this._applyModification(Yt,arguments)},brighten:function(){return this._applyModification(Zt,arguments)},darken:function(){return this._applyModification(Jt,arguments)},desaturate:function(){return this._applyModification(Wt,arguments)},saturate:function(){return this._applyModification(Gt,arguments)},greyscale:function(){return this._applyModification(Xt,arguments)},spin:function(){return this._applyModification(Kt,arguments)},_applyCombination:function(t,n){return t.apply(null,[this].concat([].slice.call(n)))},analogous:function(){return this._applyCombination(en,arguments)},complement:function(){return this._applyCombination(Qt,arguments)},monochromatic:function(){return this._applyCombination(rn,arguments)},splitcomplement:function(){return this._applyCombination(nn,arguments)},triad:function(){return this._applyCombination(tn,[3])},tetrad:function(){return this._applyCombination(tn,[4])}},Bt.fromRatio=function(t,n){if("object"==It(t)){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[r]="a"===r?t[r]:fn(t[r]));t=e}return Bt(t,n)},Bt.equals=function(t,n){return!(!t||!n)&&Bt(t).toRgbString()==Bt(n).toRgbString()},Bt.random=function(){return Bt.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})},Bt.mix=function(t,n,e){e=0===e?0:e||50;var r=Bt(t).toRgb(),i=Bt(n).toRgb(),a=e/100;return Bt({r:(i.r-r.r)*a+r.r,g:(i.g-r.g)*a+r.g,b:(i.b-r.b)*a+r.b,a:(i.a-r.a)*a+r.a})}, // <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2) // Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2) Bt.readability=function(t,n){var e=Bt(t),r=Bt(n);return(Math.max(e.getLuminance(),r.getLuminance())+.05)/(Math.min(e.getLuminance(),r.getLuminance())+.05)},Bt.isReadable=function(t,n,e){var r,i,a=Bt.readability(t,n);switch(i=!1,(r=function(t){var n,e;n=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase(),e=(t.size||"small").toLowerCase(),"AA"!==n&&"AAA"!==n&&(n="AA");"small"!==e&&"large"!==e&&(e="small");return{level:n,size:e}}(e)).level+r.size){case"AAsmall":case"AAAlarge":i=a>=4.5;break;case"AAlarge":i=a>=3;break;case"AAAsmall":i=a>=7}return i},Bt.mostReadable=function(t,n,e){var r,i,a,o,u=null,l=0;i=(e=e||{}).includeFallbackColors,a=e.level,o=e.size;for(var s=0;s<n.length;s++)(r=Bt.readability(t,n[s]))>l&&(l=r,u=Bt(n[s]));return Bt.isReadable(t,u,{level:a,size:o})||!i?u:(e.includeFallbackColors=!1,Bt.mostReadable(t,["#fff","#000"],e))};var an=Bt.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},on=Bt.hexNames=function(t){var n={};for(var e in t)t.hasOwnProperty(e)&&(n[t[e]]=e);return n}(an);function un(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function ln(t,n){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var e=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=Math.min(n,Math.max(0,parseFloat(t))),e&&(t=parseInt(t*n,10)/100),Math.abs(t-n)<1e-6?1:t%n/parseFloat(n)}function sn(t){return Math.min(1,Math.max(0,t))}function hn(t){return parseInt(t,16)}function cn(t){return 1==t.length?"0"+t:""+t}function fn(t){return t<=1&&(t=100*t+"%"),t}function dn(t){return Math.round(255*parseFloat(t)).toString(16)}function gn(t){return hn(t)/255}var pn,mn,bn,yn=(mn="[\\s|\\(]+("+(pn="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+pn+")[,|\\s]+("+pn+")\\s*\\)?",bn="[\\s|\\(]+("+pn+")[,|\\s]+("+pn+")[,|\\s]+("+pn+")[,|\\s]+("+pn+")\\s*\\)?",{CSS_UNIT:new RegExp(pn),rgb:new RegExp("rgb"+mn),rgba:new RegExp("rgba"+bn),hsl:new RegExp("hsl"+mn),hsla:new RegExp("hsla"+bn),hsv:new RegExp("hsv"+mn),hsva:new RegExp("hsva"+bn),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function vn(t){return!!yn.CSS_UNIT.exec(t)}function xn(t){return function(t){if(Array.isArray(t))return wn(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,n){if(!t)return;if("string"==typeof t)return wn(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);"Object"===e&&t.constructor&&(e=t.constructor.name);if("Map"===e||"Set"===e)return Array.from(t);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return wn(t,n)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function wn(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var _n=Tt({props:{bbox:{default:{width:null,height:null}},passes:{default:3}},init:function(t,n){n.el=t},update:function(t){xn(Array(t.passes).keys()).some((function(){var n=parseInt(t.el.style["font-size"].split("px")[0])||20,e=t.el.getBBox(),r=Math.floor(n*Math.min(t.bbox.width/e.width,t.bbox.height/e.height));if(r===n)return!0;t.el.style["font-size"]=r+"px"}))}});function Mn(t,n){return null==t||null==n?NaN:t<n?-1:t>n?1:t>=n?0:NaN}function An(t,n){return null==t||null==n?NaN:n<t?-1:n>t?1:n>=t?0:NaN}function kn(t){let n,e,r;function i(t,r,i=0,a=t.length){if(i<a){if(0!==n(r,r))return a;do{const n=i+a>>>1;e(t[n],r)<0?i=n+1:a=n}while(i<a)}return i}return 2!==t.length?(n=Mn,e=(n,e)=>Mn(t(n),e),r=(n,e)=>t(n)-e):(n=t===Mn||t===An?t:Sn,e=t,r=t),{left:i,center:function(t,n,e=0,a=t.length){const o=i(t,n,e,a-1);return o>e&&r(t[o-1],n)>-r(t[o],n)?o-1:o},right:function(t,r,i=0,a=t.length){if(i<a){if(0!==n(r,r))return a;do{const n=i+a>>>1;e(t[n],r)<=0?i=n+1:a=n}while(i<a)}return i}}}function Sn(){return 0}Tt({props:{maxWidth:{default:1/0}},init:function(t,n){n.el=t},update:function(t){for(var n,e,r=t.el.textContent,i=Math.round(r.length*t.maxWidth/t.el.getBBox().width*1.2);--i&&t.maxWidth/t.el.getBBox().width<1;)t.el.textContent=(e=i,(n=r).length<=e?n:n.substring(0,2*e/3)+"..."+n.substring(n.length-e/3,n.length))}});const Nn=kn(Mn).right;kn((function(t){return null===t?NaN:+t})).center;const $n=Math.sqrt(50),Cn=Math.sqrt(10),jn=Math.sqrt(2);function En(t,n,e){const r=(n-t)/Math.max(0,e),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),o=a>=$n?10:a>=Cn?5:a>=jn?2:1;let u,l,s;return i<0?(s=Math.pow(10,-i)/o,u=Math.round(t*s),l=Math.round(n*s),u/s<t&&++u,l/s>n&&--l,s=-s):(s=Math.pow(10,i)*o,u=Math.round(t/s),l=Math.round(n/s),u*s<t&&++u,l*s>n&&--l),l<u&&.5<=e&&e<2?En(t,n,2*e):[u,l,s]}function Hn(t,n,e){return En(t=+t,n=+n,e=+e)[2]}function Rn(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}function Ln(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function On(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function Fn(){}var Tn=.7,In=1/Tn,Pn="\\s*([+-]?\\d+)\\s*",qn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Bn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Dn=/^#([0-9a-f]{3,8})$/,zn=new RegExp(`^rgb\\(${Pn},${Pn},${Pn}\\)$`),Un=new RegExp(`^rgb\\(${Bn},${Bn},${Bn}\\)$`),Vn=new RegExp(`^rgba\\(${Pn},${Pn},${Pn},${qn}\\)$`),Wn=new RegExp(`^rgba\\(${Bn},${Bn},${Bn},${qn}\\)$`),Gn=new RegExp(`^hsl\\(${qn},${Bn},${Bn}\\)$`),Xn=new RegExp(`^hsla\\(${qn},${Bn},${Bn},${qn}\\)$`),Yn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function Zn(){return this.rgb().formatHex()}function Jn(){return this.rgb().formatRgb()}function Kn(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=Dn.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?Qn(n):3===e?new ee(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?te(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?te(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=zn.exec(t))?new ee(n[1],n[2],n[3],1):(n=Un.exec(t))?new ee(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=Vn.exec(t))?te(n[1],n[2],n[3],n[4]):(n=Wn.exec(t))?te(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=Gn.exec(t))?le(n[1],n[2]/100,n[3]/100,1):(n=Xn.exec(t))?le(n[1],n[2]/100,n[3]/100,n[4]):Yn.hasOwnProperty(t)?Qn(Yn[t]):"transparent"===t?new ee(NaN,NaN,NaN,0):null}function Qn(t){return new ee(t>>16&255,t>>8&255,255&t,1)}function te(t,n,e,r){return r<=0&&(t=n=e=NaN),new ee(t,n,e,r)}function ne(t,n,e,r){return 1===arguments.length?((i=t)instanceof Fn||(i=Kn(i)),i?new ee((i=i.rgb()).r,i.g,i.b,i.opacity):new ee):new ee(t,n,e,null==r?1:r);var i}function ee(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function re(){return`#${ue(this.r)}${ue(this.g)}${ue(this.b)}`}function ie(){const t=ae(this.opacity);return`${1===t?"rgb(":"rgba("}${oe(this.r)}, ${oe(this.g)}, ${oe(this.b)}${1===t?")":`, ${t})`}`}function ae(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function oe(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ue(t){return((t=oe(t))<16?"0":"")+t.toString(16)}function le(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new he(t,n,e,r)}function se(t){if(t instanceof he)return new he(t.h,t.s,t.l,t.opacity);if(t instanceof Fn||(t=Kn(t)),!t)return new he;if(t instanceof he)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),a=Math.max(n,e,r),o=NaN,u=a-i,l=(a+i)/2;return u?(o=n===a?(e-r)/u+6*(e<r):e===a?(r-n)/u+2:(n-e)/u+4,u/=l<.5?a+i:2-a-i,o*=60):u=l>0&&l<1?0:o,new he(o,u,l,t.opacity)}function he(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function ce(t){return(t=(t||0)%360)<0?t+360:t}function fe(t){return Math.max(0,Math.min(1,t||0))}function de(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}Ln(Fn,Kn,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Zn,formatHex:Zn,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return se(this).formatHsl()},formatRgb:Jn,toString:Jn}),Ln(ee,ne,On(Fn,{brighter(t){return t=null==t?In:Math.pow(In,t),new ee(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?Tn:Math.pow(Tn,t),new ee(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ee(oe(this.r),oe(this.g),oe(this.b),ae(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:re,formatHex:re,formatHex8:function(){return`#${ue(this.r)}${ue(this.g)}${ue(this.b)}${ue(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:ie,toString:ie})),Ln(he,(function(t,n,e,r){return 1===arguments.length?se(t):new he(t,n,e,null==r?1:r)}),On(Fn,{brighter(t){return t=null==t?In:Math.pow(In,t),new he(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?Tn:Math.pow(Tn,t),new he(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new ee(de(t>=240?t-240:t+120,i,r),de(t,i,r),de(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new he(ce(this.h),fe(this.s),fe(this.l),ae(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=ae(this.opacity);return`${1===t?"hsl(":"hsla("}${ce(this.h)}, ${100*fe(this.s)}%, ${100*fe(this.l)}%${1===t?")":`, ${t})`}`}}));var ge=t=>()=>t;function pe(t){return 1==(t=+t)?me:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):ge(isNaN(n)?e:n)}}function me(t,n){var e=n-t;return e?function(t,n){return function(e){return t+e*n}}(t,e):ge(isNaN(t)?n:t)}var be=function t(n){var e=pe(n);function r(t,n){var r=e((t=ne(t)).r,(n=ne(n)).r),i=e(t.g,n.g),a=e(t.b,n.b),o=me(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=a(n),t.opacity=o(n),t+""}}return r.gamma=t,r}(1);function ye(t,n){n||(n=[]);var e,r=t?Math.min(n.length,t.length):0,i=n.slice();return function(a){for(e=0;e<r;++e)i[e]=t[e]*(1-a)+n[e]*a;return i}}function ve(t,n){var e,r=n?n.length:0,i=t?Math.min(r,t.length):0,a=new Array(i),o=new Array(r);for(e=0;e<i;++e)a[e]=Se(t[e],n[e]);for(;e<r;++e)o[e]=n[e];return function(t){for(e=0;e<i;++e)o[e]=a[e](t);return o}}function xe(t,n){var e=new Date;return t=+t,n=+n,function(r){return e.setTime(t*(1-r)+n*r),e}}function we(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}function _e(t,n){var e,r={},i={};for(e in null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={}),n)e in t?r[e]=Se(t[e],n[e]):i[e]=n[e];return function(t){for(e in r)i[e]=r[e](t);return i}}var Me=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ae=new RegExp(Me.source,"g");function ke(t,n){var e,r,i,a=Me.lastIndex=Ae.lastIndex=0,o=-1,u=[],l=[];for(t+="",n+="";(e=Me.exec(t))&&(r=Ae.exec(n));)(i=r.index)>a&&(i=n.slice(a,i),u[o]?u[o]+=i:u[++o]=i),(e=e[0])===(r=r[0])?u[o]?u[o]+=r:u[++o]=r:(u[++o]=null,l.push({i:o,x:we(e,r)})),a=Ae.lastIndex;return a<n.length&&(i=n.slice(a),u[o]?u[o]+=i:u[++o]=i),u.length<2?l[0]?function(t){return function(n){return t(n)+""}}(l[0].x):function(t){return function(){return t}}(n):(n=l.length,function(t){for(var e,r=0;r<n;++r)u[(e=l[r]).i]=e.x(t);return u.join("")})}function Se(t,n){var e,r,i=typeof n;return null==n||"boolean"===i?ge(n):("number"===i?we:"string"===i?(e=Kn(n))?(n=e,be):ke:n instanceof Kn?be:n instanceof Date?xe:(r=n,!ArrayBuffer.isView(r)||r instanceof DataView?Array.isArray(n)?ve:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?_e:we:ye))(t,n)}function Ne(t,n){return t=+t,n=+n,function(e){return Math.round(t*(1-e)+n*e)}}function $e(t){return+t}var Ce=[0,1];function je(t){return t}function Ee(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:(e=isNaN(n)?NaN:.5,function(){return e});var e}function He(t,n,e){var r=t[0],i=t[1],a=n[0],o=n[1];return i<r?(r=Ee(i,r),a=e(o,a)):(r=Ee(r,i),a=e(a,o)),function(t){return a(r(t))}}function Re(t,n,e){var r=Math.min(t.length,n.length)-1,i=new Array(r),a=new Array(r),o=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++o<r;)i[o]=Ee(t[o],t[o+1]),a[o]=e(n[o],n[o+1]);return function(n){var e=Nn(t,n,1,r)-1;return a[e](i[e](n))}}function Le(){var t,n,e,r,i,a,o=Ce,u=Ce,l=Se,s=je;function h(){var t,n,e,l=Math.min(o.length,u.length);return s!==je&&(t=o[0],n=o[l-1],t>n&&(e=t,t=n,n=e),s=function(e){return Math.max(t,Math.min(n,e))}),r=l>2?Re:He,i=a=null,c}function c(n){return null==n||isNaN(n=+n)?e:(i||(i=r(o.map(t),u,l)))(t(s(n)))}return c.invert=function(e){return s(n((a||(a=r(u,o.map(t),we)))(e)))},c.domain=function(t){return arguments.length?(o=Array.from(t,$e),h()):o.slice()},c.range=function(t){return arguments.length?(u=Array.from(t),h()):u.slice()},c.rangeRound=function(t){return u=Array.from(t),l=Ne,h()},c.clamp=function(t){return arguments.length?(s=!!t||je,h()):s!==je},c.interpolate=function(t){return arguments.length?(l=t,h()):l},c.unknown=function(t){return arguments.length?(e=t,c):e},function(e,r){return t=e,n=r,h()}}function Oe(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var e,r=t.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+t.slice(e+1)]}function Fe(t){return(t=Oe(Math.abs(t)))?t[1]:NaN}var Te,Ie=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Pe(t){if(!(n=Ie.exec(t)))throw new Error("invalid format: "+t);var n;return new qe({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function qe(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function Be(t,n){var e=Oe(t,n);if(!e)return t+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}Pe.prototype=qe.prototype,qe.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var De={"%":(t,n)=>(100*t).toFixed(n),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,n)=>t.toExponential(n),f:(t,n)=>t.toFixed(n),g:(t,n)=>t.toPrecision(n),o:t=>Math.round(t).toString(8),p:(t,n)=>Be(100*t,n),r:Be,s:function(t,n){var e=Oe(t,n);if(!e)return t+"";var r=e[0],i=e[1],a=i-(Te=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+Oe(t,Math.max(0,n+a-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function ze(t){return t}var Ue,Ve,We,Ge=Array.prototype.map,Xe=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Ye(t){var n,e,r=void 0===t.grouping||void 0===t.thousands?ze:(n=Ge.call(t.grouping,Number),e=t.thousands+"",function(t,r){for(var i=t.length,a=[],o=0,u=n[0],l=0;i>0&&u>0&&(l+u+1>r&&(u=Math.max(1,r-l)),a.push(t.substring(i-=u,i+u)),!((l+=u+1)>r));)u=n[o=(o+1)%n.length];return a.reverse().join(e)}),i=void 0===t.currency?"":t.currency[0]+"",a=void 0===t.currency?"":t.currency[1]+"",o=void 0===t.decimal?".":t.decimal+"",u=void 0===t.numerals?ze:function(t){return function(n){return n.replace(/[0-9]/g,(function(n){return t[+n]}))}}(Ge.call(t.numerals,String)),l=void 0===t.percent?"%":t.percent+"",s=void 0===t.minus?"−":t.minus+"",h=void 0===t.nan?"NaN":t.nan+"";function c(t){var n=(t=Pe(t)).fill,e=t.align,c=t.sign,f=t.symbol,d=t.zero,g=t.width,p=t.comma,m=t.precision,b=t.trim,y=t.type;"n"===y?(p=!0,y="g"):De[y]||(void 0===m&&(m=12),b=!0,y="g"),(d||"0"===n&&"="===e)&&(d=!0,n="0",e="=");var v="$"===f?i:"#"===f&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",x="$"===f?a:/[%p]/.test(y)?l:"",w=De[y],_=/[defgprs%]/.test(y);function M(t){var i,a,l,f=v,M=x;if("c"===y)M=w(t)+M,t="";else{var A=(t=+t)<0||1/t<0;if(t=isNaN(t)?h:w(Math.abs(t),m),b&&(t=function(t){t:for(var n,e=t.length,r=1,i=-1;r<e;++r)switch(t[r]){case".":i=n=r;break;case"0":0===i&&(i=r),n=r;break;default:if(!+t[r])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(n+1):t}(t)),A&&0==+t&&"+"!==c&&(A=!1),f=(A?"("===c?c:s:"-"===c||"("===c?"":c)+f,M=("s"===y?Xe[8+Te/3]:"")+M+(A&&"("===c?")":""),_)for(i=-1,a=t.length;++i<a;)if(48>(l=t.charCodeAt(i))||l>57){M=(46===