@hpcc-js/common 3.3.0 → 3.3.2
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.
- package/dist/index.js +2 -8
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +2 -2
- package/dist/index.umd.cjs.map +1 -1
- package/package.json +5 -5
package/dist/index.umd.cjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode('.common_Widget{font-family:Verdana,Geneva,sans-serif;font-size:12px}#hpcc_js_font_size{display:none}.common_Text{fill:#000;font-size:12px}.common_FAChar .common_Text{font-size:14px}.common_Shape{fill:#1f77b4;stroke:#1f77b4}.common_Icon .common_FAChar .common_Text{fill:#fff}.common_Icon .common_FAChar .common_Text,.common_Icon .common_FAChar .common_Text g,.common_Icon .common_FAChar .common_Text text,.common_Icon .common_FAChar .common_Text tspan{pointer-events:none}.common_EntityRectList .entityRectItem{margin:6px;border-width:2px;border-radius:8px;border-color:"black";border-style:solid}.common_EntityRectList .entityRectItem rect{stroke-width:4px;shape-rendering:geometricPrecision}.common_EntityRect .entity_shape>g>rect{shape-rendering:geometricPrecision}.common_TextBox .common_Shape{fill:#dcf1ff;stroke:#1f77b4}.common_List .common_TextBox .common_Shape{fill:#dcf1ff;stroke:#dcf1ff}.common_List .common_TextBox .common_Text{pointer-events:none}.common_List .common_TextBox .common_Shape:hover{fill:#fff;stroke:#fff}.common_Menu .common_FAChar{fill:#fff;cursor:pointer}.common_Menu.disabled .common_FAChar{visibility:hidden;cursor:inherit}.common_Menu .common_List .common_TextBox .common_Shape{fill:#1f77b4;stroke:#1f77b4}.common_Menu .common_List .common_TextBox .common_Text{fill:#fff}.common_Menu .common_List .common_TextBox .common_Shape:hover{fill:#ff7f0e;stroke:#ff7f0e}.common_Surface .container .common_Shape{fill:#f9fcff;stroke:#1f77b4;stroke-width:1px}.common_Surface .title{cursor:move}.common_Surface .title .common_Shape{fill:#1f77b4;stroke:#1f77b4;stroke-width:1px}.common_Surface .title text{fill:#fff;stroke:none}.svg-button-container{position:fixed}.svg-button-container .surface-button{position:relative;background:transparent;border:none;opacity:.8;color:#fff}.svg-button-container .surface-button:hover{opacity:1}.svg-button-container .surface-button:active{opacity:.5}.resizeN{cursor:ns-resize;opacity:0}.resizeNE{cursor:ne-resize;opacity:0}.resizeE{cursor:ew-resize;opacity:0}.resizeSE{cursor:se-resize;opacity:0}.resizeS{cursor:ns-resize;opacity:0}.resizeSW{cursor:sw-resize;opacity:0}.resizeW{cursor:ew-resize;opacity:0}.resizeNW{cursor:nw-resize;opacity:0}.common_IconBar{display:flex;flex-flow:row;justify-content:space-between}.common_IconBar .icon-bar{display:flex;opacity:.95;flex-wrap:nowrap;margin:0;white-space:nowrap;line-height:28px;z-index:1}.common_IconBar .icon-bar a{text-align:center;padding:4px 2px;transition:all .3s ease;color:#a9a9a9}.common_IconBar .icon-bar a.disabled{opacity:.3;pointer-events:none;color:#a9a9a9}.common_IconBar .icon-bar a:hover{background-color:#f5f5f5}.common_IconBar .icon-bar a{background-color:#fff}.common_IconBar .icon-bar a.selected{background-color:#efe5e5}.common_IconBar .icon-bar div.spacer{text-align:center;height:28px;border-left-style:solid;border-left-width:1px;border-left-color:transparent;padding-top:0;padding-left:2px;margin-left:2px;padding-bottom:0}.common_IconBar .icon-bar div.spacer.vline{border-left-color:#a9a9a9;padding-left:4px;margin-left:4px}.common_IconBar .icon-bar a.spacer:hover{background-color:transparent}.common_TitleBar>.title-title{margin:4px}.common_TitleBar>.icon-bar{margin:4px}.common_TitleBar .title-icon{padding:4px 0;position:static}.common_TitleBar .data-count{position:absolute;visibility:hidden}.common_TitleBar .title-text{padding:4px 0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:20px;font-weight:700}.common_TitleBar .description-text{padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-weight:400}.common_SVGZoomWidget .zoomBackground{pointer-events:all;fill:none}.common_SVGZoomWidget rect.marqueeSelection{stroke:gray;stroke-dasharray:4px;stroke-opacity:.75;fill:transparent;pointer-events:none}')),document.head.appendChild(o)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
|
|
2
1
|
(function(global,factory){typeof exports=="object"&&typeof module<"u"?factory(exports,require("@hpcc-js/util")):typeof define=="function"&&define.amd?define(["exports","@hpcc-js/util"],factory):(global=typeof globalThis<"u"?globalThis:global||self,factory(global["@hpcc-js/common"]={},global["@hpcc-js/util"]))})(this,function(exports2,util){"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);const PKG_NAME="@hpcc-js/common",PKG_VERSION="3.2.0",BUILD_VERSION="3.2.1";var xhtml="http://www.w3.org/1999/xhtml";const namespaces={svg:"http://www.w3.org/2000/svg",xhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function namespace(name){var prefix2=name+="",i=prefix2.indexOf(":");return i>=0&&(prefix2=name.slice(0,i))!=="xmlns"&&(name=name.slice(i+1)),namespaces.hasOwnProperty(prefix2)?{space:namespaces[prefix2],local:name}:name}function creatorInherit(name){return function(){var document2=this.ownerDocument,uri=this.namespaceURI;return uri===xhtml&&document2.documentElement.namespaceURI===xhtml?document2.createElement(name):document2.createElementNS(uri,name)}}function creatorFixed(fullname){return function(){return this.ownerDocument.createElementNS(fullname.space,fullname.local)}}function creator(name){var fullname=namespace(name);return(fullname.local?creatorFixed:creatorInherit)(fullname)}function none(){}function selector(selector2){return selector2==null?none:function(){return this.querySelector(selector2)}}function selection_select(select2){typeof select2!="function"&&(select2=selector(select2));for(var groups=this._groups,m=groups.length,subgroups=new Array(m),j=0;j<m;++j)for(var group=groups[j],n=group.length,subgroup=subgroups[j]=new Array(n),node,subnode,i=0;i<n;++i)(node=group[i])&&(subnode=select2.call(node,node.__data__,i,group))&&("__data__"in node&&(subnode.__data__=node.__data__),subgroup[i]=subnode);return new Selection$2(subgroups,this._parents)}function empty$1(){return[]}function selectorAll(selector2){return selector2==null?empty$1:function(){return this.querySelectorAll(selector2)}}function selection_selectAll(select2){typeof select2!="function"&&(select2=selectorAll(select2));for(var groups=this._groups,m=groups.length,subgroups=[],parents=[],j=0;j<m;++j)for(var group=groups[j],n=group.length,node,i=0;i<n;++i)(node=group[i])&&(subgroups.push(select2.call(node,node.__data__,i,group)),parents.push(node));return new Selection$2(subgroups,parents)}function matcher(selector2){return function(){return this.matches(selector2)}}function selection_filter(match){typeof match!="function"&&(match=matcher(match));for(var groups=this._groups,m=groups.length,subgroups=new Array(m),j=0;j<m;++j)for(var group=groups[j],n=group.length,subgroup=subgroups[j]=[],node,i=0;i<n;++i)(node=group[i])&&match.call(node,node.__data__,i,group)&&subgroup.push(node);return new Selection$2(subgroups,this._parents)}function sparse(update){return new Array(update.length)}function selection_enter(){return new Selection$2(this._enter||this._groups.map(sparse),this._parents)}function EnterNode(parent,datum){this.ownerDocument=parent.ownerDocument,this.namespaceURI=parent.namespaceURI,this._next=null,this._parent=parent,this.__data__=datum}EnterNode.prototype={constructor:EnterNode,appendChild:function(child){return this._parent.insertBefore(child,this._next)},insertBefore:function(child,next){return this._parent.insertBefore(child,next)},querySelector:function(selector2){return this._parent.querySelector(selector2)},querySelectorAll:function(selector2){return this._parent.querySelectorAll(selector2)}};function constant$6(x){return function(){return x}}var keyPrefix="$";function bindIndex(parent,group,enter,update,exit,data){for(var i=0,node,groupLength=group.length,dataLength=data.length;i<dataLength;++i)(node=group[i])?(node.__data__=data[i],update[i]=node):enter[i]=new EnterNode(parent,data[i]);for(;i<groupLength;++i)(node=group[i])&&(exit[i]=node)}function bindKey(parent,group,enter,update,exit,data,key){var i,node,nodeByKeyValue={},groupLength=group.length,dataLength=data.length,keyValues=new Array(groupLength),keyValue;for(i=0;i<groupLength;++i)(node=group[i])&&(keyValues[i]=keyValue=keyPrefix+key.call(node,node.__data__,i,group),keyValue in nodeByKeyValue?exit[i]=node:nodeByKeyValue[keyValue]=node);for(i=0;i<dataLength;++i)keyValue=keyPrefix+key.call(parent,data[i],i,data),(node=nodeByKeyValue[keyValue])?(update[i]=node,node.__data__=data[i],nodeByKeyValue[keyValue]=null):enter[i]=new EnterNode(parent,data[i]);for(i=0;i<groupLength;++i)(node=group[i])&&nodeByKeyValue[keyValues[i]]===node&&(exit[i]=node)}function selection_data(value,key){if(!value)return data=new Array(this.size()),j=-1,this.each(function(d){data[++j]=d}),data;var bind=key?bindKey:bindIndex,parents=this._parents,groups=this._groups;typeof value!="function"&&(value=constant$6(value));for(var m=groups.length,update=new Array(m),enter=new Array(m),exit=new Array(m),j=0;j<m;++j){var parent=parents[j],group=groups[j],groupLength=group.length,data=value.call(parent,parent&&parent.__data__,j,parents),dataLength=data.length,enterGroup=enter[j]=new Array(dataLength),updateGroup=update[j]=new Array(dataLength),exitGroup=exit[j]=new Array(groupLength);bind(parent,group,enterGroup,updateGroup,exitGroup,data,key);for(var i0=0,i1=0,previous,next;i0<dataLength;++i0)if(previous=enterGroup[i0]){for(i0>=i1&&(i1=i0+1);!(next=updateGroup[i1])&&++i1<dataLength;);previous._next=next||null}}return update=new Selection$2(update,parents),update._enter=enter,update._exit=exit,update}function selection_exit(){return new Selection$2(this._exit||this._groups.map(sparse),this._parents)}function selection_join(onenter,onupdate,onexit){var enter=this.enter(),update=this,exit=this.exit();return enter=typeof onenter=="function"?onenter(enter):enter.append(onenter+""),onupdate!=null&&(update=onupdate(update)),onexit==null?exit.remove():onexit(exit),enter&&update?enter.merge(update).order():update}function selection_merge(selection2){for(var groups0=this._groups,groups1=selection2._groups,m0=groups0.length,m1=groups1.length,m=Math.min(m0,m1),merges=new Array(m0),j=0;j<m;++j)for(var group0=groups0[j],group1=groups1[j],n=group0.length,merge2=merges[j]=new Array(n),node,i=0;i<n;++i)(node=group0[i]||group1[i])&&(merge2[i]=node);for(;j<m0;++j)merges[j]=groups0[j];return new Selection$2(merges,this._parents)}function selection_order(){for(var groups=this._groups,j=-1,m=groups.length;++j<m;)for(var group=groups[j],i=group.length-1,next=group[i],node;--i>=0;)(node=group[i])&&(next&&node.compareDocumentPosition(next)^4&&next.parentNode.insertBefore(node,next),next=node);return this}function selection_sort(compare){compare||(compare=ascending$1);function compareNode(a,b){return a&&b?compare(a.__data__,b.__data__):!a-!b}for(var groups=this._groups,m=groups.length,sortgroups=new Array(m),j=0;j<m;++j){for(var group=groups[j],n=group.length,sortgroup=sortgroups[j]=new Array(n),node,i=0;i<n;++i)(node=group[i])&&(sortgroup[i]=node);sortgroup.sort(compareNode)}return new Selection$2(sortgroups,this._parents).order()}function ascending$1(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}function selection_call(){var callback=arguments[0];return arguments[0]=this,callback.apply(null,arguments),this}function selection_nodes(){var nodes=new Array(this.size()),i=-1;return this.each(function(){nodes[++i]=this}),nodes}function selection_node(){for(var groups=this._groups,j=0,m=groups.length;j<m;++j)for(var group=groups[j],i=0,n=group.length;i<n;++i){var node=group[i];if(node)return node}return null}function selection_size(){var size=0;return this.each(function(){++size}),size}function selection_empty(){return!this.node()}function selection_each(callback){for(var groups=this._groups,j=0,m=groups.length;j<m;++j)for(var group=groups[j],i=0,n=group.length,node;i<n;++i)(node=group[i])&&callback.call(node,node.__data__,i,group);return this}function attrRemove$1(name){return function(){this.removeAttribute(name)}}function attrRemoveNS$1(fullname){return function(){this.removeAttributeNS(fullname.space,fullname.local)}}function attrConstant$1(name,value){return function(){this.setAttribute(name,value)}}function attrConstantNS$1(fullname,value){return function(){this.setAttributeNS(fullname.space,fullname.local,value)}}function attrFunction$1(name,value){return function(){var v=value.apply(this,arguments);v==null?this.removeAttribute(name):this.setAttribute(name,v)}}function attrFunctionNS$1(fullname,value){return function(){var v=value.apply(this,arguments);v==null?this.removeAttributeNS(fullname.space,fullname.local):this.setAttributeNS(fullname.space,fullname.local,v)}}function selection_attr(name,value){var fullname=namespace(name);if(arguments.length<2){var node=this.node();return fullname.local?node.getAttributeNS(fullname.space,fullname.local):node.getAttribute(fullname)}return this.each((value==null?fullname.local?attrRemoveNS$1:attrRemove$1:typeof value=="function"?fullname.local?attrFunctionNS$1:attrFunction$1:fullname.local?attrConstantNS$1:attrConstant$1)(fullname,value))}function defaultView(node){return node.ownerDocument&&node.ownerDocument.defaultView||node.document&&node||node.defaultView}function styleRemove$1(name){return function(){this.style.removeProperty(name)}}function styleConstant$1(name,value,priority){return function(){this.style.setProperty(name,value,priority)}}function styleFunction$1(name,value,priority){return function(){var v=value.apply(this,arguments);v==null?this.style.removeProperty(name):this.style.setProperty(name,v,priority)}}function selection_style(name,value,priority){return arguments.length>1?this.each((value==null?styleRemove$1:typeof value=="function"?styleFunction$1:styleConstant$1)(name,value,priority??"")):styleValue(this.node(),name)}function styleValue(node,name){return node.style.getPropertyValue(name)||defaultView(node).getComputedStyle(node,null).getPropertyValue(name)}function propertyRemove(name){return function(){delete this[name]}}function propertyConstant(name,value){return function(){this[name]=value}}function propertyFunction(name,value){return function(){var v=value.apply(this,arguments);v==null?delete this[name]:this[name]=v}}function selection_property(name,value){return arguments.length>1?this.each((value==null?propertyRemove:typeof value=="function"?propertyFunction:propertyConstant)(name,value)):this.node()[name]}function classArray(string){return string.trim().split(/^|\s+/)}function classList(node){return node.classList||new ClassList(node)}function ClassList(node){this._node=node,this._names=classArray(node.getAttribute("class")||"")}ClassList.prototype={add:function(name){var i=this._names.indexOf(name);i<0&&(this._names.push(name),this._node.setAttribute("class",this._names.join(" ")))},remove:function(name){var i=this._names.indexOf(name);i>=0&&(this._names.splice(i,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(name){return this._names.indexOf(name)>=0}};function classedAdd(node,names){for(var list=classList(node),i=-1,n=names.length;++i<n;)list.add(names[i])}function classedRemove(node,names){for(var list=classList(node),i=-1,n=names.length;++i<n;)list.remove(names[i])}function classedTrue(names){return function(){classedAdd(this,names)}}function classedFalse(names){return function(){classedRemove(this,names)}}function classedFunction(names,value){return function(){(value.apply(this,arguments)?classedAdd:classedRemove)(this,names)}}function selection_classed(name,value){var names=classArray(name+"");if(arguments.length<2){for(var list=classList(this.node()),i=-1,n=names.length;++i<n;)if(!list.contains(names[i]))return!1;return!0}return this.each((typeof value=="function"?classedFunction:value?classedTrue:classedFalse)(names,value))}function textRemove(){this.textContent=""}function textConstant$1(value){return function(){this.textContent=value}}function textFunction$1(value){return function(){var v=value.apply(this,arguments);this.textContent=v??""}}function selection_text(value){return arguments.length?this.each(value==null?textRemove:(typeof value=="function"?textFunction$1:textConstant$1)(value)):this.node().textContent}function htmlRemove(){this.innerHTML=""}function htmlConstant(value){return function(){this.innerHTML=value}}function htmlFunction(value){return function(){var v=value.apply(this,arguments);this.innerHTML=v??""}}function selection_html(value){return arguments.length?this.each(value==null?htmlRemove:(typeof value=="function"?htmlFunction:htmlConstant)(value)):this.node().innerHTML}function raise$1(){this.nextSibling&&this.parentNode.appendChild(this)}function selection_raise(){return this.each(raise$1)}function lower(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function selection_lower(){return this.each(lower)}function selection_append(name){var create2=typeof name=="function"?name:creator(name);return this.select(function(){return this.appendChild(create2.apply(this,arguments))})}function constantNull(){return null}function selection_insert(name,before){var create2=typeof name=="function"?name:creator(name),select2=before==null?constantNull:typeof before=="function"?before:selector(before);return this.select(function(){return this.insertBefore(create2.apply(this,arguments),select2.apply(this,arguments)||null)})}function remove(){var parent=this.parentNode;parent&&parent.removeChild(this)}function selection_remove(){return this.each(remove)}function selection_cloneShallow(){var clone=this.cloneNode(!1),parent=this.parentNode;return parent?parent.insertBefore(clone,this.nextSibling):clone}function selection_cloneDeep(){var clone=this.cloneNode(!0),parent=this.parentNode;return parent?parent.insertBefore(clone,this.nextSibling):clone}function selection_clone(deep){return this.select(deep?selection_cloneDeep:selection_cloneShallow)}function selection_datum(value){return arguments.length?this.property("__data__",value):this.node().__data__}var filterEvents={};if(exports2.event=null,typeof document<"u"){var element=document.documentElement;"onmouseenter"in element||(filterEvents={mouseenter:"mouseover",mouseleave:"mouseout"})}function filterContextListener(listener,index2,group){return listener=contextListener(listener,index2,group),function(event){var related=event.relatedTarget;(!related||related!==this&&!(related.compareDocumentPosition(this)&8))&&listener.call(this,event)}}function contextListener(listener,index2,group){return function(event1){var event0=exports2.event;exports2.event=event1;try{listener.call(this,this.__data__,index2,group)}finally{exports2.event=event0}}}function parseTypenames$1(typenames){return typenames.trim().split(/^|\s+/).map(function(t){var name="",i=t.indexOf(".");return i>=0&&(name=t.slice(i+1),t=t.slice(0,i)),{type:t,name}})}function onRemove(typename){return function(){var on=this.__on;if(on){for(var j=0,i=-1,m=on.length,o;j<m;++j)o=on[j],(!typename.type||o.type===typename.type)&&o.name===typename.name?this.removeEventListener(o.type,o.listener,o.capture):on[++i]=o;++i?on.length=i:delete this.__on}}}function onAdd(typename,value,capture){var wrap=filterEvents.hasOwnProperty(typename.type)?filterContextListener:contextListener;return function(d,i,group){var on=this.__on,o,listener=wrap(value,i,group);if(on){for(var j=0,m=on.length;j<m;++j)if((o=on[j]).type===typename.type&&o.name===typename.name){this.removeEventListener(o.type,o.listener,o.capture),this.addEventListener(o.type,o.listener=listener,o.capture=capture),o.value=value;return}}this.addEventListener(typename.type,listener,capture),o={type:typename.type,name:typename.name,value,listener,capture},on?on.push(o):this.__on=[o]}}function selection_on(typename,value,capture){var typenames=parseTypenames$1(typename+""),i,n=typenames.length,t;if(arguments.length<2){var on=this.node().__on;if(on){for(var j=0,m=on.length,o;j<m;++j)for(i=0,o=on[j];i<n;++i)if((t=typenames[i]).type===o.type&&t.name===o.name)return o.value}return}for(on=value?onAdd:onRemove,capture==null&&(capture=!1),i=0;i<n;++i)this.each(on(typenames[i],value,capture));return this}function customEvent(event1,listener,that,args){var event0=exports2.event;event1.sourceEvent=exports2.event,exports2.event=event1;try{return listener.apply(that,args)}finally{exports2.event=event0}}function dispatchEvent(node,type2,params){var window2=defaultView(node),event=window2.CustomEvent;typeof event=="function"?event=new event(type2,params):(event=window2.document.createEvent("Event"),params?(event.initEvent(type2,params.bubbles,params.cancelable),event.detail=params.detail):event.initEvent(type2,!1,!1)),node.dispatchEvent(event)}function dispatchConstant(type2,params){return function(){return dispatchEvent(this,type2,params)}}function dispatchFunction(type2,params){return function(){return dispatchEvent(this,type2,params.apply(this,arguments))}}function selection_dispatch(type2,params){return this.each((typeof params=="function"?dispatchFunction:dispatchConstant)(type2,params))}var root$1=[null];function Selection$2(groups,parents){this._groups=groups,this._parents=parents}function selection(){return new Selection$2([[document.documentElement]],root$1)}Selection$2.prototype=selection.prototype={constructor:Selection$2,select:selection_select,selectAll:selection_selectAll,filter:selection_filter,data:selection_data,enter:selection_enter,exit:selection_exit,join:selection_join,merge:selection_merge,order:selection_order,sort:selection_sort,call:selection_call,nodes:selection_nodes,node:selection_node,size:selection_size,empty:selection_empty,each:selection_each,attr:selection_attr,style:selection_style,property:selection_property,classed:selection_classed,text:selection_text,html:selection_html,raise:selection_raise,lower:selection_lower,append:selection_append,insert:selection_insert,remove:selection_remove,clone:selection_clone,datum:selection_datum,on:selection_on,dispatch:selection_dispatch};function select(selector2){return typeof selector2=="string"?new Selection$2([[document.querySelector(selector2)]],[document.documentElement]):new Selection$2([[selector2]],root$1)}function create$1(name){return select(creator(name).call(document.documentElement))}var nextId=0;function local$1(){return new Local}function Local(){this._="@"+(++nextId).toString(36)}Local.prototype=local$1.prototype={constructor:Local,get:function(node){for(var id2=this._;!(id2 in node);)if(!(node=node.parentNode))return;return node[id2]},set:function(node,value){return node[this._]=value},remove:function(node){return this._ in node&&delete node[this._]},toString:function(){return this._}};function sourceEvent(){for(var current=exports2.event,source;source=current.sourceEvent;)current=source;return current}function point$1(node,event){var svg=node.ownerSVGElement||node;if(svg.createSVGPoint){var point2=svg.createSVGPoint();return point2.x=event.clientX,point2.y=event.clientY,point2=point2.matrixTransform(node.getScreenCTM().inverse()),[point2.x,point2.y]}var rect=node.getBoundingClientRect();return[event.clientX-rect.left-node.clientLeft,event.clientY-rect.top-node.clientTop]}function mouse(node){var event=sourceEvent();return event.changedTouches&&(event=event.changedTouches[0]),point$1(node,event)}function selectAll(selector2){return typeof selector2=="string"?new Selection$2([document.querySelectorAll(selector2)],[document.documentElement]):new Selection$2([selector2??[]],root$1)}function touch(node,touches2,identifier){arguments.length<3&&(identifier=touches2,touches2=sourceEvent().changedTouches);for(var i=0,n=touches2?touches2.length:0,touch2;i<n;++i)if((touch2=touches2[i]).identifier===identifier)return point$1(node,touch2);return null}function touches(node,touches2){touches2==null&&(touches2=sourceEvent().touches);for(var i=0,n=touches2?touches2.length:0,points=new Array(n);i<n;++i)points[i]=point$1(node,touches2[i]);return points}var noop={value:function(){}};function dispatch(){for(var i=0,n=arguments.length,_={},t;i<n;++i){if(!(t=arguments[i]+"")||t in _||/[\s.]/.test(t))throw new Error("illegal type: "+t);_[t]=[]}return new Dispatch(_)}function Dispatch(_){this._=_}function parseTypenames(typenames,types){return typenames.trim().split(/^|\s+/).map(function(t){var name="",i=t.indexOf(".");if(i>=0&&(name=t.slice(i+1),t=t.slice(0,i)),t&&!types.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name}})}Dispatch.prototype=dispatch.prototype={constructor:Dispatch,on:function(typename,callback){var _=this._,T=parseTypenames(typename+"",_),t,i=-1,n=T.length;if(arguments.length<2){for(;++i<n;)if((t=(typename=T[i]).type)&&(t=get$1(_[t],typename.name)))return t;return}if(callback!=null&&typeof callback!="function")throw new Error("invalid callback: "+callback);for(;++i<n;)if(t=(typename=T[i]).type)_[t]=set$2(_[t],typename.name,callback);else if(callback==null)for(t in _)_[t]=set$2(_[t],typename.name,null);return this},copy:function(){var copy2={},_=this._;for(var t in _)copy2[t]=_[t].slice();return new Dispatch(copy2)},call:function(type2,that){if((n=arguments.length-2)>0)for(var args=new Array(n),i=0,n,t;i<n;++i)args[i]=arguments[i+2];if(!this._.hasOwnProperty(type2))throw new Error("unknown type: "+type2);for(t=this._[type2],i=0,n=t.length;i<n;++i)t[i].value.apply(that,args)},apply:function(type2,that,args){if(!this._.hasOwnProperty(type2))throw new Error("unknown type: "+type2);for(var t=this._[type2],i=0,n=t.length;i<n;++i)t[i].value.apply(that,args)}};function get$1(type2,name){for(var i=0,n=type2.length,c;i<n;++i)if((c=type2[i]).name===name)return c.value}function set$2(type2,name,callback){for(var i=0,n=type2.length;i<n;++i)if(type2[i].name===name){type2[i]=noop,type2=type2.slice(0,i).concat(type2.slice(i+1));break}return callback!=null&&type2.push({name,value:callback}),type2}var frame=0,timeout$1=0,interval=0,pokeDelay=1e3,taskHead,taskTail,clockLast=0,clockNow=0,clockSkew=0,clock=typeof performance=="object"&&performance.now?performance:Date,setFrame=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(f){setTimeout(f,17)};function now$1(){return clockNow||(setFrame(clearNow),clockNow=clock.now()+clockSkew)}function clearNow(){clockNow=0}function Timer(){this._call=this._time=this._next=null}Timer.prototype=timer.prototype={constructor:Timer,restart:function(callback,delay,time2){if(typeof callback!="function")throw new TypeError("callback is not a function");time2=(time2==null?now$1():+time2)+(delay==null?0:+delay),!this._next&&taskTail!==this&&(taskTail?taskTail._next=this:taskHead=this,taskTail=this),this._call=callback,this._time=time2,sleep()},stop:function(){this._call&&(this._call=null,this._time=1/0,sleep())}};function timer(callback,delay,time2){var t=new Timer;return t.restart(callback,delay,time2),t}function timerFlush(){now$1(),++frame;for(var t=taskHead,e;t;)(e=clockNow-t._time)>=0&&t._call.call(null,e),t=t._next;--frame}function wake(){clockNow=(clockLast=clock.now())+clockSkew,frame=timeout$1=0;try{timerFlush()}finally{frame=0,nap(),clockNow=0}}function poke(){var now2=clock.now(),delay=now2-clockLast;delay>pokeDelay&&(clockSkew-=delay,clockLast=now2)}function nap(){for(var t02,t12=taskHead,t22,time2=1/0;t12;)t12._call?(time2>t12._time&&(time2=t12._time),t02=t12,t12=t12._next):(t22=t12._next,t12._next=null,t12=t02?t02._next=t22:taskHead=t22);taskTail=t02,sleep(time2)}function sleep(time2){if(!frame){timeout$1&&(timeout$1=clearTimeout(timeout$1));var delay=time2-clockNow;delay>24?(time2<1/0&&(timeout$1=setTimeout(wake,time2-clock.now()-clockSkew)),interval&&(interval=clearInterval(interval))):(interval||(clockLast=clock.now(),interval=setInterval(poke,pokeDelay)),frame=1,setFrame(wake))}}function timeout(callback,delay,time2){var t=new Timer;return delay=delay==null?0:+delay,t.restart(function(elapsed){t.stop(),callback(elapsed+delay)},delay,time2),t}var emptyOn=dispatch("start","end","cancel","interrupt"),emptyTween=[],CREATED=0,SCHEDULED=1,STARTING=2,STARTED=3,RUNNING=4,ENDING=5,ENDED=6;function schedule(node,name,id2,index2,group,timing){var schedules=node.__transition;if(!schedules)node.__transition={};else if(id2 in schedules)return;create(node,id2,{name,index:index2,group,on:emptyOn,tween:emptyTween,time:timing.time,delay:timing.delay,duration:timing.duration,ease:timing.ease,timer:null,state:CREATED})}function init(node,id2){var schedule2=get(node,id2);if(schedule2.state>CREATED)throw new Error("too late; already scheduled");return schedule2}function set$1(node,id2){var schedule2=get(node,id2);if(schedule2.state>STARTED)throw new Error("too late; already running");return schedule2}function get(node,id2){var schedule2=node.__transition;if(!schedule2||!(schedule2=schedule2[id2]))throw new Error("transition not found");return schedule2}function create(node,id2,self2){var schedules=node.__transition,tween;schedules[id2]=self2,self2.timer=timer(schedule2,0,self2.time);function schedule2(elapsed){self2.state=SCHEDULED,self2.timer.restart(start2,self2.delay,self2.time),self2.delay<=elapsed&&start2(elapsed-self2.delay)}function start2(elapsed){var i,j,n,o;if(self2.state!==SCHEDULED)return stop();for(i in schedules)if(o=schedules[i],o.name===self2.name){if(o.state===STARTED)return timeout(start2);o.state===RUNNING?(o.state=ENDED,o.timer.stop(),o.on.call("interrupt",node,node.__data__,o.index,o.group),delete schedules[i]):+i<id2&&(o.state=ENDED,o.timer.stop(),o.on.call("cancel",node,node.__data__,o.index,o.group),delete schedules[i])}if(timeout(function(){self2.state===STARTED&&(self2.state=RUNNING,self2.timer.restart(tick,self2.delay,self2.time),tick(elapsed))}),self2.state=STARTING,self2.on.call("start",node,node.__data__,self2.index,self2.group),self2.state===STARTING){for(self2.state=STARTED,tween=new Array(n=self2.tween.length),i=0,j=-1;i<n;++i)(o=self2.tween[i].value.call(node,node.__data__,self2.index,self2.group))&&(tween[++j]=o);tween.length=j+1}}function tick(elapsed){for(var t=elapsed<self2.duration?self2.ease.call(null,elapsed/self2.duration):(self2.timer.restart(stop),self2.state=ENDING,1),i=-1,n=tween.length;++i<n;)tween[i].call(node,t);self2.state===ENDING&&(self2.on.call("end",node,node.__data__,self2.index,self2.group),stop())}function stop(){self2.state=ENDED,self2.timer.stop(),delete schedules[id2];for(var i in schedules)return;delete node.__transition}}function interrupt(node,name){var schedules=node.__transition,schedule2,active2,empty2=!0,i;if(schedules){name=name==null?null:name+"";for(i in schedules){if((schedule2=schedules[i]).name!==name){empty2=!1;continue}active2=schedule2.state>STARTING&&schedule2.state<ENDING,schedule2.state=ENDED,schedule2.timer.stop(),schedule2.on.call(active2?"interrupt":"cancel",node,node.__data__,schedule2.index,schedule2.group),delete schedules[i]}empty2&&delete node.__transition}}function selection_interrupt(name){return this.each(function(){interrupt(this,name)})}function define2(constructor,factory,prototype){constructor.prototype=factory.prototype=prototype,prototype.constructor=constructor}function extend(parent,definition){var prototype=Object.create(parent.prototype);for(var key in definition)prototype[key]=definition[key];return prototype}function Color(){}var darker=.7,brighter=1/darker,reI="\\s*([+-]?\\d+)\\s*",reN="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",reP="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",reHex=/^#([0-9a-f]{3,8})$/,reRgbInteger=new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`),reRgbPercent=new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`),reRgbaInteger=new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`),reRgbaPercent=new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`),reHslPercent=new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`),reHslaPercent=new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`),named={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};define2(Color,color,{copy(channels){return Object.assign(new this.constructor,this,channels)},displayable(){return this.rgb().displayable()},hex:color_formatHex,formatHex:color_formatHex,formatHex8:color_formatHex8,formatHsl:color_formatHsl,formatRgb:color_formatRgb,toString:color_formatRgb});function color_formatHex(){return this.rgb().formatHex()}function color_formatHex8(){return this.rgb().formatHex8()}function color_formatHsl(){return hslConvert(this).formatHsl()}function color_formatRgb(){return this.rgb().formatRgb()}function color(format){var m,l;return format=(format+"").trim().toLowerCase(),(m=reHex.exec(format))?(l=m[1].length,m=parseInt(m[1],16),l===6?rgbn(m):l===3?new Rgb(m>>8&15|m>>4&240,m>>4&15|m&240,(m&15)<<4|m&15,1):l===8?rgba(m>>24&255,m>>16&255,m>>8&255,(m&255)/255):l===4?rgba(m>>12&15|m>>8&240,m>>8&15|m>>4&240,m>>4&15|m&240,((m&15)<<4|m&15)/255):null):(m=reRgbInteger.exec(format))?new Rgb(m[1],m[2],m[3],1):(m=reRgbPercent.exec(format))?new Rgb(m[1]*255/100,m[2]*255/100,m[3]*255/100,1):(m=reRgbaInteger.exec(format))?rgba(m[1],m[2],m[3],m[4]):(m=reRgbaPercent.exec(format))?rgba(m[1]*255/100,m[2]*255/100,m[3]*255/100,m[4]):(m=reHslPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,1):(m=reHslaPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,m[4]):named.hasOwnProperty(format)?rgbn(named[format]):format==="transparent"?new Rgb(NaN,NaN,NaN,0):null}function rgbn(n){return new Rgb(n>>16&255,n>>8&255,n&255,1)}function rgba(r,g,b,a){return a<=0&&(r=g=b=NaN),new Rgb(r,g,b,a)}function rgbConvert(o){return o instanceof Color||(o=color(o)),o?(o=o.rgb(),new Rgb(o.r,o.g,o.b,o.opacity)):new Rgb}function rgb(r,g,b,opacity){return arguments.length===1?rgbConvert(r):new Rgb(r,g,b,opacity??1)}function Rgb(r,g,b,opacity){this.r=+r,this.g=+g,this.b=+b,this.opacity=+opacity}define2(Rgb,rgb,extend(Color,{brighter(k){return k=k==null?brighter:Math.pow(brighter,k),new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},darker(k){return k=k==null?darker:Math.pow(darker,k),new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},rgb(){return this},clamp(){return new Rgb(clampi(this.r),clampi(this.g),clampi(this.b),clampa(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:rgb_formatHex,formatHex:rgb_formatHex,formatHex8:rgb_formatHex8,formatRgb:rgb_formatRgb,toString:rgb_formatRgb}));function rgb_formatHex(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}`}function rgb_formatHex8(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity)?1:this.opacity)*255)}`}function rgb_formatRgb(){const a=clampa(this.opacity);return`${a===1?"rgb(":"rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a===1?")":`, ${a})`}`}function clampa(opacity){return isNaN(opacity)?1:Math.max(0,Math.min(1,opacity))}function clampi(value){return Math.max(0,Math.min(255,Math.round(value)||0))}function hex(value){return value=clampi(value),(value<16?"0":"")+value.toString(16)}function hsla(h,s,l,a){return a<=0?h=s=l=NaN:l<=0||l>=1?h=s=NaN:s<=0&&(h=NaN),new Hsl(h,s,l,a)}function hslConvert(o){if(o instanceof Hsl)return new Hsl(o.h,o.s,o.l,o.opacity);if(o instanceof Color||(o=color(o)),!o)return new Hsl;if(o instanceof Hsl)return o;o=o.rgb();var r=o.r/255,g=o.g/255,b=o.b/255,min=Math.min(r,g,b),max=Math.max(r,g,b),h=NaN,s=max-min,l=(max+min)/2;return s?(r===max?h=(g-b)/s+(g<b)*6:g===max?h=(b-r)/s+2:h=(r-g)/s+4,s/=l<.5?max+min:2-max-min,h*=60):s=l>0&&l<1?0:h,new Hsl(h,s,l,o.opacity)}function hsl$2(h,s,l,opacity){return arguments.length===1?hslConvert(h):new Hsl(h,s,l,opacity??1)}function Hsl(h,s,l,opacity){this.h=+h,this.s=+s,this.l=+l,this.opacity=+opacity}define2(Hsl,hsl$2,extend(Color,{brighter(k){return k=k==null?brighter:Math.pow(brighter,k),new Hsl(this.h,this.s,this.l*k,this.opacity)},darker(k){return k=k==null?darker:Math.pow(darker,k),new Hsl(this.h,this.s,this.l*k,this.opacity)},rgb(){var h=this.h%360+(this.h<0)*360,s=isNaN(h)||isNaN(this.s)?0:this.s,l=this.l,m2=l+(l<.5?l:1-l)*s,m1=2*l-m2;return new Rgb(hsl2rgb(h>=240?h-240:h+120,m1,m2),hsl2rgb(h,m1,m2),hsl2rgb(h<120?h+240:h-120,m1,m2),this.opacity)},clamp(){return new Hsl(clamph(this.h),clampt(this.s),clampt(this.l),clampa(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 a=clampa(this.opacity);return`${a===1?"hsl(":"hsla("}${clamph(this.h)}, ${clampt(this.s)*100}%, ${clampt(this.l)*100}%${a===1?")":`, ${a})`}`}}));function clamph(value){return value=(value||0)%360,value<0?value+360:value}function clampt(value){return Math.max(0,Math.min(1,value||0))}function hsl2rgb(h,m1,m2){return(h<60?m1+(m2-m1)*h/60:h<180?m2:h<240?m1+(m2-m1)*(240-h)/60:m1)*255}const radians=Math.PI/180,degrees$1=180/Math.PI,K=18,Xn=.96422,Yn=1,Zn=.82521,t0$1=4/29,t1$1=6/29,t2=3*t1$1*t1$1,t3=t1$1*t1$1*t1$1;function labConvert(o){if(o instanceof Lab)return new Lab(o.l,o.a,o.b,o.opacity);if(o instanceof Hcl)return hcl2lab(o);o instanceof Rgb||(o=rgbConvert(o));var r=rgb2lrgb(o.r),g=rgb2lrgb(o.g),b=rgb2lrgb(o.b),y=xyz2lab((.2225045*r+.7168786*g+.0606169*b)/Yn),x,z;return r===g&&g===b?x=z=y:(x=xyz2lab((.4360747*r+.3850649*g+.1430804*b)/Xn),z=xyz2lab((.0139322*r+.0971045*g+.7141733*b)/Zn)),new Lab(116*y-16,500*(x-y),200*(y-z),o.opacity)}function gray(l,opacity){return new Lab(l,0,0,opacity??1)}function lab$1(l,a,b,opacity){return arguments.length===1?labConvert(l):new Lab(l,a,b,opacity??1)}function Lab(l,a,b,opacity){this.l=+l,this.a=+a,this.b=+b,this.opacity=+opacity}define2(Lab,lab$1,extend(Color,{brighter(k){return new Lab(this.l+K*(k??1),this.a,this.b,this.opacity)},darker(k){return new Lab(this.l-K*(k??1),this.a,this.b,this.opacity)},rgb(){var y=(this.l+16)/116,x=isNaN(this.a)?y:y+this.a/500,z=isNaN(this.b)?y:y-this.b/200;return x=Xn*lab2xyz(x),y=Yn*lab2xyz(y),z=Zn*lab2xyz(z),new Rgb(lrgb2rgb(3.1338561*x-1.6168667*y-.4906146*z),lrgb2rgb(-.9787684*x+1.9161415*y+.033454*z),lrgb2rgb(.0719453*x-.2289914*y+1.4052427*z),this.opacity)}}));function xyz2lab(t){return t>t3?Math.pow(t,1/3):t/t2+t0$1}function lab2xyz(t){return t>t1$1?t*t*t:t2*(t-t0$1)}function lrgb2rgb(x){return 255*(x<=.0031308?12.92*x:1.055*Math.pow(x,1/2.4)-.055)}function rgb2lrgb(x){return(x/=255)<=.04045?x/12.92:Math.pow((x+.055)/1.055,2.4)}function hclConvert(o){if(o instanceof Hcl)return new Hcl(o.h,o.c,o.l,o.opacity);if(o instanceof Lab||(o=labConvert(o)),o.a===0&&o.b===0)return new Hcl(NaN,0<o.l&&o.l<100?0:NaN,o.l,o.opacity);var h=Math.atan2(o.b,o.a)*degrees$1;return new Hcl(h<0?h+360:h,Math.sqrt(o.a*o.a+o.b*o.b),o.l,o.opacity)}function lch(l,c,h,opacity){return arguments.length===1?hclConvert(l):new Hcl(h,c,l,opacity??1)}function hcl$2(h,c,l,opacity){return arguments.length===1?hclConvert(h):new Hcl(h,c,l,opacity??1)}function Hcl(h,c,l,opacity){this.h=+h,this.c=+c,this.l=+l,this.opacity=+opacity}function hcl2lab(o){if(isNaN(o.h))return new Lab(o.l,0,0,o.opacity);var h=o.h*radians;return new Lab(o.l,Math.cos(h)*o.c,Math.sin(h)*o.c,o.opacity)}define2(Hcl,hcl$2,extend(Color,{brighter(k){return new Hcl(this.h,this.c,this.l+K*(k??1),this.opacity)},darker(k){return new Hcl(this.h,this.c,this.l-K*(k??1),this.opacity)},rgb(){return hcl2lab(this).rgb()}}));var A=-.14861,B=1.78277,C=-.29227,D=-.90649,E=1.97294,ED=E*D,EB=E*B,BC_DA=B*C-D*A;function cubehelixConvert(o){if(o instanceof Cubehelix)return new Cubehelix(o.h,o.s,o.l,o.opacity);o instanceof Rgb||(o=rgbConvert(o));var r=o.r/255,g=o.g/255,b=o.b/255,l=(BC_DA*b+ED*r-EB*g)/(BC_DA+ED-EB),bl=b-l,k=(E*(g-l)-C*bl)/D,s=Math.sqrt(k*k+bl*bl)/(E*l*(1-l)),h=s?Math.atan2(k,bl)*degrees$1-120:NaN;return new Cubehelix(h<0?h+360:h,s,l,o.opacity)}function cubehelix$3(h,s,l,opacity){return arguments.length===1?cubehelixConvert(h):new Cubehelix(h,s,l,opacity??1)}function Cubehelix(h,s,l,opacity){this.h=+h,this.s=+s,this.l=+l,this.opacity=+opacity}define2(Cubehelix,cubehelix$3,extend(Color,{brighter(k){return k=k==null?brighter:Math.pow(brighter,k),new Cubehelix(this.h,this.s,this.l*k,this.opacity)},darker(k){return k=k==null?darker:Math.pow(darker,k),new Cubehelix(this.h,this.s,this.l*k,this.opacity)},rgb(){var h=isNaN(this.h)?0:(this.h+120)*radians,l=+this.l,a=isNaN(this.s)?0:this.s*l*(1-l),cosh2=Math.cos(h),sinh2=Math.sin(h);return new Rgb(255*(l+a*(A*cosh2+B*sinh2)),255*(l+a*(C*cosh2+D*sinh2)),255*(l+a*(E*cosh2)),this.opacity)}}));function basis(t12,v0,v1,v2,v3){var t22=t12*t12,t32=t22*t12;return((1-3*t12+3*t22-t32)*v0+(4-6*t22+3*t32)*v1+(1+3*t12+3*t22-3*t32)*v2+t32*v3)/6}function basis$1(values){var n=values.length-1;return function(t){var i=t<=0?t=0:t>=1?(t=1,n-1):Math.floor(t*n),v1=values[i],v2=values[i+1],v0=i>0?values[i-1]:2*v1-v2,v3=i<n-1?values[i+2]:2*v2-v1;return basis((t-i/n)*n,v0,v1,v2,v3)}}function basisClosed(values){var n=values.length;return function(t){var i=Math.floor(((t%=1)<0?++t:t)*n),v0=values[(i+n-1)%n],v1=values[i%n],v2=values[(i+1)%n],v3=values[(i+2)%n];return basis((t-i/n)*n,v0,v1,v2,v3)}}function constant$5(x){return function(){return x}}function linear$2(a,d){return function(t){return a+t*d}}function exponential(a,b,y){return a=Math.pow(a,y),b=Math.pow(b,y)-a,y=1/y,function(t){return Math.pow(a+t*b,y)}}function hue$1(a,b){var d=b-a;return d?linear$2(a,d>180||d<-180?d-360*Math.round(d/360):d):constant$5(isNaN(a)?b:a)}function gamma(y){return(y=+y)==1?nogamma:function(a,b){return b-a?exponential(a,b,y):constant$5(isNaN(a)?b:a)}}function nogamma(a,b){var d=b-a;return d?linear$2(a,d):constant$5(isNaN(a)?b:a)}const interpolateRgb=function rgbGamma(y){var color2=gamma(y);function rgb$1(start2,end){var r=color2((start2=rgb(start2)).r,(end=rgb(end)).r),g=color2(start2.g,end.g),b=color2(start2.b,end.b),opacity=nogamma(start2.opacity,end.opacity);return function(t){return start2.r=r(t),start2.g=g(t),start2.b=b(t),start2.opacity=opacity(t),start2+""}}return rgb$1.gamma=rgbGamma,rgb$1}(1);function rgbSpline(spline){return function(colors2){var n=colors2.length,r=new Array(n),g=new Array(n),b=new Array(n),i,color2;for(i=0;i<n;++i)color2=rgb(colors2[i]),r[i]=color2.r||0,g[i]=color2.g||0,b[i]=color2.b||0;return r=spline(r),g=spline(g),b=spline(b),color2.opacity=1,function(t){return color2.r=r(t),color2.g=g(t),color2.b=b(t),color2+""}}}var rgbBasis=rgbSpline(basis$1),rgbBasisClosed=rgbSpline(basisClosed);function numberArray(a,b){b||(b=[]);var n=a?Math.min(b.length,a.length):0,c=b.slice(),i;return function(t){for(i=0;i<n;++i)c[i]=a[i]*(1-t)+b[i]*t;return c}}function isNumberArray(x){return ArrayBuffer.isView(x)&&!(x instanceof DataView)}function array$2(a,b){return(isNumberArray(b)?numberArray:genericArray)(a,b)}function genericArray(a,b){var nb=b?b.length:0,na=a?Math.min(nb,a.length):0,x=new Array(na),c=new Array(nb),i;for(i=0;i<na;++i)x[i]=interpolate$1(a[i],b[i]);for(;i<nb;++i)c[i]=b[i];return function(t){for(i=0;i<na;++i)c[i]=x[i](t);return c}}function date$1(a,b){var d=new Date;return a=+a,b=+b,function(t){return d.setTime(a*(1-t)+b*t),d}}function reinterpolate$1(a,b){return a=+a,b=+b,function(t){return a*(1-t)+b*t}}function object(a,b){var i={},c={},k;(a===null||typeof a!="object")&&(a={}),(b===null||typeof b!="object")&&(b={});for(k in b)k in a?i[k]=interpolate$1(a[k],b[k]):c[k]=b[k];return function(t){for(k in i)c[k]=i[k](t);return c}}var reA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB=new RegExp(reA.source,"g");function zero(b){return function(){return b}}function one(b){return function(t){return b(t)+""}}function interpolateString(a,b){var bi=reA.lastIndex=reB.lastIndex=0,am,bm,bs,i=-1,s=[],q=[];for(a=a+"",b=b+"";(am=reA.exec(a))&&(bm=reB.exec(b));)(bs=bm.index)>bi&&(bs=b.slice(bi,bs),s[i]?s[i]+=bs:s[++i]=bs),(am=am[0])===(bm=bm[0])?s[i]?s[i]+=bm:s[++i]=bm:(s[++i]=null,q.push({i,x:reinterpolate$1(am,bm)})),bi=reB.lastIndex;return bi<b.length&&(bs=b.slice(bi),s[i]?s[i]+=bs:s[++i]=bs),s.length<2?q[0]?one(q[0].x):zero(b):(b=q.length,function(t){for(var i2=0,o;i2<b;++i2)s[(o=q[i2]).i]=o.x(t);return s.join("")})}function interpolate$1(a,b){var t=typeof b,c;return b==null||t==="boolean"?constant$5(b):(t==="number"?reinterpolate$1:t==="string"?(c=color(b))?(b=c,interpolateRgb):interpolateString:b instanceof color?interpolateRgb:b instanceof Date?date$1:isNumberArray(b)?numberArray:Array.isArray(b)?genericArray:typeof b.valueOf!="function"&&typeof b.toString!="function"||isNaN(b)?object:reinterpolate$1)(a,b)}function discrete(range){var n=range.length;return function(t){return range[Math.max(0,Math.min(n-1,Math.floor(t*n)))]}}function hue(a,b){var i=hue$1(+a,+b);return function(t){var x=i(t);return x-360*Math.floor(x/360)}}function interpolateRound(a,b){return a=+a,b=+b,function(t){return Math.round(a*(1-t)+b*t)}}var degrees=180/Math.PI,identity$4={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function decompose(a,b,c,d,e,f){var scaleX,scaleY,skewX;return(scaleX=Math.sqrt(a*a+b*b))&&(a/=scaleX,b/=scaleX),(skewX=a*c+b*d)&&(c-=a*skewX,d-=b*skewX),(scaleY=Math.sqrt(c*c+d*d))&&(c/=scaleY,d/=scaleY,skewX/=scaleY),a*d<b*c&&(a=-a,b=-b,skewX=-skewX,scaleX=-scaleX),{translateX:e,translateY:f,rotate:Math.atan2(b,a)*degrees,skewX:Math.atan(skewX)*degrees,scaleX,scaleY}}var cssNode,cssRoot,cssView,svgNode;function parseCss(value){return value==="none"?identity$4:(cssNode||(cssNode=document.createElement("DIV"),cssRoot=document.documentElement,cssView=document.defaultView),cssNode.style.transform=value,value=cssView.getComputedStyle(cssRoot.appendChild(cssNode),null).getPropertyValue("transform"),cssRoot.removeChild(cssNode),value=value.slice(7,-1).split(","),decompose(+value[0],+value[1],+value[2],+value[3],+value[4],+value[5]))}function parseSvg(value){return value==null||(svgNode||(svgNode=document.createElementNS("http://www.w3.org/2000/svg","g")),svgNode.setAttribute("transform",value),!(value=svgNode.transform.baseVal.consolidate()))?identity$4:(value=value.matrix,decompose(value.a,value.b,value.c,value.d,value.e,value.f))}function interpolateTransform(parse,pxComma,pxParen,degParen){function pop(s){return s.length?s.pop()+" ":""}function translate(xa,ya,xb,yb,s,q){if(xa!==xb||ya!==yb){var i=s.push("translate(",null,pxComma,null,pxParen);q.push({i:i-4,x:reinterpolate$1(xa,xb)},{i:i-2,x:reinterpolate$1(ya,yb)})}else(xb||yb)&&s.push("translate("+xb+pxComma+yb+pxParen)}function rotate(a,b,s,q){a!==b?(a-b>180?b+=360:b-a>180&&(a+=360),q.push({i:s.push(pop(s)+"rotate(",null,degParen)-2,x:reinterpolate$1(a,b)})):b&&s.push(pop(s)+"rotate("+b+degParen)}function skewX(a,b,s,q){a!==b?q.push({i:s.push(pop(s)+"skewX(",null,degParen)-2,x:reinterpolate$1(a,b)}):b&&s.push(pop(s)+"skewX("+b+degParen)}function scale(xa,ya,xb,yb,s,q){if(xa!==xb||ya!==yb){var i=s.push(pop(s)+"scale(",null,",",null,")");q.push({i:i-4,x:reinterpolate$1(xa,xb)},{i:i-2,x:reinterpolate$1(ya,yb)})}else(xb!==1||yb!==1)&&s.push(pop(s)+"scale("+xb+","+yb+")")}return function(a,b){var s=[],q=[];return a=parse(a),b=parse(b),translate(a.translateX,a.translateY,b.translateX,b.translateY,s,q),rotate(a.rotate,b.rotate,s,q),skewX(a.skewX,b.skewX,s,q),scale(a.scaleX,a.scaleY,b.scaleX,b.scaleY,s,q),a=b=null,function(t){for(var i=-1,n=q.length,o;++i<n;)s[(o=q[i]).i]=o.x(t);return s.join("")}}}var interpolateTransformCss=interpolateTransform(parseCss,"px, ","px)","deg)"),interpolateTransformSvg=interpolateTransform(parseSvg,", ",")",")"),rho=Math.SQRT2,rho2=2,rho4=4,epsilon2=1e-12;function cosh(x){return((x=Math.exp(x))+1/x)/2}function sinh(x){return((x=Math.exp(x))-1/x)/2}function tanh(x){return((x=Math.exp(2*x))-1)/(x+1)}function interpolateZoom(p0,p1){var ux0=p0[0],uy0=p0[1],w0=p0[2],ux1=p1[0],uy1=p1[1],w1=p1[2],dx=ux1-ux0,dy=uy1-uy0,d2=dx*dx+dy*dy,i,S;if(d2<epsilon2)S=Math.log(w1/w0)/rho,i=function(t){return[ux0+t*dx,uy0+t*dy,w0*Math.exp(rho*t*S)]};else{var d1=Math.sqrt(d2),b02=(w1*w1-w0*w0+rho4*d2)/(2*w0*rho2*d1),b12=(w1*w1-w0*w0-rho4*d2)/(2*w1*rho2*d1),r0=Math.log(Math.sqrt(b02*b02+1)-b02),r1=Math.log(Math.sqrt(b12*b12+1)-b12);S=(r1-r0)/rho,i=function(t){var s=t*S,coshr0=cosh(r0),u=w0/(rho2*d1)*(coshr0*tanh(rho*s+r0)-sinh(r0));return[ux0+u*dx,uy0+u*dy,w0*coshr0/cosh(rho*s+r0)]}}return i.duration=S*1e3,i}function hsl(hue2){return function(start2,end){var h=hue2((start2=hsl$2(start2)).h,(end=hsl$2(end)).h),s=nogamma(start2.s,end.s),l=nogamma(start2.l,end.l),opacity=nogamma(start2.opacity,end.opacity);return function(t){return start2.h=h(t),start2.s=s(t),start2.l=l(t),start2.opacity=opacity(t),start2+""}}}const hsl$1=hsl(hue$1);var hslLong=hsl(nogamma);function lab(start2,end){var l=nogamma((start2=lab$1(start2)).l,(end=lab$1(end)).l),a=nogamma(start2.a,end.a),b=nogamma(start2.b,end.b),opacity=nogamma(start2.opacity,end.opacity);return function(t){return start2.l=l(t),start2.a=a(t),start2.b=b(t),start2.opacity=opacity(t),start2+""}}function hcl(hue2){return function(start2,end){var h=hue2((start2=hcl$2(start2)).h,(end=hcl$2(end)).h),c=nogamma(start2.c,end.c),l=nogamma(start2.l,end.l),opacity=nogamma(start2.opacity,end.opacity);return function(t){return start2.h=h(t),start2.c=c(t),start2.l=l(t),start2.opacity=opacity(t),start2+""}}}const hcl$1=hcl(hue$1);var hclLong=hcl(nogamma);function cubehelix$1(hue2){return function cubehelixGamma(y){y=+y;function cubehelix2(start2,end){var h=hue2((start2=cubehelix$3(start2)).h,(end=cubehelix$3(end)).h),s=nogamma(start2.s,end.s),l=nogamma(start2.l,end.l),opacity=nogamma(start2.opacity,end.opacity);return function(t){return start2.h=h(t),start2.s=s(t),start2.l=l(Math.pow(t,y)),start2.opacity=opacity(t),start2+""}}return cubehelix2.gamma=cubehelixGamma,cubehelix2}(1)}const cubehelix$2=cubehelix$1(hue$1);var cubehelixLong=cubehelix$1(nogamma);function piecewise(interpolate2,values){for(var i=0,n=values.length-1,v=values[0],I=new Array(n<0?0:n);i<n;)I[i]=interpolate2(v,v=values[++i]);return function(t){var i2=Math.max(0,Math.min(n-1,Math.floor(t*=n)));return I[i2](t-i2)}}function quantize$1(interpolator,n){for(var samples=new Array(n),i=0;i<n;++i)samples[i]=interpolator(i/(n-1));return samples}function tweenRemove(id2,name){var tween0,tween1;return function(){var schedule2=set$1(this,id2),tween=schedule2.tween;if(tween!==tween0){tween1=tween0=tween;for(var i=0,n=tween1.length;i<n;++i)if(tween1[i].name===name){tween1=tween1.slice(),tween1.splice(i,1);break}}schedule2.tween=tween1}}function tweenFunction(id2,name,value){var tween0,tween1;if(typeof value!="function")throw new Error;return function(){var schedule2=set$1(this,id2),tween=schedule2.tween;if(tween!==tween0){tween1=(tween0=tween).slice();for(var t={name,value},i=0,n=tween1.length;i<n;++i)if(tween1[i].name===name){tween1[i]=t;break}i===n&&tween1.push(t)}schedule2.tween=tween1}}function transition_tween(name,value){var id2=this._id;if(name+="",arguments.length<2){for(var tween=get(this.node(),id2).tween,i=0,n=tween.length,t;i<n;++i)if((t=tween[i]).name===name)return t.value;return null}return this.each((value==null?tweenRemove:tweenFunction)(id2,name,value))}function tweenValue(transition2,name,value){var id2=transition2._id;return transition2.each(function(){var schedule2=set$1(this,id2);(schedule2.value||(schedule2.value={}))[name]=value.apply(this,arguments)}),function(node){return get(node,id2).value[name]}}function interpolate(a,b){var c;return(typeof b=="number"?reinterpolate$1:b instanceof color?interpolateRgb:(c=color(b))?(b=c,interpolateRgb):interpolateString)(a,b)}function attrRemove(name){return function(){this.removeAttribute(name)}}function attrRemoveNS(fullname){return function(){this.removeAttributeNS(fullname.space,fullname.local)}}function attrConstant(name,interpolate2,value1){var string00,string1=value1+"",interpolate0;return function(){var string0=this.getAttribute(name);return string0===string1?null:string0===string00?interpolate0:interpolate0=interpolate2(string00=string0,value1)}}function attrConstantNS(fullname,interpolate2,value1){var string00,string1=value1+"",interpolate0;return function(){var string0=this.getAttributeNS(fullname.space,fullname.local);return string0===string1?null:string0===string00?interpolate0:interpolate0=interpolate2(string00=string0,value1)}}function attrFunction(name,interpolate2,value){var string00,string10,interpolate0;return function(){var string0,value1=value(this),string1;return value1==null?void this.removeAttribute(name):(string0=this.getAttribute(name),string1=value1+"",string0===string1?null:string0===string00&&string1===string10?interpolate0:(string10=string1,interpolate0=interpolate2(string00=string0,value1)))}}function attrFunctionNS(fullname,interpolate2,value){var string00,string10,interpolate0;return function(){var string0,value1=value(this),string1;return value1==null?void this.removeAttributeNS(fullname.space,fullname.local):(string0=this.getAttributeNS(fullname.space,fullname.local),string1=value1+"",string0===string1?null:string0===string00&&string1===string10?interpolate0:(string10=string1,interpolate0=interpolate2(string00=string0,value1)))}}function transition_attr(name,value){var fullname=namespace(name),i=fullname==="transform"?interpolateTransformSvg:interpolate;return this.attrTween(name,typeof value=="function"?(fullname.local?attrFunctionNS:attrFunction)(fullname,i,tweenValue(this,"attr."+name,value)):value==null?(fullname.local?attrRemoveNS:attrRemove)(fullname):(fullname.local?attrConstantNS:attrConstant)(fullname,i,value))}function attrInterpolate(name,i){return function(t){this.setAttribute(name,i.call(this,t))}}function attrInterpolateNS(fullname,i){return function(t){this.setAttributeNS(fullname.space,fullname.local,i.call(this,t))}}function attrTweenNS(fullname,value){var t02,i0;function tween(){var i=value.apply(this,arguments);return i!==i0&&(t02=(i0=i)&&attrInterpolateNS(fullname,i)),t02}return tween._value=value,tween}function attrTween(name,value){var t02,i0;function tween(){var i=value.apply(this,arguments);return i!==i0&&(t02=(i0=i)&&attrInterpolate(name,i)),t02}return tween._value=value,tween}function transition_attrTween(name,value){var key="attr."+name;if(arguments.length<2)return(key=this.tween(key))&&key._value;if(value==null)return this.tween(key,null);if(typeof value!="function")throw new Error;var fullname=namespace(name);return this.tween(key,(fullname.local?attrTweenNS:attrTween)(fullname,value))}function delayFunction(id2,value){return function(){init(this,id2).delay=+value.apply(this,arguments)}}function delayConstant(id2,value){return value=+value,function(){init(this,id2).delay=value}}function transition_delay(value){var id2=this._id;return arguments.length?this.each((typeof value=="function"?delayFunction:delayConstant)(id2,value)):get(this.node(),id2).delay}function durationFunction(id2,value){return function(){set$1(this,id2).duration=+value.apply(this,arguments)}}function durationConstant(id2,value){return value=+value,function(){set$1(this,id2).duration=value}}function transition_duration(value){var id2=this._id;return arguments.length?this.each((typeof value=="function"?durationFunction:durationConstant)(id2,value)):get(this.node(),id2).duration}function easeConstant(id2,value){if(typeof value!="function")throw new Error;return function(){set$1(this,id2).ease=value}}function transition_ease(value){var id2=this._id;return arguments.length?this.each(easeConstant(id2,value)):get(this.node(),id2).ease}function transition_filter(match){typeof match!="function"&&(match=matcher(match));for(var groups=this._groups,m=groups.length,subgroups=new Array(m),j=0;j<m;++j)for(var group=groups[j],n=group.length,subgroup=subgroups[j]=[],node,i=0;i<n;++i)(node=group[i])&&match.call(node,node.__data__,i,group)&&subgroup.push(node);return new Transition$1(subgroups,this._parents,this._name,this._id)}function transition_merge(transition2){if(transition2._id!==this._id)throw new Error;for(var groups0=this._groups,groups1=transition2._groups,m0=groups0.length,m1=groups1.length,m=Math.min(m0,m1),merges=new Array(m0),j=0;j<m;++j)for(var group0=groups0[j],group1=groups1[j],n=group0.length,merge2=merges[j]=new Array(n),node,i=0;i<n;++i)(node=group0[i]||group1[i])&&(merge2[i]=node);for(;j<m0;++j)merges[j]=groups0[j];return new Transition$1(merges,this._parents,this._name,this._id)}function start(name){return(name+"").trim().split(/^|\s+/).every(function(t){var i=t.indexOf(".");return i>=0&&(t=t.slice(0,i)),!t||t==="start"})}function onFunction(id2,name,listener){var on0,on1,sit=start(name)?init:set$1;return function(){var schedule2=sit(this,id2),on=schedule2.on;on!==on0&&(on1=(on0=on).copy()).on(name,listener),schedule2.on=on1}}function transition_on(name,listener){var id2=this._id;return arguments.length<2?get(this.node(),id2).on.on(name):this.each(onFunction(id2,name,listener))}function removeFunction(id2){return function(){var parent=this.parentNode;for(var i in this.__transition)if(+i!==id2)return;parent&&parent.removeChild(this)}}function transition_remove(){return this.on("end.remove",removeFunction(this._id))}function transition_select(select2){var name=this._name,id2=this._id;typeof select2!="function"&&(select2=selector(select2));for(var groups=this._groups,m=groups.length,subgroups=new Array(m),j=0;j<m;++j)for(var group=groups[j],n=group.length,subgroup=subgroups[j]=new Array(n),node,subnode,i=0;i<n;++i)(node=group[i])&&(subnode=select2.call(node,node.__data__,i,group))&&("__data__"in node&&(subnode.__data__=node.__data__),subgroup[i]=subnode,schedule(subgroup[i],name,id2,i,subgroup,get(node,id2)));return new Transition$1(subgroups,this._parents,name,id2)}function transition_selectAll(select2){var name=this._name,id2=this._id;typeof select2!="function"&&(select2=selectorAll(select2));for(var groups=this._groups,m=groups.length,subgroups=[],parents=[],j=0;j<m;++j)for(var group=groups[j],n=group.length,node,i=0;i<n;++i)if(node=group[i]){for(var children=select2.call(node,node.__data__,i,group),child,inherit2=get(node,id2),k=0,l=children.length;k<l;++k)(child=children[k])&&schedule(child,name,id2,k,children,inherit2);subgroups.push(children),parents.push(node)}return new Transition$1(subgroups,parents,name,id2)}var Selection$1=selection.prototype.constructor;function transition_selection(){return new Selection$1(this._groups,this._parents)}function styleNull(name,interpolate2){var string00,string10,interpolate0;return function(){var string0=styleValue(this,name),string1=(this.style.removeProperty(name),styleValue(this,name));return string0===string1?null:string0===string00&&string1===string10?interpolate0:interpolate0=interpolate2(string00=string0,string10=string1)}}function styleRemove(name){return function(){this.style.removeProperty(name)}}function styleConstant(name,interpolate2,value1){var string00,string1=value1+"",interpolate0;return function(){var string0=styleValue(this,name);return string0===string1?null:string0===string00?interpolate0:interpolate0=interpolate2(string00=string0,value1)}}function styleFunction(name,interpolate2,value){var string00,string10,interpolate0;return function(){var string0=styleValue(this,name),value1=value(this),string1=value1+"";return value1==null&&(string1=value1=(this.style.removeProperty(name),styleValue(this,name))),string0===string1?null:string0===string00&&string1===string10?interpolate0:(string10=string1,interpolate0=interpolate2(string00=string0,value1))}}function styleMaybeRemove(id2,name){var on0,on1,listener0,key="style."+name,event="end."+key,remove2;return function(){var schedule2=set$1(this,id2),on=schedule2.on,listener=schedule2.value[key]==null?remove2||(remove2=styleRemove(name)):void 0;(on!==on0||listener0!==listener)&&(on1=(on0=on).copy()).on(event,listener0=listener),schedule2.on=on1}}function transition_style(name,value,priority){var i=(name+="")=="transform"?interpolateTransformCss:interpolate;return value==null?this.styleTween(name,styleNull(name,i)).on("end.style."+name,styleRemove(name)):typeof value=="function"?this.styleTween(name,styleFunction(name,i,tweenValue(this,"style."+name,value))).each(styleMaybeRemove(this._id,name)):this.styleTween(name,styleConstant(name,i,value),priority).on("end.style."+name,null)}function styleInterpolate(name,i,priority){return function(t){this.style.setProperty(name,i.call(this,t),priority)}}function styleTween(name,value,priority){var t,i0;function tween(){var i=value.apply(this,arguments);return i!==i0&&(t=(i0=i)&&styleInterpolate(name,i,priority)),t}return tween._value=value,tween}function transition_styleTween(name,value,priority){var key="style."+(name+="");if(arguments.length<2)return(key=this.tween(key))&&key._value;if(value==null)return this.tween(key,null);if(typeof value!="function")throw new Error;return this.tween(key,styleTween(name,value,priority??""))}function textConstant(value){return function(){this.textContent=value}}function textFunction(value){return function(){var value1=value(this);this.textContent=value1??""}}function transition_text(value){return this.tween("text",typeof value=="function"?textFunction(tweenValue(this,"text",value)):textConstant(value==null?"":value+""))}function textInterpolate(i){return function(t){this.textContent=i.call(this,t)}}function textTween(value){var t02,i0;function tween(){var i=value.apply(this,arguments);return i!==i0&&(t02=(i0=i)&&textInterpolate(i)),t02}return tween._value=value,tween}function transition_textTween(value){var key="text";if(arguments.length<1)return(key=this.tween(key))&&key._value;if(value==null)return this.tween(key,null);if(typeof value!="function")throw new Error;return this.tween(key,textTween(value))}function transition_transition(){for(var name=this._name,id0=this._id,id1=newId(),groups=this._groups,m=groups.length,j=0;j<m;++j)for(var group=groups[j],n=group.length,node,i=0;i<n;++i)if(node=group[i]){var inherit2=get(node,id0);schedule(node,name,id1,i,group,{time:inherit2.time+inherit2.delay+inherit2.duration,delay:0,duration:inherit2.duration,ease:inherit2.ease})}return new Transition$1(groups,this._parents,name,id1)}function transition_end(){var on0,on1,that=this,id2=that._id,size=that.size();return new Promise(function(resolve,reject){var cancel={value:reject},end={value:function(){--size===0&&resolve()}};that.each(function(){var schedule2=set$1(this,id2),on=schedule2.on;on!==on0&&(on1=(on0=on).copy(),on1._.cancel.push(cancel),on1._.interrupt.push(cancel),on1._.end.push(end)),schedule2.on=on1})})}var id=0;function Transition$1(groups,parents,name,id2){this._groups=groups,this._parents=parents,this._name=name,this._id=id2}function transition(name){return selection().transition(name)}function newId(){return++id}var selection_prototype=selection.prototype;Transition$1.prototype=transition.prototype={constructor:Transition$1,select:transition_select,selectAll:transition_selectAll,filter:transition_filter,merge:transition_merge,selection:transition_selection,transition:transition_transition,call:selection_prototype.call,nodes:selection_prototype.nodes,node:selection_prototype.node,size:selection_prototype.size,empty:selection_prototype.empty,each:selection_prototype.each,on:transition_on,attr:transition_attr,attrTween:transition_attrTween,style:transition_style,styleTween:transition_styleTween,text:transition_text,textTween:transition_textTween,remove:transition_remove,tween:transition_tween,delay:transition_delay,duration:transition_duration,ease:transition_ease,end:transition_end};function linear$1(t){return+t}function quadIn(t){return t*t}function quadOut(t){return t*(2-t)}function quadInOut(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function cubicIn(t){return t*t*t}function cubicOut(t){return--t*t*t+1}function cubicInOut(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var exponent$1=3,polyIn=function custom(e){e=+e;function polyIn2(t){return Math.pow(t,e)}return polyIn2.exponent=custom,polyIn2}(exponent$1),polyOut=function custom(e){e=+e;function polyOut2(t){return 1-Math.pow(1-t,e)}return polyOut2.exponent=custom,polyOut2}(exponent$1),polyInOut=function custom(e){e=+e;function polyInOut2(t){return((t*=2)<=1?Math.pow(t,e):2-Math.pow(2-t,e))/2}return polyInOut2.exponent=custom,polyInOut2}(exponent$1),pi=Math.PI,halfPi=pi/2;function sinIn(t){return+t==1?1:1-Math.cos(t*halfPi)}function sinOut(t){return Math.sin(t*halfPi)}function sinInOut(t){return(1-Math.cos(pi*t))/2}function tpmt(x){return(Math.pow(2,-10*x)-.0009765625)*1.0009775171065494}function expIn(t){return tpmt(1-+t)}function expOut(t){return 1-tpmt(t)}function expInOut(t){return((t*=2)<=1?tpmt(1-t):2-tpmt(t-1))/2}function circleIn(t){return 1-Math.sqrt(1-t*t)}function circleOut(t){return Math.sqrt(1- --t*t)}function circleInOut(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}var b1=4/11,b2=6/11,b3=8/11,b4=3/4,b5=9/11,b6=10/11,b7=15/16,b8=21/22,b9=63/64,b0=1/b1/b1;function bounceIn(t){return 1-bounceOut(1-t)}function bounceOut(t){return(t=+t)<b1?b0*t*t:t<b3?b0*(t-=b2)*t+b4:t<b6?b0*(t-=b5)*t+b7:b0*(t-=b8)*t+b9}function bounceInOut(t){return((t*=2)<=1?1-bounceOut(1-t):bounceOut(t-1)+1)/2}var overshoot=1.70158,backIn=function custom(s){s=+s;function backIn2(t){return(t=+t)*t*(s*(t-1)+t)}return backIn2.overshoot=custom,backIn2}(overshoot),backOut=function custom(s){s=+s;function backOut2(t){return--t*t*((t+1)*s+t)+1}return backOut2.overshoot=custom,backOut2}(overshoot),backInOut=function custom(s){s=+s;function backInOut2(t){return((t*=2)<1?t*t*((s+1)*t-s):(t-=2)*t*((s+1)*t+s)+2)/2}return backInOut2.overshoot=custom,backInOut2}(overshoot),tau=2*Math.PI,amplitude=1,period=.3,elasticIn=function custom(a,p){var s=Math.asin(1/(a=Math.max(1,a)))*(p/=tau);function elasticIn2(t){return a*tpmt(- --t)*Math.sin((s-t)/p)}return elasticIn2.amplitude=function(a2){return custom(a2,p*tau)},elasticIn2.period=function(p2){return custom(a,p2)},elasticIn2}(amplitude,period),elasticOut=function custom(a,p){var s=Math.asin(1/(a=Math.max(1,a)))*(p/=tau);function elasticOut2(t){return 1-a*tpmt(t=+t)*Math.sin((t+s)/p)}return elasticOut2.amplitude=function(a2){return custom(a2,p*tau)},elasticOut2.period=function(p2){return custom(a,p2)},elasticOut2}(amplitude,period),elasticInOut=function custom(a,p){var s=Math.asin(1/(a=Math.max(1,a)))*(p/=tau);function elasticInOut2(t){return((t=t*2-1)<0?a*tpmt(-t)*Math.sin((s-t)/p):2-a*tpmt(t)*Math.sin((s+t)/p))/2}return elasticInOut2.amplitude=function(a2){return custom(a2,p*tau)},elasticInOut2.period=function(p2){return custom(a,p2)},elasticInOut2}(amplitude,period),defaultTiming={time:null,delay:0,duration:250,ease:cubicInOut};function inherit(node,id2){for(var timing;!(timing=node.__transition)||!(timing=timing[id2]);)if(!(node=node.parentNode))return defaultTiming.time=now$1(),defaultTiming;return timing}function selection_transition(name){var id2,timing;name instanceof Transition$1?(id2=name._id,name=name._name):(id2=newId(),(timing=defaultTiming).time=now$1(),name=name==null?null:name+"");for(var groups=this._groups,m=groups.length,j=0;j<m;++j)for(var group=groups[j],n=group.length,node,i=0;i<n;++i)(node=group[i])&&schedule(node,name,id2,i,group,timing||inherit(node,id2));return new Transition$1(groups,this._parents,name,id2)}selection.prototype.interrupt=selection_interrupt,selection.prototype.transition=selection_transition;var root=[null];function active(node,name){var schedules=node.__transition,schedule2,i;if(schedules){name=name==null?null:name+"";for(i in schedules)if((schedule2=schedules[i]).state>SCHEDULED&&schedule2.name===name)return new Transition$1([[node]],root,name,+i)}return null}function ascending(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}function bisector(compare){return compare.length===1&&(compare=ascendingComparator(compare)),{left:function(a,x,lo,hi){for(lo==null&&(lo=0),hi==null&&(hi=a.length);lo<hi;){var mid=lo+hi>>>1;compare(a[mid],x)<0?lo=mid+1:hi=mid}return lo},right:function(a,x,lo,hi){for(lo==null&&(lo=0),hi==null&&(hi=a.length);lo<hi;){var mid=lo+hi>>>1;compare(a[mid],x)>0?hi=mid:lo=mid+1}return lo}}}function ascendingComparator(f){return function(d,x){return ascending(f(d),x)}}var ascendingBisect=bisector(ascending),bisectRight=ascendingBisect.right,bisectLeft=ascendingBisect.left;function pairs(array2,f){f==null&&(f=pair);for(var i=0,n=array2.length-1,p=array2[0],pairs2=new Array(n<0?0:n);i<n;)pairs2[i]=f(p,p=array2[++i]);return pairs2}function pair(a,b){return[a,b]}function cross(values0,values1,reduce){var n0=values0.length,n1=values1.length,values=new Array(n0*n1),i0,i1,i,value0;for(reduce==null&&(reduce=pair),i0=i=0;i0<n0;++i0)for(value0=values0[i0],i1=0;i1<n1;++i1,++i)values[i]=reduce(value0,values1[i1]);return values}function d3Descending(a,b){return b<a?-1:b>a?1:b>=a?0:NaN}function number$2(x){return x===null?NaN:+x}function d3Variance(values,valueof){var n=values.length,m=0,i=-1,mean=0,value,delta,sum=0;if(valueof==null)for(;++i<n;)isNaN(value=number$2(values[i]))||(delta=value-mean,mean+=delta/++m,sum+=delta*(value-mean));else for(;++i<n;)isNaN(value=number$2(valueof(values[i],i,values)))||(delta=value-mean,mean+=delta/++m,sum+=delta*(value-mean));if(m>1)return sum/(m-1)}function d3Deviation(array2,f){var v=d3Variance(array2,f);return v&&Math.sqrt(v)}function extent(values,valueof){var n=values.length,i=-1,value,min,max;if(valueof==null){for(;++i<n;)if((value=values[i])!=null&&value>=value)for(min=max=value;++i<n;)(value=values[i])!=null&&(min>value&&(min=value),max<value&&(max=value))}else for(;++i<n;)if((value=valueof(values[i],i,values))!=null&&value>=value)for(min=max=value;++i<n;)(value=valueof(values[i],i,values))!=null&&(min>value&&(min=value),max<value&&(max=value));return[min,max]}var array$1=Array.prototype,slice$1=array$1.slice,map$3=array$1.map;function constant$4(x){return function(){return x}}function identity$3(x){return x}function sequence(start2,stop,step){start2=+start2,stop=+stop,step=(n=arguments.length)<2?(stop=start2,start2=0,1):n<3?1:+step;for(var i=-1,n=Math.max(0,Math.ceil((stop-start2)/step))|0,range=new Array(n);++i<n;)range[i]=start2+i*step;return range}var e10=Math.sqrt(50),e5=Math.sqrt(10),e2=Math.sqrt(2);function ticks(start2,stop,count){var reverse,i=-1,n,ticks2,step;if(stop=+stop,start2=+start2,count=+count,start2===stop&&count>0)return[start2];if((reverse=stop<start2)&&(n=start2,start2=stop,stop=n),(step=tickIncrement(start2,stop,count))===0||!isFinite(step))return[];if(step>0)for(start2=Math.ceil(start2/step),stop=Math.floor(stop/step),ticks2=new Array(n=Math.ceil(stop-start2+1));++i<n;)ticks2[i]=(start2+i)*step;else for(start2=Math.floor(start2*step),stop=Math.ceil(stop*step),ticks2=new Array(n=Math.ceil(start2-stop+1));++i<n;)ticks2[i]=(start2-i)/step;return reverse&&ticks2.reverse(),ticks2}function tickIncrement(start2,stop,count){var step=(stop-start2)/Math.max(0,count),power=Math.floor(Math.log(step)/Math.LN10),error=step/Math.pow(10,power);return power>=0?(error>=e10?10:error>=e5?5:error>=e2?2:1)*Math.pow(10,power):-Math.pow(10,-power)/(error>=e10?10:error>=e5?5:error>=e2?2:1)}function tickStep(start2,stop,count){var step0=Math.abs(stop-start2)/Math.max(0,count),step1=Math.pow(10,Math.floor(Math.log(step0)/Math.LN10)),error=step0/step1;return error>=e10?step1*=10:error>=e5?step1*=5:error>=e2&&(step1*=2),stop<start2?-step1:step1}function sturges(values){return Math.ceil(Math.log(values.length)/Math.LN2)+1}function histogram(){var value=identity$3,domain=extent,threshold2=sturges;function histogram2(data){var i,n=data.length,x,values=new Array(n);for(i=0;i<n;++i)values[i]=value(data[i],i,data);var xz=domain(values),x0=xz[0],x1=xz[1],tz=threshold2(values,x0,x1);Array.isArray(tz)||(tz=tickStep(x0,x1,tz),tz=sequence(Math.ceil(x0/tz)*tz,x1,tz));for(var m=tz.length;tz[0]<=x0;)tz.shift(),--m;for(;tz[m-1]>x1;)tz.pop(),--m;var bins=new Array(m+1),bin;for(i=0;i<=m;++i)bin=bins[i]=[],bin.x0=i>0?tz[i-1]:x0,bin.x1=i<m?tz[i]:x1;for(i=0;i<n;++i)x=values[i],x0<=x&&x<=x1&&bins[bisectRight(tz,x,0,m)].push(data[i]);return bins}return histogram2.value=function(_){return arguments.length?(value=typeof _=="function"?_:constant$4(_),histogram2):value},histogram2.domain=function(_){return arguments.length?(domain=typeof _=="function"?_:constant$4([_[0],_[1]]),histogram2):domain},histogram2.thresholds=function(_){return arguments.length?(threshold2=typeof _=="function"?_:Array.isArray(_)?constant$4(slice$1.call(_)):constant$4(_),histogram2):threshold2},histogram2}function threshold$1(values,p,valueof){if(valueof==null&&(valueof=number$2),!!(n=values.length)){if((p=+p)<=0||n<2)return+valueof(values[0],0,values);if(p>=1)return+valueof(values[n-1],n-1,values);var n,i=(n-1)*p,i0=Math.floor(i),value0=+valueof(values[i0],i0,values),value1=+valueof(values[i0+1],i0+1,values);return value0+(value1-value0)*(i-i0)}}function freedmanDiaconis(values,min,max){return values=map$3.call(values,number$2).sort(ascending),Math.ceil((max-min)/(2*(threshold$1(values,.75)-threshold$1(values,.25))*Math.pow(values.length,-1/3)))}function scott(values,min,max){return Math.ceil((max-min)/(3.5*d3Deviation(values)*Math.pow(values.length,-1/3)))}function d3Max(values,valueof){var n=values.length,i=-1,value,max;if(valueof==null){for(;++i<n;)if((value=values[i])!=null&&value>=value)for(max=value;++i<n;)(value=values[i])!=null&&value>max&&(max=value)}else for(;++i<n;)if((value=valueof(values[i],i,values))!=null&&value>=value)for(max=value;++i<n;)(value=valueof(values[i],i,values))!=null&&value>max&&(max=value);return max}function d3Mean(values,valueof){var n=values.length,m=n,i=-1,value,sum=0;if(valueof==null)for(;++i<n;)isNaN(value=number$2(values[i]))?--m:sum+=value;else for(;++i<n;)isNaN(value=number$2(valueof(values[i],i,values)))?--m:sum+=value;if(m)return sum/m}function d3Median(values,valueof){var n=values.length,i=-1,value,numbers=[];if(valueof==null)for(;++i<n;)isNaN(value=number$2(values[i]))||numbers.push(value);else for(;++i<n;)isNaN(value=number$2(valueof(values[i],i,values)))||numbers.push(value);return threshold$1(numbers.sort(ascending),.5)}function merge(arrays){for(var n=arrays.length,m,i=-1,j=0,merged,array2;++i<n;)j+=arrays[i].length;for(merged=new Array(j);--n>=0;)for(array2=arrays[n],m=array2.length;--m>=0;)merged[--j]=array2[m];return merged}function d3Min(values,valueof){var n=values.length,i=-1,value,min;if(valueof==null){for(;++i<n;)if((value=values[i])!=null&&value>=value)for(min=value;++i<n;)(value=values[i])!=null&&min>value&&(min=value)}else for(;++i<n;)if((value=valueof(values[i],i,values))!=null&&value>=value)for(min=value;++i<n;)(value=valueof(values[i],i,values))!=null&&min>value&&(min=value);return min}function permute(array2,indexes){for(var i=indexes.length,permutes=new Array(i);i--;)permutes[i]=array2[indexes[i]];return permutes}function scan(values,compare){if(n=values.length){var n,i=0,j=0,xi,xj=values[j];for(compare==null&&(compare=ascending);++i<n;)(compare(xi=values[i],xj)<0||compare(xj,xj)!==0)&&(xj=xi,j=i);if(compare(xj,xj)===0)return j}}function shuffle(array2,i0,i1){for(var m=(i1??array2.length)-(i0=i0==null?0:+i0),t,i;m;)i=Math.random()*m--|0,t=array2[m+i0],array2[m+i0]=array2[i+i0],array2[i+i0]=t;return array2}function d3Sum(values,valueof){var n=values.length,i=-1,value,sum=0;if(valueof==null)for(;++i<n;)(value=+values[i])&&(sum+=value);else for(;++i<n;)(value=+valueof(values[i],i,values))&&(sum+=value);return sum}function transpose(matrix){if(!(n=matrix.length))return[];for(var i=-1,m=d3Min(matrix,length),transpose2=new Array(m);++i<m;)for(var j=-1,n,row=transpose2[i]=new Array(n);++j<n;)row[j]=matrix[j][i];return transpose2}function length(d){return d.length}function zip(){return transpose(arguments)}var prefix="$";function Map(){}Map.prototype=map$2.prototype={constructor:Map,has:function(key){return prefix+key in this},get:function(key){return this[prefix+key]},set:function(key,value){return this[prefix+key]=value,this},remove:function(key){var property=prefix+key;return property in this&&delete this[property]},clear:function(){for(var property in this)property[0]===prefix&&delete this[property]},keys:function(){var keys2=[];for(var property in this)property[0]===prefix&&keys2.push(property.slice(1));return keys2},values:function(){var values=[];for(var property in this)property[0]===prefix&&values.push(this[property]);return values},entries:function(){var entries2=[];for(var property in this)property[0]===prefix&&entries2.push({key:property.slice(1),value:this[property]});return entries2},size:function(){var size=0;for(var property in this)property[0]===prefix&&++size;return size},empty:function(){for(var property in this)if(property[0]===prefix)return!1;return!0},each:function(f){for(var property in this)property[0]===prefix&&f(this[property],property.slice(1),this)}};function map$2(object2,f){var map2=new Map;if(object2 instanceof Map)object2.each(function(value,key2){map2.set(key2,value)});else if(Array.isArray(object2)){var i=-1,n=object2.length,o;if(f==null)for(;++i<n;)map2.set(i,object2[i]);else for(;++i<n;)map2.set(f(o=object2[i],i,object2),o)}else if(object2)for(var key in object2)map2.set(key,object2[key]);return map2}function d3Nest(){var keys2=[],sortKeys=[],sortValues,rollup,nest;function apply(array2,depth,createResult,setResult){if(depth>=keys2.length)return sortValues!=null&&array2.sort(sortValues),rollup!=null?rollup(array2):array2;for(var i=-1,n=array2.length,key=keys2[depth++],keyValue,value,valuesByKey=map$2(),values,result=createResult();++i<n;)(values=valuesByKey.get(keyValue=key(value=array2[i])+""))?values.push(value):valuesByKey.set(keyValue,[value]);return valuesByKey.each(function(values2,key2){setResult(result,key2,apply(values2,depth,createResult,setResult))}),result}function entries2(map2,depth){if(++depth>keys2.length)return map2;var array2,sortKey=sortKeys[depth-1];return rollup!=null&&depth>=keys2.length?array2=map2.entries():(array2=[],map2.each(function(v,k){array2.push({key:k,values:entries2(v,depth)})})),sortKey!=null?array2.sort(function(a,b){return sortKey(a.key,b.key)}):array2}return nest={object:function(array2){return apply(array2,0,createObject,setObject)},map:function(array2){return apply(array2,0,createMap,setMap)},entries:function(array2){return entries2(apply(array2,0,createMap,setMap),0)},key:function(d){return keys2.push(d),nest},sortKeys:function(order){return sortKeys[keys2.length-1]=order,nest},sortValues:function(order){return sortValues=order,nest},rollup:function(f){return rollup=f,nest}}}function createObject(){return{}}function setObject(object2,key,value){object2[key]=value}function createMap(){return map$2()}function setMap(map2,key,value){map2.set(key,value)}function Set(){}var proto=map$2.prototype;Set.prototype=set.prototype={constructor:Set,has:proto.has,add:function(value){return value+="",this[prefix+value]=value,this},remove:proto.remove,clear:proto.clear,values:proto.keys,size:proto.size,empty:proto.empty,each:proto.each};function set(object2,f){var set2=new Set;if(object2 instanceof Set)object2.each(function(value){set2.add(value)});else if(object2){var i=-1,n=object2.length;if(f==null)for(;++i<n;)set2.add(object2[i]);else for(;++i<n;)set2.add(f(object2[i],i,object2))}return set2}function keys(map2){var keys2=[];for(var key in map2)keys2.push(key);return keys2}function d3Values(map2){var values=[];for(var key in map2)values.push(map2[key]);return values}function entries(map2){var entries2=[];for(var key in map2)entries2.push({key,value:map2[key]});return entries2}var EOL={},EOF={},QUOTE=34,NEWLINE=10,RETURN=13;function objectConverter(columns){return new Function("d","return {"+columns.map(function(name,i){return JSON.stringify(name)+": d["+i+'] || ""'}).join(",")+"}")}function customConverter(columns,f){var object2=objectConverter(columns);return function(row,i){return f(object2(row),i,columns)}}function inferColumns(rows){var columnSet=Object.create(null),columns=[];return rows.forEach(function(row){for(var column in row)column in columnSet||columns.push(columnSet[column]=column)}),columns}function pad$1(value,width){var s=value+"",length2=s.length;return length2<width?new Array(width-length2+1).join(0)+s:s}function formatYear$1(year2){return year2<0?"-"+pad$1(-year2,6):year2>9999?"+"+pad$1(year2,6):pad$1(year2,4)}function formatDate(date2){var hours=date2.getUTCHours(),minutes=date2.getUTCMinutes(),seconds=date2.getUTCSeconds(),milliseconds=date2.getUTCMilliseconds();return isNaN(date2)?"Invalid Date":formatYear$1(date2.getUTCFullYear())+"-"+pad$1(date2.getUTCMonth()+1,2)+"-"+pad$1(date2.getUTCDate(),2)+(milliseconds?"T"+pad$1(hours,2)+":"+pad$1(minutes,2)+":"+pad$1(seconds,2)+"."+pad$1(milliseconds,3)+"Z":seconds?"T"+pad$1(hours,2)+":"+pad$1(minutes,2)+":"+pad$1(seconds,2)+"Z":minutes||hours?"T"+pad$1(hours,2)+":"+pad$1(minutes,2)+"Z":"")}function dsv(delimiter){var reFormat=new RegExp('["'+delimiter+`
|
|
3
2
|
\r]`),DELIMITER=delimiter.charCodeAt(0);function parse(text,f){var convert,columns,rows=parseRows(text,function(row,i){if(convert)return convert(row,i-1);columns=row,convert=f?customConverter(row,f):objectConverter(row)});return rows.columns=columns||[],rows}function parseRows(text,f){var rows=[],N=text.length,I=0,n=0,t,eof=N<=0,eol=!1;text.charCodeAt(N-1)===NEWLINE&&--N,text.charCodeAt(N-1)===RETURN&&--N;function token(){if(eof)return EOF;if(eol)return eol=!1,EOL;var i,j=I,c;if(text.charCodeAt(j)===QUOTE){for(;I++<N&&text.charCodeAt(I)!==QUOTE||text.charCodeAt(++I)===QUOTE;);return(i=I)>=N?eof=!0:(c=text.charCodeAt(I++))===NEWLINE?eol=!0:c===RETURN&&(eol=!0,text.charCodeAt(I)===NEWLINE&&++I),text.slice(j+1,i-1).replace(/""/g,'"')}for(;I<N;){if((c=text.charCodeAt(i=I++))===NEWLINE)eol=!0;else if(c===RETURN)eol=!0,text.charCodeAt(I)===NEWLINE&&++I;else if(c!==DELIMITER)continue;return text.slice(j,i)}return eof=!0,text.slice(j,N)}for(;(t=token())!==EOF;){for(var row=[];t!==EOL&&t!==EOF;)row.push(t),t=token();f&&(row=f(row,n++))==null||rows.push(row)}return rows}function preformatBody(rows,columns){return rows.map(function(row){return columns.map(function(column){return formatValue(row[column])}).join(delimiter)})}function format(rows,columns){return columns==null&&(columns=inferColumns(rows)),[columns.map(formatValue).join(delimiter)].concat(preformatBody(rows,columns)).join(`
|
|
4
3
|
`)}function formatBody(rows,columns){return columns==null&&(columns=inferColumns(rows)),preformatBody(rows,columns).join(`
|
|
@@ -26,5 +25,6 @@
|
|
|
26
25
|
transform: rotate(1deg) translate(-${blur_size/2.5}px,0px) scale(1.5,0.5);
|
|
27
26
|
${blur_fx}
|
|
28
27
|
}
|
|
29
|
-
`}start(){this._running=!0,this.updateProgress(this.halfLife(),10)}finish(){this.updateProgress(100,100)}enter(domNode,element2){if(this._elementID=element2.attr("id"),!this._elementID)throw new Error("Target element requires an id attribute.");this._style=element2.insert("style")}exit(_domNode,_element){this._running=!1,this._style&&this._style.remove(),delete this._style}updateProgress(halflife,perc){if(!this._running)return;this._style&&this._style.html(this.calcCSS(halflife,perc));const percLimit=95;halflife*=this.decay(),perc=perc||10,perc<percLimit?setTimeout(()=>{const _remaining=100-perc;this.updateProgress(halflife,perc+_remaining/2)},perc===10?100:halflife):perc===100&&setTimeout(()=>{this._running=!1,this._style&&this._style.html("")},halflife)}}ProgressBar.prototype._class+=" common_ProgressBar",ProgressBar.prototype.publish("halfLife",5e3,"number","Half Life"),ProgressBar.prototype.publish("decay",1.2,"number","Decay"),ProgressBar.prototype.publish("size",2,"number","Size"),ProgressBar.prototype.publish("color","#2ed573","string","Color"),ProgressBar.prototype.publish("blurBar",!0,"boolean","Bar Blur"),ProgressBar.prototype.publish("blurSize",50,"number","Blur Size"),ProgressBar.prototype.publish("blurColor","#7bed9f","string","Blur Color (hex)",null,{optional:!0}),ProgressBar.prototype.publish("blurOpacity",.35,"number","Blur Opacity");function nopropagation$2(){exports2.event.stopImmediatePropagation()}function noevent$2(){exports2.event.preventDefault(),exports2.event.stopImmediatePropagation()}function dragDisable(view){var root2=view.document.documentElement,selection2=select(view).on("dragstart.drag",noevent$2,!0);"onselectstart"in root2?selection2.on("selectstart.drag",noevent$2,!0):(root2.__noselect=root2.style.MozUserSelect,root2.style.MozUserSelect="none")}function yesdrag(view,noclick){var root2=view.document.documentElement,selection2=select(view).on("dragstart.drag",null);noclick&&(selection2.on("click.drag",noevent$2,!0),setTimeout(function(){selection2.on("click.drag",null)},0)),"onselectstart"in root2?selection2.on("selectstart.drag",null):(root2.style.MozUserSelect=root2.__noselect,delete root2.__noselect)}function constant$2(x){return function(){return x}}function DragEvent(target,type2,subject,id2,active2,x,y,dx,dy,dispatch2){this.target=target,this.type=type2,this.subject=subject,this.identifier=id2,this.active=active2,this.x=x,this.y=y,this.dx=dx,this.dy=dy,this._=dispatch2}DragEvent.prototype.on=function(){var value=this._.on.apply(this._,arguments);return value===this._?this:value};function defaultFilter$2(){return!exports2.event.ctrlKey&&!exports2.event.button}function defaultContainer(){return this.parentNode}function defaultSubject(d){return d??{x:exports2.event.x,y:exports2.event.y}}function defaultTouchable$2(){return navigator.maxTouchPoints||"ontouchstart"in this}function d3Drag(){var filter=defaultFilter$2,container=defaultContainer,subject=defaultSubject,touchable=defaultTouchable$2,gestures={},listeners=dispatch("start","drag","end"),active2=0,mousedownx,mousedowny,mousemoving,touchending,clickDistance2=0;function drag(selection2){selection2.on("mousedown.drag",mousedowned).filter(touchable).on("touchstart.drag",touchstarted).on("touchmove.drag",touchmoved).on("touchend.drag touchcancel.drag",touchended).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function mousedowned(){if(!(touchending||!filter.apply(this,arguments))){var gesture=beforestart("mouse",container.apply(this,arguments),mouse,this,arguments);gesture&&(select(exports2.event.view).on("mousemove.drag",mousemoved,!0).on("mouseup.drag",mouseupped,!0),dragDisable(exports2.event.view),nopropagation$2(),mousemoving=!1,mousedownx=exports2.event.clientX,mousedowny=exports2.event.clientY,gesture("start"))}}function mousemoved(){if(noevent$2(),!mousemoving){var dx=exports2.event.clientX-mousedownx,dy=exports2.event.clientY-mousedowny;mousemoving=dx*dx+dy*dy>clickDistance2}gestures.mouse("drag")}function mouseupped(){select(exports2.event.view).on("mousemove.drag mouseup.drag",null),yesdrag(exports2.event.view,mousemoving),noevent$2(),gestures.mouse("end")}function touchstarted(){if(filter.apply(this,arguments)){var touches2=exports2.event.changedTouches,c=container.apply(this,arguments),n=touches2.length,i,gesture;for(i=0;i<n;++i)(gesture=beforestart(touches2[i].identifier,c,touch,this,arguments))&&(nopropagation$2(),gesture("start"))}}function touchmoved(){var touches2=exports2.event.changedTouches,n=touches2.length,i,gesture;for(i=0;i<n;++i)(gesture=gestures[touches2[i].identifier])&&(noevent$2(),gesture("drag"))}function touchended(){var touches2=exports2.event.changedTouches,n=touches2.length,i,gesture;for(touchending&&clearTimeout(touchending),touchending=setTimeout(function(){touchending=null},500),i=0;i<n;++i)(gesture=gestures[touches2[i].identifier])&&(nopropagation$2(),gesture("end"))}function beforestart(id2,container2,point2,that,args){var p=point2(container2,id2),s,dx,dy,sublisteners=listeners.copy();if(customEvent(new DragEvent(drag,"beforestart",s,id2,active2,p[0],p[1],0,0,sublisteners),function(){return(exports2.event.subject=s=subject.apply(that,args))==null?!1:(dx=s.x-p[0]||0,dy=s.y-p[1]||0,!0)}))return function gesture(type2){var p0=p,n;switch(type2){case"start":gestures[id2]=gesture,n=active2++;break;case"end":delete gestures[id2],--active2;case"drag":p=point2(container2,id2),n=active2;break}customEvent(new DragEvent(drag,type2,s,id2,n,p[0]+dx,p[1]+dy,p[0]-p0[0],p[1]-p0[1],sublisteners),sublisteners.apply,sublisteners,[type2,that,args])}}return drag.filter=function(_){return arguments.length?(filter=typeof _=="function"?_:constant$2(!!_),drag):filter},drag.container=function(_){return arguments.length?(container=typeof _=="function"?_:constant$2(_),drag):container},drag.subject=function(_){return arguments.length?(subject=typeof _=="function"?_:constant$2(_),drag):subject},drag.touchable=function(_){return arguments.length?(touchable=typeof _=="function"?_:constant$2(!!_),drag):touchable},drag.on=function(){var value=listeners.on.apply(listeners,arguments);return value===listeners?drag:value},drag.clickDistance=function(_){return arguments.length?(clickDistance2=(_=+_)*_,drag):Math.sqrt(clickDistance2)},drag}class Surface extends SVGWidget{constructor(){super();__publicField(this,"_origMenuParam");__publicField(this,"_origShowContent");__publicField(this,"_iconWidget");__publicField(this,"_containerWidget");__publicField(this,"_titleRectWidget");__publicField(this,"_textWidget");__publicField(this,"_menuWidget");__publicField(this,"_surfaceButtons");__publicField(this,"_clipRect");__publicField(this,"buttonContainer");this._iconWidget=new Icon().faChar("").paddingPercent(50),this._containerWidget=new Shape().class("container").shape("rect"),this._titleRectWidget=new Shape().class("title").shape("rect"),this._textWidget=new Text().class("title"),this._menuWidget=new Menu().paddingPercent(0);const context=this;this._menuWidget.preShowMenu=function(){context.content()&&context.content().hasOverlay()&&context.content().visible(!1)},this._menuWidget.postHideMenu=function(){context.content()&&context.content().hasOverlay()&&context.content().visible(!0)},this._surfaceButtons=[]}enter(_domNode,_element){super.enter(_domNode,_element);const element2=_element.append("g").attr("class","frame"),domNode=element2.node();this._clipRect=element2.append("defs").append("clipPath").attr("id",this.id()+"_clip").append("rect").attr("x",0).attr("y",0).attr("width",this._size.width).attr("height",this._size.height),this._titleRectWidget.target(domNode).render().display(this.showTitle()&&this.showIcon()),this._iconWidget.target(domNode).render(),this._menuWidget.target(_domNode),this._textWidget.target(domNode),this._containerWidget.target(domNode),this.buttonContainer=select(this._target).append("div").attr("class","svg-button-container")}update(domNode,element2){super.update(domNode,element2);const context=this;let width=this.width()-1;const height=this.height()-1;this._iconWidget.display(this.showTitle()&&this.showIcon()).shape(this.icon_shape()).render(),this._menuWidget.render(),this._textWidget.text(this.title()).display(this.showTitle()).render();const surfaceButtons=this.buttonContainer.selectAll(".surface-button").data(this.buttonAnnotations());surfaceButtons.enter().append("button").attr("class","surface-button").each(function(button,idx){const el=context._surfaceButtons[idx]=select(this).attr("class","surface-button "+(button.class?button.class:"")).attr("id",button.id).style("padding",button.padding).style("width",button.width).style("height",button.height).style("cursor","pointer").on("click",function(d){context.click(d)});button.font==="FontAwesome"?el.append("i").attr("class","fa").text(function(){return button.label}):el.text(function(){return button.label})}),surfaceButtons.exit().each(function(_d,idx){const element22=select(this);delete context._surfaceButtons[idx],element22.remove()});const buttonClientHeight=this.showTitle()?Math.max.apply(null,this._surfaceButtons.map(function(d){return d.node().offsetHeight})):0,iconClientSize=this.showTitle()&&this.showIcon()?this._iconWidget.getBBox(!0):{width:0,height:0},textClientSize=this._textWidget.getBBox(!0),menuClientSize=this._menuWidget.getBBox(!0),_titleRegionHeight=Math.max(iconClientSize.height,textClientSize.height,menuClientSize.height,buttonClientHeight),titleRegionHeight=this.showTitle()?_titleRegionHeight:0,yTitle=(-height+_titleRegionHeight)/2,titleTextHeight=this.showTitle()?Math.max(textClientSize.height,menuClientSize.height,buttonClientHeight):0,titleTextWidth=this.showTitle()?textClientSize.width+menuClientSize.width:0;titleTextWidth>width&&(width=titleTextWidth);const topMargin=titleRegionHeight<=titleTextHeight?0:(titleRegionHeight-titleTextHeight)/2,leftMargin=topMargin;this._titleRectWidget.pos({x:leftMargin,y:yTitle}).width(width-leftMargin*2).height(titleTextHeight).display(this.showTitle()).render(),this._iconWidget.move({x:-width/2+iconClientSize.width/2,y:yTitle}),this._menuWidget.move({x:width/2-menuClientSize.width/2-this.menuPadding(),y:yTitle}),this._textWidget.move({x:(iconClientSize.width/2-menuClientSize.width/2)/2,y:yTitle});const xPos=context._titleRectWidget.node().getBoundingClientRect().left+(context._size.width-leftMargin*2)-context.buttonGutter()-this.buttonContainer.node().offsetWidth,yPos=context._titleRectWidget.node().getBoundingClientRect().top+(titleTextHeight-this.buttonContainer.node().offsetHeight)/2;if(isNaN(xPos)||this.buttonContainer.style("left",xPos+"px"),isNaN(yPos)||this.buttonContainer.style("top",yPos+"px"),this.showTitle()?this._containerWidget.pos({x:leftMargin/2,y:titleRegionHeight/2-topMargin/2}).width(width-leftMargin).height(height-titleRegionHeight+topMargin).render():this._containerWidget.pos({x:0,y:0}).width(width).height(height).render(),this.showContent()){const xOffset=leftMargin,yOffset=titleRegionHeight-topMargin,content=element2.selectAll(".content").data(this.content()?[this.content()]:[],function(d){return d._id});content.enter().append("g").attr("class","content").attr("clip-path","url(#"+this.id()+"_clip)").each(function(d){d.target(this)}).merge(content).attr("transform","translate("+leftMargin/2+", "+(titleRegionHeight/2-topMargin/2)+")").each(function(d){const padding={left:0,top:0,right:1,bottom:1};d.resize({width:width-xOffset-(padding.left+padding.right),height:height-yOffset-(padding.top+padding.bottom)})}),this.content()&&this._clipRect.attr("x",-(width-xOffset)/2).attr("y",-(height-yOffset)/2).attr("width",width-xOffset).attr("height",height-yOffset),content.exit().transition().each(function(d){d.target(null)}).remove()}this._menuWidget.element()&&this._menuWidget.element().node()&&this._menuWidget.element().node().parentNode&&this._menuWidget.element().node().parentNode.appendChild(this._menuWidget.element().node())}exit(domNode,element2){this._titleRectWidget.target(null),this._iconWidget.target(null),this._menuWidget.target(null),this._textWidget.target(null),this._containerWidget.target(null),this.content()&&this.content().target(null),super.exit(domNode,element2)}intersection(pointA,pointB){const hits=[],i1=this._iconWidget.intersection(pointA,pointB,this._pos);i1&&hits.push({i:i1,d:this.distance(i1,pointB)});const i2=this._titleRectWidget.intersection(pointA,pointB);i2&&hits.push({i:i2,d:this.distance(i2,pointB)});const i3=this._containerWidget.intersection(pointA,pointB);i3&&hits.push({i:i3,d:this.distance(i3,pointB)});let nearest=null;return hits.forEach(function(item){(nearest===null||nearest.d>item.d)&&(nearest=item)}),nearest&&nearest.i?nearest.i:null}click(d){}}Surface.prototype._class+=" common_Surface",Surface.prototype.publish("showTitle",!0,"boolean","Show Title",null,{tags:["Basic"]}),Surface.prototype.publish("title","","string","Title",null,{tags:["Basic"]}),Surface.prototype.publishProxy("titleFontSize","_textWidget","fontSize"),Surface.prototype.publish("showIcon",!0,"boolean","Show Title",null,{tags:["Advanced"]}),Surface.prototype.publishProxy("icon_faChar","_iconWidget","faChar"),Surface.prototype.publishProxy("icon_shape","_iconWidget","shape"),Surface.prototype.publish("content",null,"widget","Content",null,{tags:["Private"]}),Surface.prototype.publish("buttonAnnotations",[],"array","Button Array",null,{tags:["Intermediate"]}),Surface.prototype.publish("buttonGutter",25,"number","Space Between Menu and Buttons",null,{tags:["Intermediate"]}),Surface.prototype.publish("showContent",!0,"boolean","Show Content",null,{tags:["Intermediate"]}),Surface.prototype.publish("menu",[],"array","Menu List Data",null,{tags:["Intermediate"]}),Surface.prototype.publish("menuPadding",2,"number","Menu Padding",null,{tags:["Advanced"]}),Surface.prototype._origMenuParam=Surface.prototype.menu,Surface.prototype.menu=function(_){return Surface.prototype._origMenuParam.apply(this,arguments),arguments.length?(this._menuWidget.data(_),this):this._menuWidget.data()},Surface.prototype._origShowContent=Surface.prototype.showContent,Surface.prototype.showContent=function(_){const retVal=Surface.prototype._origShowContent.apply(this,arguments);return arguments.length&&this.content()&&this.content().visible(this.showContent()),retVal};class ResizeSurface extends Surface{constructor(){super();__publicField(this,"handleWidth");__publicField(this,"handles");__publicField(this,"dispatch");__publicField(this,"drag");__publicField(this,"_domNode");__publicField(this,"_dragHandlePos");__publicField(this,"_dragStartPos");__publicField(this,"_dragStartSize");__publicField(this,"_prevPosSize");__publicField(this,"_textPosSize");__publicField(this,"_iconPosSize");this.handleWidth=8,this.handles=[{loc:"NW"},{loc:"N"},{loc:"NE"},{loc:"E"},{loc:"SE"},{loc:"S"},{loc:"SW"},{loc:"W"}];const context=this;this.dispatch=dispatch("sizestart","size","sizeend"),this.drag=d3Drag().subject(function(d){return d}),this.drag.on("start",function(d){context.dispatch.call("sizestart",context,d.loc),context.allowResize()&&(exports2.event.sourceEvent.stopPropagation(),context._dragHandlePos={x:d.x,y:d.y},context._dragStartPos=context.pos(),context._dragStartSize=context.size(),context._prevPosSize={x:context._dragStartPos.x,y:context._dragStartPos.y,width:context._dragStartSize.width,height:context._dragStartSize.height},context._textPosSize=context._textWidget.getBBox(!0),context._iconPosSize=context._iconWidget.getBBox(!0),context.showContent(!1))}).on("drag",function(d){if(context.allowResize()){exports2.event.sourceEvent.stopPropagation();const _dx=exports2.event.x-context._dragHandlePos.x,_dy=exports2.event.y-context._dragHandlePos.y,delta={x:0,y:0,w:0,h:0};switch(d.loc){case"NW":delta.x=_dx/2,delta.w=-_dx;case"N":delta.y=_dy/2,delta.h=-_dy;break;case"NE":delta.y=_dy/2,delta.h=-_dy;case"E":delta.x=_dx/2,delta.w=_dx;break;case"SE":delta.x=_dx/2,delta.w=_dx;case"S":delta.y=_dy/2,delta.h=_dy;break;case"SW":delta.y=_dy/2,delta.h=_dy;case"W":delta.x=_dx/2,delta.w=-_dx;break}const posSize={x:context._dragStartPos.x+delta.x,y:context._dragStartPos.y+delta.y,width:context._dragStartSize.width+delta.w,height:context._dragStartSize.height+delta.h};posSize.width<context._iconPosSize.width*2+context._textPosSize.width&&(posSize.x=context._prevPosSize.x,posSize.width=context._prevPosSize.width),posSize.height<context._textPosSize.height+48&&(posSize.y=context._prevPosSize.y,posSize.height=context._prevPosSize.height),context.pos({x:posSize.x,y:posSize.y}).size({width:posSize.width,height:posSize.height}).render().getBBox(!0),context.dispatch.call("size",context,d.loc),context._prevPosSize=posSize}}).on("end",function(d){context.allowResize()&&(exports2.event.sourceEvent.stopPropagation(),context.showContent(!0).render(),context._containerWidget.getBBox(!0),context._titleRectWidget.getBBox(!0),context.dispatch.call("sizeend",context,d.loc))})}move(_){const retVal=super.move.apply(this,arguments);return this.updateHandles(this._domNode,this._element),retVal}update(domNode,element2){super.update(domNode,element2),this.updateHandles(domNode,element2)}updateHandles(_domNode,_element){const sizeHandles=this._placeholderElement.selectAll("rect").data(this.handles,function(d){return d.loc}),sizeHandlesEnter=sizeHandles.enter().append("rect").attr("class",function(d){return"resize"+d.loc}).call(this.drag),l=this._pos.x+this._containerWidget._pos.x-this._containerWidget.width()/2,t=this._pos.y+this._titleRectWidget._pos.y-this._titleRectWidget.height()/2,r=this._pos.x+this._containerWidget._pos.x+this._containerWidget.width()/2,b=this._pos.y+this._containerWidget._pos.y+this._containerWidget.height()/2,w=r-l,h=b-t,context=this;sizeHandlesEnter.merge(sizeHandles).each(function(d){switch(d.loc){case"NW":d.x=l-context.handleWidth/2,d.y=t-context.handleWidth/2,d.width=context.handleWidth,d.height=context.handleWidth;break;case"N":d.x=l+context.handleWidth/2,d.y=t-context.handleWidth/2,d.width=w-context.handleWidth,d.height=context.handleWidth;break;case"NE":d.x=r-context.handleWidth/2,d.y=t-context.handleWidth/2,d.width=context.handleWidth,d.height=context.handleWidth;break;case"E":d.x=r-context.handleWidth/2,d.y=t+context.handleWidth/2,d.width=context.handleWidth,d.height=h-context.handleWidth;break;case"SE":d.x=r-context.handleWidth/2,d.y=b-context.handleWidth/2,d.width=context.handleWidth,d.height=context.handleWidth;break;case"S":d.x=l+context.handleWidth/2,d.y=b-context.handleWidth/2,d.width=w-context.handleWidth,d.height=context.handleWidth;break;case"SW":d.x=l-context.handleWidth/2,d.y=b-context.handleWidth/2,d.width=context.handleWidth,d.height=context.handleWidth;break;case"W":d.x=l-context.handleWidth/2,d.y=t+context.handleWidth/2,d.width=context.handleWidth,d.height=h-context.handleWidth;break}select(this).attr("x",d.x).attr("y",d.y).attr("width",d.width).attr("height",d.height)})}}ResizeSurface.prototype._class+=" common_ResizeSurface",ResizeSurface.prototype.publish("allowResize",!0,"boolean","Sets if surface can be resized",null,{tags:["Private","Shared"]});function constant$1(x){return function(){return x}}function ZoomEvent(target,type2,transform2){this.target=target,this.type=type2,this.transform=transform2}function Transform(k,x,y){this.k=k,this.x=x,this.y=y}Transform.prototype={constructor:Transform,scale:function(k){return k===1?this:new Transform(this.k*k,this.x,this.y)},translate:function(x,y){return x===0&y===0?this:new Transform(this.k,this.x+this.k*x,this.y+this.k*y)},apply:function(point2){return[point2[0]*this.k+this.x,point2[1]*this.k+this.y]},applyX:function(x){return x*this.k+this.x},applyY:function(y){return y*this.k+this.y},invert:function(location){return[(location[0]-this.x)/this.k,(location[1]-this.y)/this.k]},invertX:function(x){return(x-this.x)/this.k},invertY:function(y){return(y-this.y)/this.k},rescaleX:function(x){return x.copy().domain(x.range().map(this.invertX,this).map(x.invert,x))},rescaleY:function(y){return y.copy().domain(y.range().map(this.invertY,this).map(y.invert,y))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var identity=new Transform(1,0,0);transform.prototype=Transform.prototype;function transform(node){for(;!node.__zoom;)if(!(node=node.parentNode))return identity;return node.__zoom}function nopropagation$1(){exports2.event.stopImmediatePropagation()}function noevent$1(){exports2.event.preventDefault(),exports2.event.stopImmediatePropagation()}function defaultFilter$1(){return!exports2.event.ctrlKey&&!exports2.event.button}function defaultExtent$1(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function defaultTransform(){return this.__zoom||identity}function defaultWheelDelta(){return-exports2.event.deltaY*(exports2.event.deltaMode===1?.05:exports2.event.deltaMode?1:.002)}function defaultTouchable$1(){return navigator.maxTouchPoints||"ontouchstart"in this}function defaultConstrain(transform2,extent2,translateExtent){var dx0=transform2.invertX(extent2[0][0])-translateExtent[0][0],dx1=transform2.invertX(extent2[1][0])-translateExtent[1][0],dy0=transform2.invertY(extent2[0][1])-translateExtent[0][1],dy1=transform2.invertY(extent2[1][1])-translateExtent[1][1];return transform2.translate(dx1>dx0?(dx0+dx1)/2:Math.min(0,dx0)||Math.max(0,dx1),dy1>dy0?(dy0+dy1)/2:Math.min(0,dy0)||Math.max(0,dy1))}function d3Zoom(){var filter=defaultFilter$1,extent2=defaultExtent$1,constrain=defaultConstrain,wheelDelta=defaultWheelDelta,touchable=defaultTouchable$1,scaleExtent=[0,1/0],translateExtent=[[-1/0,-1/0],[1/0,1/0]],duration=250,interpolate2=interpolateZoom,listeners=dispatch("start","zoom","end"),touchstarting,touchending,touchDelay=500,wheelDelay=150,clickDistance2=0;function zoom(selection2){selection2.property("__zoom",defaultTransform).on("wheel.zoom",wheeled).on("mousedown.zoom",mousedowned).on("dblclick.zoom",dblclicked).filter(touchable).on("touchstart.zoom",touchstarted).on("touchmove.zoom",touchmoved).on("touchend.zoom touchcancel.zoom",touchended).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}zoom.transform=function(collection,transform2,point2){var selection2=collection.selection?collection.selection():collection;selection2.property("__zoom",defaultTransform),collection!==selection2?schedule2(collection,transform2,point2):selection2.interrupt().each(function(){gesture(this,arguments).start().zoom(null,typeof transform2=="function"?transform2.apply(this,arguments):transform2).end()})},zoom.scaleBy=function(selection2,k,p){zoom.scaleTo(selection2,function(){var k0=this.__zoom.k,k1=typeof k=="function"?k.apply(this,arguments):k;return k0*k1},p)},zoom.scaleTo=function(selection2,k,p){zoom.transform(selection2,function(){var e=extent2.apply(this,arguments),t02=this.__zoom,p0=p==null?centroid(e):typeof p=="function"?p.apply(this,arguments):p,p1=t02.invert(p0),k1=typeof k=="function"?k.apply(this,arguments):k;return constrain(translate(scale(t02,k1),p0,p1),e,translateExtent)},p)},zoom.translateBy=function(selection2,x,y){zoom.transform(selection2,function(){return constrain(this.__zoom.translate(typeof x=="function"?x.apply(this,arguments):x,typeof y=="function"?y.apply(this,arguments):y),extent2.apply(this,arguments),translateExtent)})},zoom.translateTo=function(selection2,x,y,p){zoom.transform(selection2,function(){var e=extent2.apply(this,arguments),t=this.__zoom,p0=p==null?centroid(e):typeof p=="function"?p.apply(this,arguments):p;return constrain(identity.translate(p0[0],p0[1]).scale(t.k).translate(typeof x=="function"?-x.apply(this,arguments):-x,typeof y=="function"?-y.apply(this,arguments):-y),e,translateExtent)},p)};function scale(transform2,k){return k=Math.max(scaleExtent[0],Math.min(scaleExtent[1],k)),k===transform2.k?transform2:new Transform(k,transform2.x,transform2.y)}function translate(transform2,p0,p1){var x=p0[0]-p1[0]*transform2.k,y=p0[1]-p1[1]*transform2.k;return x===transform2.x&&y===transform2.y?transform2:new Transform(transform2.k,x,y)}function centroid(extent3){return[(+extent3[0][0]+ +extent3[1][0])/2,(+extent3[0][1]+ +extent3[1][1])/2]}function schedule2(transition2,transform2,point2){transition2.on("start.zoom",function(){gesture(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){gesture(this,arguments).end()}).tween("zoom",function(){var that=this,args=arguments,g=gesture(that,args),e=extent2.apply(that,args),p=point2==null?centroid(e):typeof point2=="function"?point2.apply(that,args):point2,w=Math.max(e[1][0]-e[0][0],e[1][1]-e[0][1]),a=that.__zoom,b=typeof transform2=="function"?transform2.apply(that,args):transform2,i=interpolate2(a.invert(p).concat(w/a.k),b.invert(p).concat(w/b.k));return function(t){if(t===1)t=b;else{var l=i(t),k=w/l[2];t=new Transform(k,p[0]-l[0]*k,p[1]-l[1]*k)}g.zoom(null,t)}})}function gesture(that,args,clean){return!clean&&that.__zooming||new Gesture(that,args)}function Gesture(that,args){this.that=that,this.args=args,this.active=0,this.extent=extent2.apply(that,args),this.taps=0}Gesture.prototype={start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(key,transform2){return this.mouse&&key!=="mouse"&&(this.mouse[1]=transform2.invert(this.mouse[0])),this.touch0&&key!=="touch"&&(this.touch0[1]=transform2.invert(this.touch0[0])),this.touch1&&key!=="touch"&&(this.touch1[1]=transform2.invert(this.touch1[0])),this.that.__zoom=transform2,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(type2){customEvent(new ZoomEvent(zoom,type2,this.that.__zoom),listeners.apply,listeners,[type2,this.that,this.args])}};function wheeled(){if(!filter.apply(this,arguments))return;var g=gesture(this,arguments),t=this.__zoom,k=Math.max(scaleExtent[0],Math.min(scaleExtent[1],t.k*Math.pow(2,wheelDelta.apply(this,arguments)))),p=mouse(this);if(g.wheel)(g.mouse[0][0]!==p[0]||g.mouse[0][1]!==p[1])&&(g.mouse[1]=t.invert(g.mouse[0]=p)),clearTimeout(g.wheel);else{if(t.k===k)return;g.mouse=[p,t.invert(p)],interrupt(this),g.start()}noevent$1(),g.wheel=setTimeout(wheelidled,wheelDelay),g.zoom("mouse",constrain(translate(scale(t,k),g.mouse[0],g.mouse[1]),g.extent,translateExtent));function wheelidled(){g.wheel=null,g.end()}}function mousedowned(){if(touchending||!filter.apply(this,arguments))return;var g=gesture(this,arguments,!0),v=select(exports2.event.view).on("mousemove.zoom",mousemoved,!0).on("mouseup.zoom",mouseupped,!0),p=mouse(this),x0=exports2.event.clientX,y0=exports2.event.clientY;dragDisable(exports2.event.view),nopropagation$1(),g.mouse=[p,this.__zoom.invert(p)],interrupt(this),g.start();function mousemoved(){if(noevent$1(),!g.moved){var dx=exports2.event.clientX-x0,dy=exports2.event.clientY-y0;g.moved=dx*dx+dy*dy>clickDistance2}g.zoom("mouse",constrain(translate(g.that.__zoom,g.mouse[0]=mouse(g.that),g.mouse[1]),g.extent,translateExtent))}function mouseupped(){v.on("mousemove.zoom mouseup.zoom",null),yesdrag(exports2.event.view,g.moved),noevent$1(),g.end()}}function dblclicked(){if(filter.apply(this,arguments)){var t02=this.__zoom,p0=mouse(this),p1=t02.invert(p0),k1=t02.k*(exports2.event.shiftKey?.5:2),t12=constrain(translate(scale(t02,k1),p0,p1),extent2.apply(this,arguments),translateExtent);noevent$1(),duration>0?select(this).transition().duration(duration).call(schedule2,t12,p0):select(this).call(zoom.transform,t12)}}function touchstarted(){if(filter.apply(this,arguments)){var touches2=exports2.event.touches,n=touches2.length,g=gesture(this,arguments,exports2.event.changedTouches.length===n),started,i,t,p;for(nopropagation$1(),i=0;i<n;++i)t=touches2[i],p=touch(this,touches2,t.identifier),p=[p,this.__zoom.invert(p),t.identifier],g.touch0?!g.touch1&&g.touch0[2]!==p[2]&&(g.touch1=p,g.taps=0):(g.touch0=p,started=!0,g.taps=1+!!touchstarting);touchstarting&&(touchstarting=clearTimeout(touchstarting)),started&&(g.taps<2&&(touchstarting=setTimeout(function(){touchstarting=null},touchDelay)),interrupt(this),g.start())}}function touchmoved(){if(this.__zooming){var g=gesture(this,arguments),touches2=exports2.event.changedTouches,n=touches2.length,i,t,p,l;for(noevent$1(),touchstarting&&(touchstarting=clearTimeout(touchstarting)),g.taps=0,i=0;i<n;++i)t=touches2[i],p=touch(this,touches2,t.identifier),g.touch0&&g.touch0[2]===t.identifier?g.touch0[0]=p:g.touch1&&g.touch1[2]===t.identifier&&(g.touch1[0]=p);if(t=g.that.__zoom,g.touch1){var p0=g.touch0[0],l0=g.touch0[1],p1=g.touch1[0],l1=g.touch1[1],dp=(dp=p1[0]-p0[0])*dp+(dp=p1[1]-p0[1])*dp,dl=(dl=l1[0]-l0[0])*dl+(dl=l1[1]-l0[1])*dl;t=scale(t,Math.sqrt(dp/dl)),p=[(p0[0]+p1[0])/2,(p0[1]+p1[1])/2],l=[(l0[0]+l1[0])/2,(l0[1]+l1[1])/2]}else if(g.touch0)p=g.touch0[0],l=g.touch0[1];else return;g.zoom("touch",constrain(translate(t,p,l),g.extent,translateExtent))}}function touchended(){if(this.__zooming){var g=gesture(this,arguments),touches2=exports2.event.changedTouches,n=touches2.length,i,t;for(nopropagation$1(),touchending&&clearTimeout(touchending),touchending=setTimeout(function(){touchending=null},touchDelay),i=0;i<n;++i)t=touches2[i],g.touch0&&g.touch0[2]===t.identifier?delete g.touch0:g.touch1&&g.touch1[2]===t.identifier&&delete g.touch1;if(g.touch1&&!g.touch0&&(g.touch0=g.touch1,delete g.touch1),g.touch0)g.touch0[1]=this.__zoom.invert(g.touch0[0]);else if(g.end(),g.taps===2){var p=select(this).on("dblclick.zoom");p&&p.apply(this,arguments)}}}return zoom.wheelDelta=function(_){return arguments.length?(wheelDelta=typeof _=="function"?_:constant$1(+_),zoom):wheelDelta},zoom.filter=function(_){return arguments.length?(filter=typeof _=="function"?_:constant$1(!!_),zoom):filter},zoom.touchable=function(_){return arguments.length?(touchable=typeof _=="function"?_:constant$1(!!_),zoom):touchable},zoom.extent=function(_){return arguments.length?(extent2=typeof _=="function"?_:constant$1([[+_[0][0],+_[0][1]],[+_[1][0],+_[1][1]]]),zoom):extent2},zoom.scaleExtent=function(_){return arguments.length?(scaleExtent[0]=+_[0],scaleExtent[1]=+_[1],zoom):[scaleExtent[0],scaleExtent[1]]},zoom.translateExtent=function(_){return arguments.length?(translateExtent[0][0]=+_[0][0],translateExtent[1][0]=+_[1][0],translateExtent[0][1]=+_[0][1],translateExtent[1][1]=+_[1][1],zoom):[[translateExtent[0][0],translateExtent[0][1]],[translateExtent[1][0],translateExtent[1][1]]]},zoom.constrain=function(_){return arguments.length?(constrain=_,zoom):constrain},zoom.duration=function(_){return arguments.length?(duration=+_,zoom):duration},zoom.interpolate=function(_){return arguments.length?(interpolate2=_,zoom):interpolate2},zoom.on=function(){var value=listeners.on.apply(listeners,arguments);return value===listeners?zoom:value},zoom.clickDistance=function(_){return arguments.length?(clickDistance2=(_=+_)*_,zoom):Math.sqrt(clickDistance2)},zoom}class Button extends HTMLWidget{constructor(){super();__publicField(this,"_enabled",!0);__publicField(this,"_i");this._tag="a"}enter(domNode,element2){super.enter(domNode,element2);const context=this;this._i=this._element.attr("href","#").on("click",function(){context.click(),exports2.event.preventDefault()}).on("mousemove",this.mouseMove).on("mouseout",this.mouseOut).append("i")}update(domNode,element2){super.update(domNode,element2),element2.classed("disabled",!this.enabled()).attr("title",this.tooltip()),this._i.attr("class",`fa ${fa5Class(this.faChar())} fa-lg fa-fw`)}click(){}mouseMove(d,idx,groups){}mouseOut(d,idx,groups){}enabled(_){return arguments.length?(this._enabled=_,this):this._enabled}}Button.prototype._class+=" common_Button",Button.prototype.publish("faChar","","string","FontAwesome class"),Button.prototype.publish("tooltip","","string","Displays as the button alt text attribute");class StickyButton extends Button{enter(domNode,element2){super.enter(domNode,element2)}update(domNode,element2){super.update(domNode,element2),element2.classed("selected",this.selected())}}StickyButton.prototype._class+=" common_StickyButton",StickyButton.prototype.publish("selected",!1,"boolean");class ToggleButton extends StickyButton{enter(domNode,element2){element2.on("click.sel",(d,idx,groups)=>{this.selected(!this.selected()).render(),exports2.event.preventDefault()}),super.enter(domNode,element2)}}ToggleButton.prototype._class+=" common_ToggleButton";class Spacer extends HTMLWidget{enter(domNode,element2){super.enter(domNode,element2),element2.attr("class",this.vline()?"spacer vline":"spacer").attr("href","#").append("i")}}Spacer.prototype._class+=" common_Spacer",Spacer.prototype.publish("vline",!0,"boolean");class SelectDropDown extends HTMLWidget{constructor(){super();__publicField(this,"_enabled",!0);this._tag="select"}enabled(_){return arguments.length?(this._enabled=_,this):this._enabled}enter(domNode,element2){super.enter(domNode,element2);const context=this;element2.on("change",function(d){const values=context.values();for(const key in context.values())if(this.value===values[key]){context.selected(key);break}context.click(this.value)})}update(domNode,element2){super.update(domNode,element2),element2.classed("disabled",!this.enabled()).attr("title",this.tooltip());const values=this.values(),options=element2.selectAll(".icon-bar-select-option").data(Object.keys(values)),optionUpdate=options.enter().append("option").attr("class","icon-bar-select-option").merge(options).attr("value",r=>values[r]).attr("selected",r=>r===this.selected()?"selected":null).text(r=>r);options.exit().remove(),optionUpdate.order()}click(value){}mouseMove(d,idx,groups){}mouseOut(d,idx,groups){}}SelectDropDown.prototype._class+=" common_SelectDropDown",SelectDropDown.prototype.publish("values",{},"object","Label, Values"),SelectDropDown.prototype.publish("selected","","string","Selected Item"),SelectDropDown.prototype.publish("tooltip","","string","Displays as the button alt text attribute");class IconBar extends HTMLWidget{constructor(){super();__publicField(this,"_divIconBar");__publicField(this,"_buttons",[])}enter(domNode,element2){super.enter(domNode,element2),this._divIconBar=element2.append("div").attr("class","icon-bar")}update(domNode,element2){super.update(domNode,element2);let buttons=this.buttons().filter(button=>this.hiddenButtons().indexOf(button)<0);buttons=buttons.reduce((prev,item,idx)=>{if(item instanceof Spacer){if(prev.length===0||idx===buttons.length-1)return prev;if(buttons[idx+1]instanceof Spacer)return prev}return prev.push(item),prev},[]);const icons=this._divIconBar.selectAll(".icon-bar-item").data(buttons,d=>d.id());icons.enter().append("div").attr("class","icon-bar-item").each(function(d){d.target(this)}).merge(icons).each(function(d){d.render()}),icons.exit().each(function(d){d.target(null)}).remove(),icons.order()}exit(domNode,element2){this.buttons().forEach(b=>b.target(null)),super.exit(domNode,element2)}}IconBar.prototype._class+=" common_IconBar",IconBar.prototype.publish("buttons",[],"widgetArray",null,{internal:!0}),IconBar.prototype.publish("hiddenButtons",[],"widgetArray",null,{internal:!0});class SelectionButton extends StickyButton{constructor(){super(...arguments);__publicField(this,"_owner")}enter(domNode,element2){element2.on("click.sel",(d,idx,groups)=>{this.selected(!0).render(),exports2.event.preventDefault()}),super.enter(domNode,element2)}selected(_){const retVal=super.selected.apply(this,arguments);return _&&this._owner&&(this._owner.buttons().filter(sb=>sb!==this&&sb instanceof SelectionButton).forEach(sb=>sb.selected(!1).render()),this._owner.selected(this)),retVal}}SelectionButton.prototype._class+=" common_SelectionButton";class SelectionBar extends IconBar{buttons(_){const retVal=super.buttons.apply(this,arguments);return arguments.length&&_.filter(b=>b instanceof SelectionButton).forEach(sb=>{sb._owner=this}),retVal}selected(row){}}SelectionBar.prototype._class+=" common_SelectionBar";class TitleBar extends IconBar{constructor(){super();__publicField(this,"_divTitle");__publicField(this,"_divTitleIcon");__publicField(this,"_divTitleText");__publicField(this,"_divDescriptionText")}enter(domNode,element2){this._divTitle=element2.append("div").attr("class","title-title").style("min-width","0px"),this._divTitleIcon=this._divTitle.append("div").attr("class","title-icon").style("font-family",this.titleIconFont()).style("font-size",`${this.titleIconFontSize()}px`).style("width",`${this.titleIconFontSize()}px`),this._divTitle.append("div").attr("class","data-count"),this._divTitleText=this._divTitle.append("div").attr("class","title-text").style("font-family",this.titleFont()).style("font-size",`${this.titleFontSize()}px`),this._divDescriptionText=this._divTitle.append("div").attr("class","description-text").style("font-family",this.descriptionFont()),super.enter(domNode,element2)}update(domNode,element2){this._divTitleIcon.text(this.titleIcon()).style("display",this.titleIcon()!==""?"inline-block":"none"),this._divTitleText.text(this.title()).attr("title",this.title()),this._divDescriptionText.style("display",this.description_exists()?"block":"none").style("font-size",this.description_exists()?`${this.descriptionFontSize()}px`:null).style("line-height",this.description_exists()?`${this.descriptionFontSize()}px`:null).text(this.description()),super.update(domNode,element2)}}TitleBar.prototype._class+=" common_TitleBar",TitleBar.prototype.publish("titleIcon","","string","Icon text"),TitleBar.prototype.publish("titleIconFont","","string","Icon font-family"),TitleBar.prototype.publish("titleIconFontSize",28,"number","Icon font-size (pixels)"),TitleBar.prototype.publish("title","","string","Title text"),TitleBar.prototype.publish("titleFont","","string","Title font-family"),TitleBar.prototype.publish("titleFontSize",20,"number","Title font-size (pixels)"),TitleBar.prototype.publish("description",null,"string","Description text",null,{optional:!0}),TitleBar.prototype.publish("descriptionFont","","string","Description font-family"),TitleBar.prototype.publish("descriptionFontSize",10,"number","Description font-size (pixels)");class SVGZoomWidget extends SVGWidget{constructor(){super();__publicField(this,"_renderElement");__publicField(this,"_currZoom");__publicField(this,"_zoomScale",1);__publicField(this,"_zoomTranslate",[0,0]);__publicField(this,"_zoomRoot");__publicField(this,"_zoomGrab");__publicField(this,"_zoomG");__publicField(this,"_prevZoomable");__publicField(this,"_marqueeSelectionRoot");__publicField(this,"_marqueeSelection");__publicField(this,"_autoSelectionMode",!1);__publicField(this,"_toggleMarqueeSelection",new ToggleButton().faChar("fa-square-o").tooltip("Marquee Selection").on("click",()=>{this._toggleMarqueeSelection.selected()&&this.mouseMode("marqueeSelection"),this.updateIconBar()}));__publicField(this,"_toggleZoom",new ToggleButton().faChar("fa-mouse-pointer").tooltip("Zoom").on("click",()=>{this._toggleZoom.selected()&&this.mouseMode("zoom"),this.updateIconBar()}));__publicField(this,"_iconBar",new IconBar().buttons([this._toggleMarqueeSelection,this._toggleZoom,new Spacer().vline(!1),new Button().faChar("fa-arrows-alt").tooltip("Zoom to fit").on("click",()=>{this.zoomToFit()}),new Spacer().vline(!1),new Button().faChar("fa-plus").tooltip("Zoom in").on("click",()=>{this.zoomPlus()}),new Button().faChar("fa-minus").tooltip("Zoom out").on("click",()=>{this.zoomMinus()})]));this._currZoom=d3Zoom().scaleExtent([.05,20]).on("zoom end",evt=>{this.onZoomed()})}getScreenBBox(target){let targetel=target;for(;targetel.getScreenCTM==null&&targetel.parentNode==null;)targetel=targetel.parentNode;const bbox={},matrix=targetel.getScreenCTM(),tbbox=targetel.getBBox(),width=tbbox.width,height=tbbox.height,x=tbbox.x,y=tbbox.y,point2=this._placeholderElement.node().createSVGPoint();return point2.x=x,point2.y=y,bbox.nw=point2.matrixTransform(matrix),point2.x+=width,bbox.ne=point2.matrixTransform(matrix),point2.y+=height,bbox.se=point2.matrixTransform(matrix),point2.x-=width,bbox.sw=point2.matrixTransform(matrix),point2.y-=height/2,bbox.w=point2.matrixTransform(matrix),point2.x+=width,bbox.e=point2.matrixTransform(matrix),point2.x-=width/2,point2.y-=height/2,bbox.n=point2.matrixTransform(matrix),point2.y+=height,bbox.s=point2.matrixTransform(matrix),{x:bbox.nw.x,y:bbox.nw.y,width:bbox.se.x-bbox.nw.x,height:bbox.se.y-bbox.nw.y}}zoomScale(){return this._zoomScale}zoomTranslate(){return this._zoomTranslate}zoomExtent(range){this._currZoom.scaleExtent(range)}zoomTo(translate,scale,transitionDuration=250){translate=translate||this._zoomTranslate,scale=scale||this._zoomScale,transitionDuration=transitionDuration===void 0?this.zoomDuration():transitionDuration,this._zoomRoot.transition().duration(transitionDuration).call(this._currZoom.transform,identity.translate(translate[0],translate[1]).scale(scale))}zoomPlus(){this._zoomRoot.transition().call(this._currZoom.scaleBy,1.33)}zoomMinus(){this._zoomRoot.transition().call(this._currZoom.scaleBy,1/1.33)}centerOnBBox(bbox,transitionDuration){if(bbox.width&&bbox.height){const x=bbox.x+bbox.width/2,y=bbox.y+bbox.height/2,width=this.width(),height=this.height(),scale=this.zoomScale(),translate=[width/2-scale*x,height/2-scale*y];this.zoomTo(translate,scale,transitionDuration)}}getRenderElementBBox(){return this._renderElement.node().getBBox()}calcZoomToBBox(bbox,widthOnly=!1,scale){const width=this.width(),height=this.height();if(bbox.width&&bbox.height){const x=bbox.x+bbox.width/2,y=bbox.y+bbox.height/2,dx=bbox.width,dy=bbox.height;let newScale=scale||1/(widthOnly?dx/width:Math.max(dx/width,dy/height));return this.zoomToFitLimit_exists()&&newScale>this.zoomToFitLimit()&&(newScale=this.zoomToFitLimit()),{translate:[width/2-newScale*x,height/2-newScale*y],newScale}}return{translate:[width/2,height/2],newScale:scale}}zoomToBBox(bbox,transitionDuration,widthOnly=!1,scale){const{translate,newScale}=this.calcZoomToBBox(bbox,widthOnly,scale);this.zoomTo(translate,newScale,transitionDuration)}zoomToScale(scale,transitionDuration){if(this._renderElement){const bbox=this.getRenderElementBBox();this.zoomToBBox(bbox,transitionDuration,void 0,scale)}}zoomToWidth(transitionDuration){if(this._renderElement){const bbox=this.getRenderElementBBox();this.zoomToBBox(bbox,transitionDuration,!0)}}zoomToFit(transitionDuration){if(this._renderElement){const bbox=this.getRenderElementBBox();this.zoomToBBox(bbox,transitionDuration)}}onZoomed(){exports2.event&&exports2.event.transform&&this.mouseMode()==="zoom"&&this.zoomed(exports2.event.transform)}zoomed(transform2){this._zoomScale=transform2.k,this._zoomTranslate=[transform2.x,transform2.y],this._zoomG.attr("transform",transform2)}updateIconBar(){this._toggleMarqueeSelection.selected(this.mouseMode()==="marqueeSelection").render(),this._toggleZoom.selected(this.mouseMode()==="zoom").render()}mousedownMarqueeSelection(){const p=mouse(this._marqueeSelectionRoot.node());this._marqueeSelection=this.element().append("rect").attr("class","marqueeSelection").attr("rx",6).attr("ry",6).attr("x",p[0]).attr("y",p[1]).attr("width",0).attr("height",0),this.startMarqueeSelection()}mousemoveMarqueeSelection(){if(this._marqueeSelection){const p=mouse(this._marqueeSelectionRoot.node()),d={x:parseInt(this._marqueeSelection.attr("x"),10),y:parseInt(this._marqueeSelection.attr("y"),10),width:parseInt(this._marqueeSelection.attr("width"),10),height:parseInt(this._marqueeSelection.attr("height"),10)},move={x:p[0]-d.x,y:p[1]-d.y};move.x<1||move.x*2<d.width?(d.x=p[0],d.width-=move.x):d.width=move.x,move.y<1||move.y*2<d.height?(d.y=p[1],d.height-=move.y):d.height=move.y,this._marqueeSelection.attr("x",d.x).attr("y",d.y).attr("width",d.width).attr("height",d.height),this.updateMarqueeSelection({x:(d.x-this._zoomTranslate[0])/this._zoomScale,y:(d.y-this._zoomTranslate[1])/this._zoomScale,width:d.width/this._zoomScale,height:d.height/this._zoomScale})}}mouseupMarqueeSelection(){this._marqueeSelection&&(this._marqueeSelection.remove(),delete this._marqueeSelection,this._autoSelectionMode&&(this._autoSelectionMode=!1,this.mouseMode("zoom"),this.updateIconBar()),this.endMarqueeSelection())}enter(domNode,_element){super.enter(domNode,_element),_element.style("user-select","none"),this._marqueeSelectionRoot=_element.append("rect").attr("class","zoomBackground").attr("width",this.width()).attr("height",this.height()).style("fill","transparent").style("cursor","crosshair").on("mousedown",()=>{this.mousedownMarqueeSelection()}).on("mousemove",()=>{this.mousemoveMarqueeSelection()}).on("mouseup mouseout",()=>{this.mouseupMarqueeSelection()}),this._zoomRoot=_element.append("g"),this._zoomGrab=this._zoomRoot.append("rect").attr("class","zoomBackground").attr("width",this.width()).attr("height",this.height()).style("fill","transparent").on("mousedown",()=>{exports2.event.shiftKey&&this.mouseMode()==="zoom"&&(exports2.event.stopPropagation(),this.mouseMode("marqueeSelection"),this._autoSelectionMode=!0,this.mousedownMarqueeSelection())}),this._zoomG=this._zoomRoot.append("g"),this._renderElement=this._zoomG.append("g"),this._prevZoomable!==this.zoomable()&&(this.zoomable()?this._zoomRoot.call(this._currZoom):this._zoomRoot.on(".zoom",null),this._prevZoomable=this.zoomable()),this._iconBar.target(this._zoomRoot.node())}update(domNode,element2){super.update(domNode,element2),this._zoomGrab.attr("width",this.width()).attr("height",this.height()),this._marqueeSelectionRoot.attr("width",this.width()).attr("height",this.height()),this._iconBar.visible(this.zoomable()&&this.showToolbar()).render(w=>{const bbox=w.getBBox();w.reposition({x:this.width()-bbox.width-4,y:-4})})}exit(domNode,element2){this._iconBar.target(null),super.exit(domNode,element2)}startMarqueeSelection(){}updateMarqueeSelection(rect){}endMarqueeSelection(){}}SVGZoomWidget.prototype._class+=" common_SVGZoomWidget",SVGZoomWidget.prototype.publish("showToolbar",!0,"boolean","Show Toolbar"),SVGZoomWidget.prototype.publish("zoomable",!0,"boolean","Enable/Disable Zooming"),SVGZoomWidget.prototype.publish("zoomDuration",250,"number","Transition Duration"),SVGZoomWidget.prototype.publish("zoomToFitLimit",void 0,"number","Zoom to fit limit",void 0,{optional:!0}),SVGZoomWidget.prototype.publish("mouseMode","zoom","set","Mouse Mode (zoom | marqueeSelection)",["zoom","marqueeSelection"]);const _origMouseMode=SVGZoomWidget.prototype.mouseMode;SVGZoomWidget.prototype.mouseMode=function(_,transitionDuration){const retVal=_origMouseMode.apply(this,arguments);return arguments.length&&(safeRaise(_==="zoom"?this._zoomRoot.node():this._marqueeSelectionRoot.node()),this.updateIconBar()),retVal};class WidgetArray extends Widget{constructor(){super()}}WidgetArray.prototype._class+=" common_WidgetArray",WidgetArray.prototype.publish("content",[],"widgetArray","Widget Array");function constant(x){return function(){return x}}function BrushEvent(target,type2,selection2){this.target=target,this.type=type2,this.selection=selection2}function nopropagation(){exports2.event.stopImmediatePropagation()}function noevent(){exports2.event.preventDefault(),exports2.event.stopImmediatePropagation()}var MODE_DRAG={name:"drag"},MODE_SPACE={name:"space"},MODE_HANDLE={name:"handle"},MODE_CENTER={name:"center"};function number1(e){return[+e[0],+e[1]]}function number2(e){return[number1(e[0]),number1(e[1])]}function toucher(identifier){return function(target){return touch(target,exports2.event.touches,identifier)}}var X={name:"x",handles:["w","e"].map(type),input:function(x,e){return x==null?null:[[+x[0],e[0][1]],[+x[1],e[1][1]]]},output:function(xy){return xy&&[xy[0][0],xy[1][0]]}},Y={name:"y",handles:["n","s"].map(type),input:function(y,e){return y==null?null:[[e[0][0],+y[0]],[e[1][0],+y[1]]]},output:function(xy){return xy&&[xy[0][1],xy[1][1]]}},XY={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(type),input:function(xy){return xy==null?null:number2(xy)},output:function(xy){return xy}},cursors={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},flipX={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},flipY={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},signsX={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},signsY={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function type(t){return{type:t}}function defaultFilter(){return!exports2.event.ctrlKey&&!exports2.event.button}function defaultExtent(){var svg=this.ownerSVGElement||this;return svg.hasAttribute("viewBox")?(svg=svg.viewBox.baseVal,[[svg.x,svg.y],[svg.x+svg.width,svg.y+svg.height]]):[[0,0],[svg.width.baseVal.value,svg.height.baseVal.value]]}function defaultTouchable(){return navigator.maxTouchPoints||"ontouchstart"in this}function local(node){for(;!node.__brush;)if(!(node=node.parentNode))return;return node.__brush}function empty(extent2){return extent2[0][0]===extent2[1][0]||extent2[0][1]===extent2[1][1]}function brushSelection(node){var state=node.__brush;return state?state.dim.output(state.selection):null}function brushX(){return brush$1(X)}function brushY(){return brush$1(Y)}function brush(){return brush$1(XY)}function brush$1(dim){var extent2=defaultExtent,filter=defaultFilter,touchable=defaultTouchable,keys2=!0,listeners=dispatch("start","brush","end"),handleSize=6,touchending;function brush2(group){var overlay=group.property("__brush",initialize).selectAll(".overlay").data([type("overlay")]);overlay.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",cursors.overlay).merge(overlay).each(function(){var extent3=local(this).extent;select(this).attr("x",extent3[0][0]).attr("y",extent3[0][1]).attr("width",extent3[1][0]-extent3[0][0]).attr("height",extent3[1][1]-extent3[0][1])}),group.selectAll(".selection").data([type("selection")]).enter().append("rect").attr("class","selection").attr("cursor",cursors.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var handle=group.selectAll(".handle").data(dim.handles,function(d){return d.type});handle.exit().remove(),handle.enter().append("rect").attr("class",function(d){return"handle handle--"+d.type}).attr("cursor",function(d){return cursors[d.type]}),group.each(redraw).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",started).filter(touchable).on("touchstart.brush",started).on("touchmove.brush",touchmoved).on("touchend.brush touchcancel.brush",touchended).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}brush2.move=function(group,selection2){group.selection?group.on("start.brush",function(){emitter(this,arguments).beforestart().start()}).on("interrupt.brush end.brush",function(){emitter(this,arguments).end()}).tween("brush",function(){var that=this,state=that.__brush,emit=emitter(that,arguments),selection0=state.selection,selection1=dim.input(typeof selection2=="function"?selection2.apply(this,arguments):selection2,state.extent),i=interpolate$1(selection0,selection1);function tween(t){state.selection=t===1&&selection1===null?null:i(t),redraw.call(that),emit.brush()}return selection0!==null&&selection1!==null?tween:tween(1)}):group.each(function(){var that=this,args=arguments,state=that.__brush,selection1=dim.input(typeof selection2=="function"?selection2.apply(that,args):selection2,state.extent),emit=emitter(that,args).beforestart();interrupt(that),state.selection=selection1===null?null:selection1,redraw.call(that),emit.start().brush().end()})},brush2.clear=function(group){brush2.move(group,null)};function redraw(){var group=select(this),selection2=local(this).selection;selection2?(group.selectAll(".selection").style("display",null).attr("x",selection2[0][0]).attr("y",selection2[0][1]).attr("width",selection2[1][0]-selection2[0][0]).attr("height",selection2[1][1]-selection2[0][1]),group.selectAll(".handle").style("display",null).attr("x",function(d){return d.type[d.type.length-1]==="e"?selection2[1][0]-handleSize/2:selection2[0][0]-handleSize/2}).attr("y",function(d){return d.type[0]==="s"?selection2[1][1]-handleSize/2:selection2[0][1]-handleSize/2}).attr("width",function(d){return d.type==="n"||d.type==="s"?selection2[1][0]-selection2[0][0]+handleSize:handleSize}).attr("height",function(d){return d.type==="e"||d.type==="w"?selection2[1][1]-selection2[0][1]+handleSize:handleSize})):group.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function emitter(that,args,clean){var emit=that.__brush.emitter;return emit&&(!clean||!emit.clean)?emit:new Emitter(that,args,clean)}function Emitter(that,args,clean){this.that=that,this.args=args,this.state=that.__brush,this.active=0,this.clean=clean}Emitter.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(){return this.starting?(this.starting=!1,this.emit("start")):this.emit("brush"),this},brush:function(){return this.emit("brush"),this},end:function(){return--this.active===0&&(delete this.state.emitter,this.emit("end")),this},emit:function(type2){customEvent(new BrushEvent(brush2,type2,dim.output(this.state.selection)),listeners.apply,listeners,[type2,this.that,this.args])}};function started(){if(touchending&&!exports2.event.touches||!filter.apply(this,arguments))return;var that=this,type2=exports2.event.target.__data__.type,mode=(keys2&&exports2.event.metaKey?type2="overlay":type2)==="selection"?MODE_DRAG:keys2&&exports2.event.altKey?MODE_CENTER:MODE_HANDLE,signX=dim===Y?null:signsX[type2],signY=dim===X?null:signsY[type2],state=local(that),extent3=state.extent,selection2=state.selection,W=extent3[0][0],w0,w1,N=extent3[0][1],n0,n1,E2=extent3[1][0],e0,e1,S=extent3[1][1],s0,s1,dx=0,dy=0,moving,shifting=signX&&signY&&keys2&&exports2.event.shiftKey,lockX,lockY,pointer=exports2.event.touches?toucher(exports2.event.changedTouches[0].identifier):mouse,point0=pointer(that),point2=point0,emit=emitter(that,arguments,!0).beforestart();type2==="overlay"?(selection2&&(moving=!0),state.selection=selection2=[[w0=dim===Y?W:point0[0],n0=dim===X?N:point0[1]],[e0=dim===Y?E2:w0,s0=dim===X?S:n0]]):(w0=selection2[0][0],n0=selection2[0][1],e0=selection2[1][0],s0=selection2[1][1]),w1=w0,n1=n0,e1=e0,s1=s0;var group=select(that).attr("pointer-events","none"),overlay=group.selectAll(".overlay").attr("cursor",cursors[type2]);if(exports2.event.touches)emit.moved=moved,emit.ended=ended;else{var view=select(exports2.event.view).on("mousemove.brush",moved,!0).on("mouseup.brush",ended,!0);keys2&&view.on("keydown.brush",keydowned,!0).on("keyup.brush",keyupped,!0),dragDisable(exports2.event.view)}nopropagation(),interrupt(that),redraw.call(that),emit.start();function moved(){var point1=pointer(that);shifting&&!lockX&&!lockY&&(Math.abs(point1[0]-point2[0])>Math.abs(point1[1]-point2[1])?lockY=!0:lockX=!0),point2=point1,moving=!0,noevent(),move()}function move(){var t;switch(dx=point2[0]-point0[0],dy=point2[1]-point0[1],mode){case MODE_SPACE:case MODE_DRAG:{signX&&(dx=Math.max(W-w0,Math.min(E2-e0,dx)),w1=w0+dx,e1=e0+dx),signY&&(dy=Math.max(N-n0,Math.min(S-s0,dy)),n1=n0+dy,s1=s0+dy);break}case MODE_HANDLE:{signX<0?(dx=Math.max(W-w0,Math.min(E2-w0,dx)),w1=w0+dx,e1=e0):signX>0&&(dx=Math.max(W-e0,Math.min(E2-e0,dx)),w1=w0,e1=e0+dx),signY<0?(dy=Math.max(N-n0,Math.min(S-n0,dy)),n1=n0+dy,s1=s0):signY>0&&(dy=Math.max(N-s0,Math.min(S-s0,dy)),n1=n0,s1=s0+dy);break}case MODE_CENTER:{signX&&(w1=Math.max(W,Math.min(E2,w0-dx*signX)),e1=Math.max(W,Math.min(E2,e0+dx*signX))),signY&&(n1=Math.max(N,Math.min(S,n0-dy*signY)),s1=Math.max(N,Math.min(S,s0+dy*signY)));break}}e1<w1&&(signX*=-1,t=w0,w0=e0,e0=t,t=w1,w1=e1,e1=t,type2 in flipX&&overlay.attr("cursor",cursors[type2=flipX[type2]])),s1<n1&&(signY*=-1,t=n0,n0=s0,s0=t,t=n1,n1=s1,s1=t,type2 in flipY&&overlay.attr("cursor",cursors[type2=flipY[type2]])),state.selection&&(selection2=state.selection),lockX&&(w1=selection2[0][0],e1=selection2[1][0]),lockY&&(n1=selection2[0][1],s1=selection2[1][1]),(selection2[0][0]!==w1||selection2[0][1]!==n1||selection2[1][0]!==e1||selection2[1][1]!==s1)&&(state.selection=[[w1,n1],[e1,s1]],redraw.call(that),emit.brush())}function ended(){if(nopropagation(),exports2.event.touches){if(exports2.event.touches.length)return;touchending&&clearTimeout(touchending),touchending=setTimeout(function(){touchending=null},500)}else yesdrag(exports2.event.view,moving),view.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);group.attr("pointer-events","all"),overlay.attr("cursor",cursors.overlay),state.selection&&(selection2=state.selection),empty(selection2)&&(state.selection=null,redraw.call(that)),emit.end()}function keydowned(){switch(exports2.event.keyCode){case 16:{shifting=signX&&signY;break}case 18:{mode===MODE_HANDLE&&(signX&&(e0=e1-dx*signX,w0=w1+dx*signX),signY&&(s0=s1-dy*signY,n0=n1+dy*signY),mode=MODE_CENTER,move());break}case 32:{(mode===MODE_HANDLE||mode===MODE_CENTER)&&(signX<0?e0=e1-dx:signX>0&&(w0=w1-dx),signY<0?s0=s1-dy:signY>0&&(n0=n1-dy),mode=MODE_SPACE,overlay.attr("cursor",cursors.selection),move());break}default:return}noevent()}function keyupped(){switch(exports2.event.keyCode){case 16:{shifting&&(lockX=lockY=shifting=!1,move());break}case 18:{mode===MODE_CENTER&&(signX<0?e0=e1:signX>0&&(w0=w1),signY<0?s0=s1:signY>0&&(n0=n1),mode=MODE_HANDLE,move());break}case 32:{mode===MODE_SPACE&&(exports2.event.altKey?(signX&&(e0=e1-dx*signX,w0=w1+dx*signX),signY&&(s0=s1-dy*signY,n0=n1+dy*signY),mode=MODE_CENTER):(signX<0?e0=e1:signX>0&&(w0=w1),signY<0?s0=s1:signY>0&&(n0=n1),mode=MODE_HANDLE),overlay.attr("cursor",cursors[type2]),move());break}default:return}noevent()}}function touchmoved(){emitter(this,arguments).moved()}function touchended(){emitter(this,arguments).ended()}function initialize(){var state=this.__brush||{selection:null};return state.extent=number2(extent2.apply(this,arguments)),state.dim=dim,state}return brush2.extent=function(_){return arguments.length?(extent2=typeof _=="function"?_:constant(number2(_)),brush2):extent2},brush2.filter=function(_){return arguments.length?(filter=typeof _=="function"?_:constant(!!_),brush2):filter},brush2.touchable=function(_){return arguments.length?(touchable=typeof _=="function"?_:constant(!!_),brush2):touchable},brush2.handleSize=function(_){return arguments.length?(handleSize=+_,brush2):handleSize},brush2.keyModifiers=function(_){return arguments.length?(keys2=!!_,brush2):keys2},brush2.on=function(){var value=listeners.on.apply(listeners,arguments);return value===listeners?brush2:value},brush2}const d3Event=()=>exports2.event;exports2.BUILD_VERSION=BUILD_VERSION,exports2.Button=Button,exports2.CanvasWidget=CanvasWidget,exports2.Class=Class,exports2.Database=Database,exports2.Entity=Entity,exports2.EntityCard=EntityCard,exports2.EntityPin=EntityPin,exports2.EntityRect=EntityRect,exports2.EntityRectList=EntityRectList,exports2.EntityVertex=EntityVertex,exports2.FAChar=FAChar,exports2.Field=Field,exports2.FormatSpecifier=FormatSpecifier,exports2.HTMLWidget=HTMLWidget,exports2.Icon=Icon,exports2.IconBar=IconBar,exports2.Image=Image$1,exports2.List=List,exports2.Menu=Menu,exports2.Meta=Meta,exports2.PKG_NAME=PKG_NAME,exports2.PKG_VERSION=PKG_VERSION,exports2.Palette=Palette,exports2.Platform=Platform,exports2.ProgressBar=ProgressBar,exports2.PropertyExt=PropertyExt,exports2.ResizeSurface=ResizeSurface,exports2.SVGGlowFilter=SVGGlowFilter,exports2.SVGWidget=SVGWidget,exports2.SVGZoomWidget=SVGZoomWidget,exports2.SelectDropDown=SelectDropDown,exports2.SelectionBar=SelectionBar,exports2.SelectionButton=SelectionButton,exports2.Shape=Shape,exports2.Spacer=Spacer,exports2.StickyButton=StickyButton,exports2.Surface=Surface,exports2.Text=Text,exports2.TextBox=TextBox,exports2.TitleBar=TitleBar,exports2.ToggleButton=ToggleButton,exports2.Utility=Utility,exports2.Widget=Widget,exports2.WidgetArray=WidgetArray,exports2.active=active,exports2.ascending=ascending,exports2.autoType=autoType,exports2.bisect=bisectRight,exports2.bisectLeft=bisectLeft,exports2.bisectRight=bisectRight,exports2.bisector=bisector,exports2.brush=brush,exports2.brushSelection=brushSelection,exports2.brushX=brushX,exports2.brushY=brushY,exports2.clientPoint=point$1,exports2.color=color,exports2.create=create$1,exports2.creator=creator,exports2.cross=cross,exports2.csvFormat=csvFormat,exports2.csvFormatBody=csvFormatBody,exports2.csvFormatRow=csvFormatRow,exports2.csvFormatRows=csvFormatRows,exports2.csvFormatValue=csvFormatValue,exports2.csvParse=csvParse,exports2.csvParseRows=csvParseRows,exports2.cubehelix=cubehelix$3,exports2.customEvent=customEvent,exports2.d3Event=d3Event,exports2.descending=d3Descending,exports2.deviation=d3Deviation,exports2.dispatch=dispatch,exports2.drag=d3Drag,exports2.dragDisable=dragDisable,exports2.dragEnable=yesdrag,exports2.dsvFormat=dsv,exports2.easeBack=backInOut,exports2.easeBackIn=backIn,exports2.easeBackInOut=backInOut,exports2.easeBackOut=backOut,exports2.easeBounce=bounceOut,exports2.easeBounceIn=bounceIn,exports2.easeBounceInOut=bounceInOut,exports2.easeBounceOut=bounceOut,exports2.easeCircle=circleInOut,exports2.easeCircleIn=circleIn,exports2.easeCircleInOut=circleInOut,exports2.easeCircleOut=circleOut,exports2.easeCubic=cubicInOut,exports2.easeCubicIn=cubicIn,exports2.easeCubicInOut=cubicInOut,exports2.easeCubicOut=cubicOut,exports2.easeElastic=elasticOut,exports2.easeElasticIn=elasticIn,exports2.easeElasticInOut=elasticInOut,exports2.easeElasticOut=elasticOut,exports2.easeExp=expInOut,exports2.easeExpIn=expIn,exports2.easeExpInOut=expInOut,exports2.easeExpOut=expOut,exports2.easeLinear=linear$1,exports2.easePoly=polyInOut,exports2.easePolyIn=polyIn,exports2.easePolyInOut=polyInOut,exports2.easePolyOut=polyOut,exports2.easeQuad=quadInOut,exports2.easeQuadIn=quadIn,exports2.easeQuadInOut=quadInOut,exports2.easeQuadOut=quadOut,exports2.easeSin=sinInOut,exports2.easeSinIn=sinIn,exports2.easeSinInOut=sinInOut,exports2.easeSinOut=sinOut,exports2.entries=entries,exports2.extent=extent,exports2.fontAwsesomeStyle=fontAwsesomeStyle,exports2.formatDefaultLocale=defaultLocale$1,exports2.formatLocale=formatLocale$1,exports2.formatSpecifier=formatSpecifier,exports2.gray=gray,exports2.hcl=hcl$2,exports2.histogram=histogram,exports2.hsl=hsl$2,exports2.interpolate=interpolate$1,exports2.interpolateArray=array$2,exports2.interpolateBasis=basis$1,exports2.interpolateBasisClosed=basisClosed,exports2.interpolateCool=cool,exports2.interpolateCubehelix=cubehelix$2,exports2.interpolateCubehelixDefault=cubehelix,exports2.interpolateCubehelixLong=cubehelixLong,exports2.interpolateDate=date$1,exports2.interpolateDiscrete=discrete,exports2.interpolateHcl=hcl$1,exports2.interpolateHclLong=hclLong,exports2.interpolateHsl=hsl$1,exports2.interpolateHslLong=hslLong,exports2.interpolateHue=hue,exports2.interpolateInferno=inferno,exports2.interpolateLab=lab,exports2.interpolateMagma=magma,exports2.interpolateNumber=reinterpolate$1,exports2.interpolateNumberArray=numberArray,exports2.interpolateObject=object,exports2.interpolatePlasma=plasma,exports2.interpolateRainbow=rainbow$2,exports2.interpolateRgb=interpolateRgb,exports2.interpolateRgbBasis=rgbBasis,exports2.interpolateRgbBasisClosed=rgbBasisClosed,exports2.interpolateRound=interpolateRound,exports2.interpolateString=interpolateString,exports2.interpolateTransformCss=interpolateTransformCss,exports2.interpolateTransformSvg=interpolateTransformSvg,exports2.interpolateViridis=d3InterpolateViridis,exports2.interpolateWarm=warm,exports2.interpolateZoom=interpolateZoom,exports2.interrupt=interrupt,exports2.isoFormat=formatIso,exports2.isoParse=parseIso,exports2.keys=keys,exports2.lab=lab$1,exports2.lch=lch,exports2.local=local$1,exports2.map=map$2,exports2.matcher=matcher,exports2.max=d3Max,exports2.mean=d3Mean,exports2.median=d3Median,exports2.merge=merge,exports2.min=d3Min,exports2.mouse=mouse,exports2.namespace=namespace,exports2.namespaces=namespaces,exports2.nest=d3Nest,exports2.pairs=pairs,exports2.permute=permute,exports2.piecewise=piecewise,exports2.precisionFixed=precisionFixed,exports2.precisionPrefix=precisionPrefix,exports2.precisionRound=precisionRound,exports2.quantile=threshold$1,exports2.quantize=quantize$1,exports2.range=sequence,exports2.rgb=rgb,exports2.scaleBand=band,exports2.scaleIdentity=identity$1,exports2.scaleImplicit=implicit,exports2.scaleLinear=linear,exports2.scaleLog=log,exports2.scaleOrdinal=ordinal$1,exports2.scalePoint=point,exports2.scalePow=pow,exports2.scaleQuantile=quantile,exports2.scaleQuantize=quantize,exports2.scaleSequential=sequential,exports2.scaleSqrt=sqrt,exports2.scaleThreshold=threshold,exports2.scaleTime=time,exports2.scaleUtc=utcTime,exports2.scan=scan,exports2.schemeCategory10=d3SchemeCategory10,exports2.schemeCategory20=d3SchemeCategory20,exports2.schemeCategory20b=d3SchemeCategory20b,exports2.schemeCategory20c=d3SchemeCategory20c,exports2.select=select,exports2.selectAll=selectAll,exports2.selection=selection,exports2.selector=selector,exports2.selectorAll=selectorAll,exports2.set=set,exports2.shuffle=shuffle,exports2.style=styleValue,exports2.sum=d3Sum,exports2.thresholdFreedmanDiaconis=freedmanDiaconis,exports2.thresholdScott=scott,exports2.thresholdSturges=sturges,exports2.tickIncrement=tickIncrement,exports2.tickStep=tickStep,exports2.ticks=ticks,exports2.timeFormatDefaultLocale=defaultLocale,exports2.timeFormatLocale=formatLocale,exports2.touch=touch,exports2.touches=touches,exports2.transition=transition,exports2.transpose=transpose,exports2.tsvFormat=tsvFormat,exports2.tsvFormatBody=tsvFormatBody,exports2.tsvFormatRow=tsvFormatRow,exports2.tsvFormatRows=tsvFormatRows,exports2.tsvFormatValue=tsvFormatValue,exports2.tsvParse=tsvParse,exports2.tsvParseRows=tsvParseRows,exports2.values=d3Values,exports2.variance=d3Variance,exports2.window=defaultView,exports2.zip=zip,exports2.zoom=d3Zoom,exports2.zoomIdentity=identity,exports2.zoomTransform=transform,Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});
|
|
28
|
+
`}start(){this._running=!0,this.updateProgress(this.halfLife(),10)}finish(){this.updateProgress(100,100)}enter(domNode,element2){if(this._elementID=element2.attr("id"),!this._elementID)throw new Error("Target element requires an id attribute.");this._style=element2.insert("style")}exit(_domNode,_element){this._running=!1,this._style&&this._style.remove(),delete this._style}updateProgress(halflife,perc){if(!this._running)return;this._style&&this._style.html(this.calcCSS(halflife,perc));const percLimit=95;halflife*=this.decay(),perc=perc||10,perc<percLimit?setTimeout(()=>{const _remaining=100-perc;this.updateProgress(halflife,perc+_remaining/2)},perc===10?100:halflife):perc===100&&setTimeout(()=>{this._running=!1,this._style&&this._style.html("")},halflife)}}ProgressBar.prototype._class+=" common_ProgressBar",ProgressBar.prototype.publish("halfLife",5e3,"number","Half Life"),ProgressBar.prototype.publish("decay",1.2,"number","Decay"),ProgressBar.prototype.publish("size",2,"number","Size"),ProgressBar.prototype.publish("color","#2ed573","string","Color"),ProgressBar.prototype.publish("blurBar",!0,"boolean","Bar Blur"),ProgressBar.prototype.publish("blurSize",50,"number","Blur Size"),ProgressBar.prototype.publish("blurColor","#7bed9f","string","Blur Color (hex)",null,{optional:!0}),ProgressBar.prototype.publish("blurOpacity",.35,"number","Blur Opacity");function nopropagation$2(){exports2.event.stopImmediatePropagation()}function noevent$2(){exports2.event.preventDefault(),exports2.event.stopImmediatePropagation()}function dragDisable(view){var root2=view.document.documentElement,selection2=select(view).on("dragstart.drag",noevent$2,!0);"onselectstart"in root2?selection2.on("selectstart.drag",noevent$2,!0):(root2.__noselect=root2.style.MozUserSelect,root2.style.MozUserSelect="none")}function yesdrag(view,noclick){var root2=view.document.documentElement,selection2=select(view).on("dragstart.drag",null);noclick&&(selection2.on("click.drag",noevent$2,!0),setTimeout(function(){selection2.on("click.drag",null)},0)),"onselectstart"in root2?selection2.on("selectstart.drag",null):(root2.style.MozUserSelect=root2.__noselect,delete root2.__noselect)}function constant$2(x){return function(){return x}}function DragEvent(target,type2,subject,id2,active2,x,y,dx,dy,dispatch2){this.target=target,this.type=type2,this.subject=subject,this.identifier=id2,this.active=active2,this.x=x,this.y=y,this.dx=dx,this.dy=dy,this._=dispatch2}DragEvent.prototype.on=function(){var value=this._.on.apply(this._,arguments);return value===this._?this:value};function defaultFilter$2(){return!exports2.event.ctrlKey&&!exports2.event.button}function defaultContainer(){return this.parentNode}function defaultSubject(d){return d??{x:exports2.event.x,y:exports2.event.y}}function defaultTouchable$2(){return navigator.maxTouchPoints||"ontouchstart"in this}function d3Drag(){var filter=defaultFilter$2,container=defaultContainer,subject=defaultSubject,touchable=defaultTouchable$2,gestures={},listeners=dispatch("start","drag","end"),active2=0,mousedownx,mousedowny,mousemoving,touchending,clickDistance2=0;function drag(selection2){selection2.on("mousedown.drag",mousedowned).filter(touchable).on("touchstart.drag",touchstarted).on("touchmove.drag",touchmoved).on("touchend.drag touchcancel.drag",touchended).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function mousedowned(){if(!(touchending||!filter.apply(this,arguments))){var gesture=beforestart("mouse",container.apply(this,arguments),mouse,this,arguments);gesture&&(select(exports2.event.view).on("mousemove.drag",mousemoved,!0).on("mouseup.drag",mouseupped,!0),dragDisable(exports2.event.view),nopropagation$2(),mousemoving=!1,mousedownx=exports2.event.clientX,mousedowny=exports2.event.clientY,gesture("start"))}}function mousemoved(){if(noevent$2(),!mousemoving){var dx=exports2.event.clientX-mousedownx,dy=exports2.event.clientY-mousedowny;mousemoving=dx*dx+dy*dy>clickDistance2}gestures.mouse("drag")}function mouseupped(){select(exports2.event.view).on("mousemove.drag mouseup.drag",null),yesdrag(exports2.event.view,mousemoving),noevent$2(),gestures.mouse("end")}function touchstarted(){if(filter.apply(this,arguments)){var touches2=exports2.event.changedTouches,c=container.apply(this,arguments),n=touches2.length,i,gesture;for(i=0;i<n;++i)(gesture=beforestart(touches2[i].identifier,c,touch,this,arguments))&&(nopropagation$2(),gesture("start"))}}function touchmoved(){var touches2=exports2.event.changedTouches,n=touches2.length,i,gesture;for(i=0;i<n;++i)(gesture=gestures[touches2[i].identifier])&&(noevent$2(),gesture("drag"))}function touchended(){var touches2=exports2.event.changedTouches,n=touches2.length,i,gesture;for(touchending&&clearTimeout(touchending),touchending=setTimeout(function(){touchending=null},500),i=0;i<n;++i)(gesture=gestures[touches2[i].identifier])&&(nopropagation$2(),gesture("end"))}function beforestart(id2,container2,point2,that,args){var p=point2(container2,id2),s,dx,dy,sublisteners=listeners.copy();if(customEvent(new DragEvent(drag,"beforestart",s,id2,active2,p[0],p[1],0,0,sublisteners),function(){return(exports2.event.subject=s=subject.apply(that,args))==null?!1:(dx=s.x-p[0]||0,dy=s.y-p[1]||0,!0)}))return function gesture(type2){var p0=p,n;switch(type2){case"start":gestures[id2]=gesture,n=active2++;break;case"end":delete gestures[id2],--active2;case"drag":p=point2(container2,id2),n=active2;break}customEvent(new DragEvent(drag,type2,s,id2,n,p[0]+dx,p[1]+dy,p[0]-p0[0],p[1]-p0[1],sublisteners),sublisteners.apply,sublisteners,[type2,that,args])}}return drag.filter=function(_){return arguments.length?(filter=typeof _=="function"?_:constant$2(!!_),drag):filter},drag.container=function(_){return arguments.length?(container=typeof _=="function"?_:constant$2(_),drag):container},drag.subject=function(_){return arguments.length?(subject=typeof _=="function"?_:constant$2(_),drag):subject},drag.touchable=function(_){return arguments.length?(touchable=typeof _=="function"?_:constant$2(!!_),drag):touchable},drag.on=function(){var value=listeners.on.apply(listeners,arguments);return value===listeners?drag:value},drag.clickDistance=function(_){return arguments.length?(clickDistance2=(_=+_)*_,drag):Math.sqrt(clickDistance2)},drag}class Surface extends SVGWidget{constructor(){super();__publicField(this,"_origMenuParam");__publicField(this,"_origShowContent");__publicField(this,"_iconWidget");__publicField(this,"_containerWidget");__publicField(this,"_titleRectWidget");__publicField(this,"_textWidget");__publicField(this,"_menuWidget");__publicField(this,"_surfaceButtons");__publicField(this,"_clipRect");__publicField(this,"buttonContainer");this._iconWidget=new Icon().faChar("").paddingPercent(50),this._containerWidget=new Shape().class("container").shape("rect"),this._titleRectWidget=new Shape().class("title").shape("rect"),this._textWidget=new Text().class("title"),this._menuWidget=new Menu().paddingPercent(0);const context=this;this._menuWidget.preShowMenu=function(){context.content()&&context.content().hasOverlay()&&context.content().visible(!1)},this._menuWidget.postHideMenu=function(){context.content()&&context.content().hasOverlay()&&context.content().visible(!0)},this._surfaceButtons=[]}enter(_domNode,_element){super.enter(_domNode,_element);const element2=_element.append("g").attr("class","frame"),domNode=element2.node();this._clipRect=element2.append("defs").append("clipPath").attr("id",this.id()+"_clip").append("rect").attr("x",0).attr("y",0).attr("width",this._size.width).attr("height",this._size.height),this._titleRectWidget.target(domNode).render().display(this.showTitle()&&this.showIcon()),this._iconWidget.target(domNode).render(),this._menuWidget.target(_domNode),this._textWidget.target(domNode),this._containerWidget.target(domNode),this.buttonContainer=select(this._target).append("div").attr("class","svg-button-container")}update(domNode,element2){super.update(domNode,element2);const context=this;let width=this.width()-1;const height=this.height()-1;this._iconWidget.display(this.showTitle()&&this.showIcon()).shape(this.icon_shape()).render(),this._menuWidget.render(),this._textWidget.text(this.title()).display(this.showTitle()).render();const surfaceButtons=this.buttonContainer.selectAll(".surface-button").data(this.buttonAnnotations());surfaceButtons.enter().append("button").attr("class","surface-button").each(function(button,idx){const el=context._surfaceButtons[idx]=select(this).attr("class","surface-button "+(button.class?button.class:"")).attr("id",button.id).style("padding",button.padding).style("width",button.width).style("height",button.height).style("cursor","pointer").on("click",function(d){context.click(d)});button.font==="FontAwesome"?el.append("i").attr("class","fa").text(function(){return button.label}):el.text(function(){return button.label})}),surfaceButtons.exit().each(function(_d,idx){const element22=select(this);delete context._surfaceButtons[idx],element22.remove()});const buttonClientHeight=this.showTitle()?Math.max.apply(null,this._surfaceButtons.map(function(d){return d.node().offsetHeight})):0,iconClientSize=this.showTitle()&&this.showIcon()?this._iconWidget.getBBox(!0):{width:0,height:0},textClientSize=this._textWidget.getBBox(!0),menuClientSize=this._menuWidget.getBBox(!0),_titleRegionHeight=Math.max(iconClientSize.height,textClientSize.height,menuClientSize.height,buttonClientHeight),titleRegionHeight=this.showTitle()?_titleRegionHeight:0,yTitle=(-height+_titleRegionHeight)/2,titleTextHeight=this.showTitle()?Math.max(textClientSize.height,menuClientSize.height,buttonClientHeight):0,titleTextWidth=this.showTitle()?textClientSize.width+menuClientSize.width:0;titleTextWidth>width&&(width=titleTextWidth);const topMargin=titleRegionHeight<=titleTextHeight?0:(titleRegionHeight-titleTextHeight)/2,leftMargin=topMargin;this._titleRectWidget.pos({x:leftMargin,y:yTitle}).width(width-leftMargin*2).height(titleTextHeight).display(this.showTitle()).render(),this._iconWidget.move({x:-width/2+iconClientSize.width/2,y:yTitle}),this._menuWidget.move({x:width/2-menuClientSize.width/2-this.menuPadding(),y:yTitle}),this._textWidget.move({x:(iconClientSize.width/2-menuClientSize.width/2)/2,y:yTitle});const xPos=context._titleRectWidget.node().getBoundingClientRect().left+(context._size.width-leftMargin*2)-context.buttonGutter()-this.buttonContainer.node().offsetWidth,yPos=context._titleRectWidget.node().getBoundingClientRect().top+(titleTextHeight-this.buttonContainer.node().offsetHeight)/2;if(isNaN(xPos)||this.buttonContainer.style("left",xPos+"px"),isNaN(yPos)||this.buttonContainer.style("top",yPos+"px"),this.showTitle()?this._containerWidget.pos({x:leftMargin/2,y:titleRegionHeight/2-topMargin/2}).width(width-leftMargin).height(height-titleRegionHeight+topMargin).render():this._containerWidget.pos({x:0,y:0}).width(width).height(height).render(),this.showContent()){const xOffset=leftMargin,yOffset=titleRegionHeight-topMargin,content=element2.selectAll(".content").data(this.content()?[this.content()]:[],function(d){return d._id});content.enter().append("g").attr("class","content").attr("clip-path","url(#"+this.id()+"_clip)").each(function(d){d.target(this)}).merge(content).attr("transform","translate("+leftMargin/2+", "+(titleRegionHeight/2-topMargin/2)+")").each(function(d){const padding={left:0,top:0,right:1,bottom:1};d.resize({width:width-xOffset-(padding.left+padding.right),height:height-yOffset-(padding.top+padding.bottom)})}),this.content()&&this._clipRect.attr("x",-(width-xOffset)/2).attr("y",-(height-yOffset)/2).attr("width",width-xOffset).attr("height",height-yOffset),content.exit().transition().each(function(d){d.target(null)}).remove()}this._menuWidget.element()&&this._menuWidget.element().node()&&this._menuWidget.element().node().parentNode&&this._menuWidget.element().node().parentNode.appendChild(this._menuWidget.element().node())}exit(domNode,element2){this._titleRectWidget.target(null),this._iconWidget.target(null),this._menuWidget.target(null),this._textWidget.target(null),this._containerWidget.target(null),this.content()&&this.content().target(null),super.exit(domNode,element2)}intersection(pointA,pointB){const hits=[],i1=this._iconWidget.intersection(pointA,pointB,this._pos);i1&&hits.push({i:i1,d:this.distance(i1,pointB)});const i2=this._titleRectWidget.intersection(pointA,pointB);i2&&hits.push({i:i2,d:this.distance(i2,pointB)});const i3=this._containerWidget.intersection(pointA,pointB);i3&&hits.push({i:i3,d:this.distance(i3,pointB)});let nearest=null;return hits.forEach(function(item){(nearest===null||nearest.d>item.d)&&(nearest=item)}),nearest&&nearest.i?nearest.i:null}click(d){}}Surface.prototype._class+=" common_Surface",Surface.prototype.publish("showTitle",!0,"boolean","Show Title",null,{tags:["Basic"]}),Surface.prototype.publish("title","","string","Title",null,{tags:["Basic"]}),Surface.prototype.publishProxy("titleFontSize","_textWidget","fontSize"),Surface.prototype.publish("showIcon",!0,"boolean","Show Title",null,{tags:["Advanced"]}),Surface.prototype.publishProxy("icon_faChar","_iconWidget","faChar"),Surface.prototype.publishProxy("icon_shape","_iconWidget","shape"),Surface.prototype.publish("content",null,"widget","Content",null,{tags:["Private"]}),Surface.prototype.publish("buttonAnnotations",[],"array","Button Array",null,{tags:["Intermediate"]}),Surface.prototype.publish("buttonGutter",25,"number","Space Between Menu and Buttons",null,{tags:["Intermediate"]}),Surface.prototype.publish("showContent",!0,"boolean","Show Content",null,{tags:["Intermediate"]}),Surface.prototype.publish("menu",[],"array","Menu List Data",null,{tags:["Intermediate"]}),Surface.prototype.publish("menuPadding",2,"number","Menu Padding",null,{tags:["Advanced"]}),Surface.prototype._origMenuParam=Surface.prototype.menu,Surface.prototype.menu=function(_){return Surface.prototype._origMenuParam.apply(this,arguments),arguments.length?(this._menuWidget.data(_),this):this._menuWidget.data()},Surface.prototype._origShowContent=Surface.prototype.showContent,Surface.prototype.showContent=function(_){const retVal=Surface.prototype._origShowContent.apply(this,arguments);return arguments.length&&this.content()&&this.content().visible(this.showContent()),retVal};class ResizeSurface extends Surface{constructor(){super();__publicField(this,"handleWidth");__publicField(this,"handles");__publicField(this,"dispatch");__publicField(this,"drag");__publicField(this,"_domNode");__publicField(this,"_dragHandlePos");__publicField(this,"_dragStartPos");__publicField(this,"_dragStartSize");__publicField(this,"_prevPosSize");__publicField(this,"_textPosSize");__publicField(this,"_iconPosSize");this.handleWidth=8,this.handles=[{loc:"NW"},{loc:"N"},{loc:"NE"},{loc:"E"},{loc:"SE"},{loc:"S"},{loc:"SW"},{loc:"W"}];const context=this;this.dispatch=dispatch("sizestart","size","sizeend"),this.drag=d3Drag().subject(function(d){return d}),this.drag.on("start",function(d){context.dispatch.call("sizestart",context,d.loc),context.allowResize()&&(exports2.event.sourceEvent.stopPropagation(),context._dragHandlePos={x:d.x,y:d.y},context._dragStartPos=context.pos(),context._dragStartSize=context.size(),context._prevPosSize={x:context._dragStartPos.x,y:context._dragStartPos.y,width:context._dragStartSize.width,height:context._dragStartSize.height},context._textPosSize=context._textWidget.getBBox(!0),context._iconPosSize=context._iconWidget.getBBox(!0),context.showContent(!1))}).on("drag",function(d){if(context.allowResize()){exports2.event.sourceEvent.stopPropagation();const _dx=exports2.event.x-context._dragHandlePos.x,_dy=exports2.event.y-context._dragHandlePos.y,delta={x:0,y:0,w:0,h:0};switch(d.loc){case"NW":delta.x=_dx/2,delta.w=-_dx;case"N":delta.y=_dy/2,delta.h=-_dy;break;case"NE":delta.y=_dy/2,delta.h=-_dy;case"E":delta.x=_dx/2,delta.w=_dx;break;case"SE":delta.x=_dx/2,delta.w=_dx;case"S":delta.y=_dy/2,delta.h=_dy;break;case"SW":delta.y=_dy/2,delta.h=_dy;case"W":delta.x=_dx/2,delta.w=-_dx;break}const posSize={x:context._dragStartPos.x+delta.x,y:context._dragStartPos.y+delta.y,width:context._dragStartSize.width+delta.w,height:context._dragStartSize.height+delta.h};posSize.width<context._iconPosSize.width*2+context._textPosSize.width&&(posSize.x=context._prevPosSize.x,posSize.width=context._prevPosSize.width),posSize.height<context._textPosSize.height+48&&(posSize.y=context._prevPosSize.y,posSize.height=context._prevPosSize.height),context.pos({x:posSize.x,y:posSize.y}).size({width:posSize.width,height:posSize.height}).render().getBBox(!0),context.dispatch.call("size",context,d.loc),context._prevPosSize=posSize}}).on("end",function(d){context.allowResize()&&(exports2.event.sourceEvent.stopPropagation(),context.showContent(!0).render(),context._containerWidget.getBBox(!0),context._titleRectWidget.getBBox(!0),context.dispatch.call("sizeend",context,d.loc))})}move(_){const retVal=super.move.apply(this,arguments);return this.updateHandles(this._domNode,this._element),retVal}update(domNode,element2){super.update(domNode,element2),this.updateHandles(domNode,element2)}updateHandles(_domNode,_element){const sizeHandles=this._placeholderElement.selectAll("rect").data(this.handles,function(d){return d.loc}),sizeHandlesEnter=sizeHandles.enter().append("rect").attr("class",function(d){return"resize"+d.loc}).call(this.drag),l=this._pos.x+this._containerWidget._pos.x-this._containerWidget.width()/2,t=this._pos.y+this._titleRectWidget._pos.y-this._titleRectWidget.height()/2,r=this._pos.x+this._containerWidget._pos.x+this._containerWidget.width()/2,b=this._pos.y+this._containerWidget._pos.y+this._containerWidget.height()/2,w=r-l,h=b-t,context=this;sizeHandlesEnter.merge(sizeHandles).each(function(d){switch(d.loc){case"NW":d.x=l-context.handleWidth/2,d.y=t-context.handleWidth/2,d.width=context.handleWidth,d.height=context.handleWidth;break;case"N":d.x=l+context.handleWidth/2,d.y=t-context.handleWidth/2,d.width=w-context.handleWidth,d.height=context.handleWidth;break;case"NE":d.x=r-context.handleWidth/2,d.y=t-context.handleWidth/2,d.width=context.handleWidth,d.height=context.handleWidth;break;case"E":d.x=r-context.handleWidth/2,d.y=t+context.handleWidth/2,d.width=context.handleWidth,d.height=h-context.handleWidth;break;case"SE":d.x=r-context.handleWidth/2,d.y=b-context.handleWidth/2,d.width=context.handleWidth,d.height=context.handleWidth;break;case"S":d.x=l+context.handleWidth/2,d.y=b-context.handleWidth/2,d.width=w-context.handleWidth,d.height=context.handleWidth;break;case"SW":d.x=l-context.handleWidth/2,d.y=b-context.handleWidth/2,d.width=context.handleWidth,d.height=context.handleWidth;break;case"W":d.x=l-context.handleWidth/2,d.y=t+context.handleWidth/2,d.width=context.handleWidth,d.height=h-context.handleWidth;break}select(this).attr("x",d.x).attr("y",d.y).attr("width",d.width).attr("height",d.height)})}}ResizeSurface.prototype._class+=" common_ResizeSurface",ResizeSurface.prototype.publish("allowResize",!0,"boolean","Sets if surface can be resized",null,{tags:["Private","Shared"]});function constant$1(x){return function(){return x}}function ZoomEvent(target,type2,transform2){this.target=target,this.type=type2,this.transform=transform2}function Transform(k,x,y){this.k=k,this.x=x,this.y=y}Transform.prototype={constructor:Transform,scale:function(k){return k===1?this:new Transform(this.k*k,this.x,this.y)},translate:function(x,y){return x===0&y===0?this:new Transform(this.k,this.x+this.k*x,this.y+this.k*y)},apply:function(point2){return[point2[0]*this.k+this.x,point2[1]*this.k+this.y]},applyX:function(x){return x*this.k+this.x},applyY:function(y){return y*this.k+this.y},invert:function(location){return[(location[0]-this.x)/this.k,(location[1]-this.y)/this.k]},invertX:function(x){return(x-this.x)/this.k},invertY:function(y){return(y-this.y)/this.k},rescaleX:function(x){return x.copy().domain(x.range().map(this.invertX,this).map(x.invert,x))},rescaleY:function(y){return y.copy().domain(y.range().map(this.invertY,this).map(y.invert,y))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var identity=new Transform(1,0,0);transform.prototype=Transform.prototype;function transform(node){for(;!node.__zoom;)if(!(node=node.parentNode))return identity;return node.__zoom}function nopropagation$1(){exports2.event.stopImmediatePropagation()}function noevent$1(){exports2.event.preventDefault(),exports2.event.stopImmediatePropagation()}function defaultFilter$1(){return!exports2.event.ctrlKey&&!exports2.event.button}function defaultExtent$1(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function defaultTransform(){return this.__zoom||identity}function defaultWheelDelta(){return-exports2.event.deltaY*(exports2.event.deltaMode===1?.05:exports2.event.deltaMode?1:.002)}function defaultTouchable$1(){return navigator.maxTouchPoints||"ontouchstart"in this}function defaultConstrain(transform2,extent2,translateExtent){var dx0=transform2.invertX(extent2[0][0])-translateExtent[0][0],dx1=transform2.invertX(extent2[1][0])-translateExtent[1][0],dy0=transform2.invertY(extent2[0][1])-translateExtent[0][1],dy1=transform2.invertY(extent2[1][1])-translateExtent[1][1];return transform2.translate(dx1>dx0?(dx0+dx1)/2:Math.min(0,dx0)||Math.max(0,dx1),dy1>dy0?(dy0+dy1)/2:Math.min(0,dy0)||Math.max(0,dy1))}function d3Zoom(){var filter=defaultFilter$1,extent2=defaultExtent$1,constrain=defaultConstrain,wheelDelta=defaultWheelDelta,touchable=defaultTouchable$1,scaleExtent=[0,1/0],translateExtent=[[-1/0,-1/0],[1/0,1/0]],duration=250,interpolate2=interpolateZoom,listeners=dispatch("start","zoom","end"),touchstarting,touchending,touchDelay=500,wheelDelay=150,clickDistance2=0;function zoom(selection2){selection2.property("__zoom",defaultTransform).on("wheel.zoom",wheeled).on("mousedown.zoom",mousedowned).on("dblclick.zoom",dblclicked).filter(touchable).on("touchstart.zoom",touchstarted).on("touchmove.zoom",touchmoved).on("touchend.zoom touchcancel.zoom",touchended).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}zoom.transform=function(collection,transform2,point2){var selection2=collection.selection?collection.selection():collection;selection2.property("__zoom",defaultTransform),collection!==selection2?schedule2(collection,transform2,point2):selection2.interrupt().each(function(){gesture(this,arguments).start().zoom(null,typeof transform2=="function"?transform2.apply(this,arguments):transform2).end()})},zoom.scaleBy=function(selection2,k,p){zoom.scaleTo(selection2,function(){var k0=this.__zoom.k,k1=typeof k=="function"?k.apply(this,arguments):k;return k0*k1},p)},zoom.scaleTo=function(selection2,k,p){zoom.transform(selection2,function(){var e=extent2.apply(this,arguments),t02=this.__zoom,p0=p==null?centroid(e):typeof p=="function"?p.apply(this,arguments):p,p1=t02.invert(p0),k1=typeof k=="function"?k.apply(this,arguments):k;return constrain(translate(scale(t02,k1),p0,p1),e,translateExtent)},p)},zoom.translateBy=function(selection2,x,y){zoom.transform(selection2,function(){return constrain(this.__zoom.translate(typeof x=="function"?x.apply(this,arguments):x,typeof y=="function"?y.apply(this,arguments):y),extent2.apply(this,arguments),translateExtent)})},zoom.translateTo=function(selection2,x,y,p){zoom.transform(selection2,function(){var e=extent2.apply(this,arguments),t=this.__zoom,p0=p==null?centroid(e):typeof p=="function"?p.apply(this,arguments):p;return constrain(identity.translate(p0[0],p0[1]).scale(t.k).translate(typeof x=="function"?-x.apply(this,arguments):-x,typeof y=="function"?-y.apply(this,arguments):-y),e,translateExtent)},p)};function scale(transform2,k){return k=Math.max(scaleExtent[0],Math.min(scaleExtent[1],k)),k===transform2.k?transform2:new Transform(k,transform2.x,transform2.y)}function translate(transform2,p0,p1){var x=p0[0]-p1[0]*transform2.k,y=p0[1]-p1[1]*transform2.k;return x===transform2.x&&y===transform2.y?transform2:new Transform(transform2.k,x,y)}function centroid(extent3){return[(+extent3[0][0]+ +extent3[1][0])/2,(+extent3[0][1]+ +extent3[1][1])/2]}function schedule2(transition2,transform2,point2){transition2.on("start.zoom",function(){gesture(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){gesture(this,arguments).end()}).tween("zoom",function(){var that=this,args=arguments,g=gesture(that,args),e=extent2.apply(that,args),p=point2==null?centroid(e):typeof point2=="function"?point2.apply(that,args):point2,w=Math.max(e[1][0]-e[0][0],e[1][1]-e[0][1]),a=that.__zoom,b=typeof transform2=="function"?transform2.apply(that,args):transform2,i=interpolate2(a.invert(p).concat(w/a.k),b.invert(p).concat(w/b.k));return function(t){if(t===1)t=b;else{var l=i(t),k=w/l[2];t=new Transform(k,p[0]-l[0]*k,p[1]-l[1]*k)}g.zoom(null,t)}})}function gesture(that,args,clean){return!clean&&that.__zooming||new Gesture(that,args)}function Gesture(that,args){this.that=that,this.args=args,this.active=0,this.extent=extent2.apply(that,args),this.taps=0}Gesture.prototype={start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(key,transform2){return this.mouse&&key!=="mouse"&&(this.mouse[1]=transform2.invert(this.mouse[0])),this.touch0&&key!=="touch"&&(this.touch0[1]=transform2.invert(this.touch0[0])),this.touch1&&key!=="touch"&&(this.touch1[1]=transform2.invert(this.touch1[0])),this.that.__zoom=transform2,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(type2){customEvent(new ZoomEvent(zoom,type2,this.that.__zoom),listeners.apply,listeners,[type2,this.that,this.args])}};function wheeled(){if(!filter.apply(this,arguments))return;var g=gesture(this,arguments),t=this.__zoom,k=Math.max(scaleExtent[0],Math.min(scaleExtent[1],t.k*Math.pow(2,wheelDelta.apply(this,arguments)))),p=mouse(this);if(g.wheel)(g.mouse[0][0]!==p[0]||g.mouse[0][1]!==p[1])&&(g.mouse[1]=t.invert(g.mouse[0]=p)),clearTimeout(g.wheel);else{if(t.k===k)return;g.mouse=[p,t.invert(p)],interrupt(this),g.start()}noevent$1(),g.wheel=setTimeout(wheelidled,wheelDelay),g.zoom("mouse",constrain(translate(scale(t,k),g.mouse[0],g.mouse[1]),g.extent,translateExtent));function wheelidled(){g.wheel=null,g.end()}}function mousedowned(){if(touchending||!filter.apply(this,arguments))return;var g=gesture(this,arguments,!0),v=select(exports2.event.view).on("mousemove.zoom",mousemoved,!0).on("mouseup.zoom",mouseupped,!0),p=mouse(this),x0=exports2.event.clientX,y0=exports2.event.clientY;dragDisable(exports2.event.view),nopropagation$1(),g.mouse=[p,this.__zoom.invert(p)],interrupt(this),g.start();function mousemoved(){if(noevent$1(),!g.moved){var dx=exports2.event.clientX-x0,dy=exports2.event.clientY-y0;g.moved=dx*dx+dy*dy>clickDistance2}g.zoom("mouse",constrain(translate(g.that.__zoom,g.mouse[0]=mouse(g.that),g.mouse[1]),g.extent,translateExtent))}function mouseupped(){v.on("mousemove.zoom mouseup.zoom",null),yesdrag(exports2.event.view,g.moved),noevent$1(),g.end()}}function dblclicked(){if(filter.apply(this,arguments)){var t02=this.__zoom,p0=mouse(this),p1=t02.invert(p0),k1=t02.k*(exports2.event.shiftKey?.5:2),t12=constrain(translate(scale(t02,k1),p0,p1),extent2.apply(this,arguments),translateExtent);noevent$1(),duration>0?select(this).transition().duration(duration).call(schedule2,t12,p0):select(this).call(zoom.transform,t12)}}function touchstarted(){if(filter.apply(this,arguments)){var touches2=exports2.event.touches,n=touches2.length,g=gesture(this,arguments,exports2.event.changedTouches.length===n),started,i,t,p;for(nopropagation$1(),i=0;i<n;++i)t=touches2[i],p=touch(this,touches2,t.identifier),p=[p,this.__zoom.invert(p),t.identifier],g.touch0?!g.touch1&&g.touch0[2]!==p[2]&&(g.touch1=p,g.taps=0):(g.touch0=p,started=!0,g.taps=1+!!touchstarting);touchstarting&&(touchstarting=clearTimeout(touchstarting)),started&&(g.taps<2&&(touchstarting=setTimeout(function(){touchstarting=null},touchDelay)),interrupt(this),g.start())}}function touchmoved(){if(this.__zooming){var g=gesture(this,arguments),touches2=exports2.event.changedTouches,n=touches2.length,i,t,p,l;for(noevent$1(),touchstarting&&(touchstarting=clearTimeout(touchstarting)),g.taps=0,i=0;i<n;++i)t=touches2[i],p=touch(this,touches2,t.identifier),g.touch0&&g.touch0[2]===t.identifier?g.touch0[0]=p:g.touch1&&g.touch1[2]===t.identifier&&(g.touch1[0]=p);if(t=g.that.__zoom,g.touch1){var p0=g.touch0[0],l0=g.touch0[1],p1=g.touch1[0],l1=g.touch1[1],dp=(dp=p1[0]-p0[0])*dp+(dp=p1[1]-p0[1])*dp,dl=(dl=l1[0]-l0[0])*dl+(dl=l1[1]-l0[1])*dl;t=scale(t,Math.sqrt(dp/dl)),p=[(p0[0]+p1[0])/2,(p0[1]+p1[1])/2],l=[(l0[0]+l1[0])/2,(l0[1]+l1[1])/2]}else if(g.touch0)p=g.touch0[0],l=g.touch0[1];else return;g.zoom("touch",constrain(translate(t,p,l),g.extent,translateExtent))}}function touchended(){if(this.__zooming){var g=gesture(this,arguments),touches2=exports2.event.changedTouches,n=touches2.length,i,t;for(nopropagation$1(),touchending&&clearTimeout(touchending),touchending=setTimeout(function(){touchending=null},touchDelay),i=0;i<n;++i)t=touches2[i],g.touch0&&g.touch0[2]===t.identifier?delete g.touch0:g.touch1&&g.touch1[2]===t.identifier&&delete g.touch1;if(g.touch1&&!g.touch0&&(g.touch0=g.touch1,delete g.touch1),g.touch0)g.touch0[1]=this.__zoom.invert(g.touch0[0]);else if(g.end(),g.taps===2){var p=select(this).on("dblclick.zoom");p&&p.apply(this,arguments)}}}return zoom.wheelDelta=function(_){return arguments.length?(wheelDelta=typeof _=="function"?_:constant$1(+_),zoom):wheelDelta},zoom.filter=function(_){return arguments.length?(filter=typeof _=="function"?_:constant$1(!!_),zoom):filter},zoom.touchable=function(_){return arguments.length?(touchable=typeof _=="function"?_:constant$1(!!_),zoom):touchable},zoom.extent=function(_){return arguments.length?(extent2=typeof _=="function"?_:constant$1([[+_[0][0],+_[0][1]],[+_[1][0],+_[1][1]]]),zoom):extent2},zoom.scaleExtent=function(_){return arguments.length?(scaleExtent[0]=+_[0],scaleExtent[1]=+_[1],zoom):[scaleExtent[0],scaleExtent[1]]},zoom.translateExtent=function(_){return arguments.length?(translateExtent[0][0]=+_[0][0],translateExtent[1][0]=+_[1][0],translateExtent[0][1]=+_[0][1],translateExtent[1][1]=+_[1][1],zoom):[[translateExtent[0][0],translateExtent[0][1]],[translateExtent[1][0],translateExtent[1][1]]]},zoom.constrain=function(_){return arguments.length?(constrain=_,zoom):constrain},zoom.duration=function(_){return arguments.length?(duration=+_,zoom):duration},zoom.interpolate=function(_){return arguments.length?(interpolate2=_,zoom):interpolate2},zoom.on=function(){var value=listeners.on.apply(listeners,arguments);return value===listeners?zoom:value},zoom.clickDistance=function(_){return arguments.length?(clickDistance2=(_=+_)*_,zoom):Math.sqrt(clickDistance2)},zoom}class Button extends HTMLWidget{constructor(){super();__publicField(this,"_enabled",!0);__publicField(this,"_i");this._tag="a"}enter(domNode,element2){super.enter(domNode,element2);const context=this;this._i=this._element.attr("href","#").on("click",function(){context.click(),exports2.event.preventDefault()}).on("mousemove",this.mouseMove).on("mouseout",this.mouseOut).append("i")}update(domNode,element2){super.update(domNode,element2),element2.classed("disabled",!this.enabled()).attr("title",this.tooltip()),this._i.attr("class",`fa ${fa5Class(this.faChar())} fa-lg fa-fw`)}click(){}mouseMove(d,idx,groups){}mouseOut(d,idx,groups){}enabled(_){return arguments.length?(this._enabled=_,this):this._enabled}}Button.prototype._class+=" common_Button",Button.prototype.publish("faChar","","string","FontAwesome class"),Button.prototype.publish("tooltip","","string","Displays as the button alt text attribute");class StickyButton extends Button{enter(domNode,element2){super.enter(domNode,element2)}update(domNode,element2){super.update(domNode,element2),element2.classed("selected",this.selected())}}StickyButton.prototype._class+=" common_StickyButton",StickyButton.prototype.publish("selected",!1,"boolean");class ToggleButton extends StickyButton{enter(domNode,element2){element2.on("click.sel",(d,idx,groups)=>{this.selected(!this.selected()).render(),exports2.event.preventDefault()}),super.enter(domNode,element2)}}ToggleButton.prototype._class+=" common_ToggleButton";class Spacer extends HTMLWidget{enter(domNode,element2){super.enter(domNode,element2),element2.attr("class",this.vline()?"spacer vline":"spacer").attr("href","#").append("i")}}Spacer.prototype._class+=" common_Spacer",Spacer.prototype.publish("vline",!0,"boolean");class SelectDropDown extends HTMLWidget{constructor(){super();__publicField(this,"_enabled",!0);this._tag="select"}enabled(_){return arguments.length?(this._enabled=_,this):this._enabled}enter(domNode,element2){super.enter(domNode,element2);const context=this;element2.on("change",function(d){const values=context.values();for(const key in context.values())if(this.value===values[key]){context.selected(key);break}context.click(this.value)})}update(domNode,element2){super.update(domNode,element2),element2.classed("disabled",!this.enabled()).attr("title",this.tooltip());const values=this.values(),options=element2.selectAll(".icon-bar-select-option").data(Object.keys(values)),optionUpdate=options.enter().append("option").attr("class","icon-bar-select-option").merge(options).attr("value",r=>values[r]).attr("selected",r=>r===this.selected()?"selected":null).text(r=>r);options.exit().remove(),optionUpdate.order()}click(value){}mouseMove(d,idx,groups){}mouseOut(d,idx,groups){}}SelectDropDown.prototype._class+=" common_SelectDropDown",SelectDropDown.prototype.publish("values",{},"object","Label, Values"),SelectDropDown.prototype.publish("selected","","string","Selected Item"),SelectDropDown.prototype.publish("tooltip","","string","Displays as the button alt text attribute");class IconBar extends HTMLWidget{constructor(){super();__publicField(this,"_divIconBar");__publicField(this,"_buttons",[])}enter(domNode,element2){super.enter(domNode,element2),this._divIconBar=element2.append("div").attr("class","icon-bar")}update(domNode,element2){super.update(domNode,element2);let buttons=this.buttons().filter(button=>this.hiddenButtons().indexOf(button)<0);buttons=buttons.reduce((prev,item,idx)=>{if(item instanceof Spacer){if(prev.length===0||idx===buttons.length-1)return prev;if(buttons[idx+1]instanceof Spacer)return prev}return prev.push(item),prev},[]);const icons=this._divIconBar.selectAll(".icon-bar-item").data(buttons,d=>d.id());icons.enter().append("div").attr("class","icon-bar-item").each(function(d){d.target(this)}).merge(icons).each(function(d){d.render()}),icons.exit().each(function(d){d.target(null)}).remove(),icons.order()}exit(domNode,element2){this.buttons().forEach(b=>b.target(null)),super.exit(domNode,element2)}}IconBar.prototype._class+=" common_IconBar",IconBar.prototype.publish("buttons",[],"widgetArray",null,{internal:!0}),IconBar.prototype.publish("hiddenButtons",[],"widgetArray",null,{internal:!0});class SelectionButton extends StickyButton{constructor(){super(...arguments);__publicField(this,"_owner")}enter(domNode,element2){element2.on("click.sel",(d,idx,groups)=>{this.selected(!0).render(),exports2.event.preventDefault()}),super.enter(domNode,element2)}selected(_){const retVal=super.selected.apply(this,arguments);return _&&this._owner&&(this._owner.buttons().filter(sb=>sb!==this&&sb instanceof SelectionButton).forEach(sb=>sb.selected(!1).render()),this._owner.selected(this)),retVal}}SelectionButton.prototype._class+=" common_SelectionButton";class SelectionBar extends IconBar{buttons(_){const retVal=super.buttons.apply(this,arguments);return arguments.length&&_.filter(b=>b instanceof SelectionButton).forEach(sb=>{sb._owner=this}),retVal}selected(row){}}SelectionBar.prototype._class+=" common_SelectionBar";class TitleBar extends IconBar{constructor(){super();__publicField(this,"_divTitle");__publicField(this,"_divTitleIcon");__publicField(this,"_divTitleText");__publicField(this,"_divDescriptionText")}enter(domNode,element2){this._divTitle=element2.append("div").attr("class","title-title").style("min-width","0px"),this._divTitleIcon=this._divTitle.append("div").attr("class","title-icon").style("font-family",this.titleIconFont()).style("font-size",`${this.titleIconFontSize()}px`).style("width",`${this.titleIconFontSize()}px`),this._divTitle.append("div").attr("class","data-count"),this._divTitleText=this._divTitle.append("div").attr("class","title-text").style("font-family",this.titleFont()).style("font-size",`${this.titleFontSize()}px`),this._divDescriptionText=this._divTitle.append("div").attr("class","description-text").style("font-family",this.descriptionFont()),super.enter(domNode,element2)}update(domNode,element2){this._divTitleIcon.text(this.titleIcon()).style("display",this.titleIcon()!==""?"inline-block":"none"),this._divTitleText.text(this.title()).attr("title",this.title()),this._divDescriptionText.style("display",this.description_exists()?"block":"none").style("font-size",this.description_exists()?`${this.descriptionFontSize()}px`:null).style("line-height",this.description_exists()?`${this.descriptionFontSize()}px`:null).text(this.description()),super.update(domNode,element2)}}TitleBar.prototype._class+=" common_TitleBar",TitleBar.prototype.publish("titleIcon","","string","Icon text"),TitleBar.prototype.publish("titleIconFont","","string","Icon font-family"),TitleBar.prototype.publish("titleIconFontSize",28,"number","Icon font-size (pixels)"),TitleBar.prototype.publish("title","","string","Title text"),TitleBar.prototype.publish("titleFont","","string","Title font-family"),TitleBar.prototype.publish("titleFontSize",20,"number","Title font-size (pixels)"),TitleBar.prototype.publish("description",null,"string","Description text",null,{optional:!0}),TitleBar.prototype.publish("descriptionFont","","string","Description font-family"),TitleBar.prototype.publish("descriptionFontSize",10,"number","Description font-size (pixels)");class SVGZoomWidget extends SVGWidget{constructor(){super();__publicField(this,"_renderElement");__publicField(this,"_currZoom");__publicField(this,"_zoomScale",1);__publicField(this,"_zoomTranslate",[0,0]);__publicField(this,"_zoomRoot");__publicField(this,"_zoomGrab");__publicField(this,"_zoomG");__publicField(this,"_prevZoomable");__publicField(this,"_marqueeSelectionRoot");__publicField(this,"_marqueeSelection");__publicField(this,"_autoSelectionMode",!1);__publicField(this,"_toggleMarqueeSelection",new ToggleButton().faChar("fa-square-o").tooltip("Marquee Selection").on("click",()=>{this._toggleMarqueeSelection.selected()&&this.mouseMode("marqueeSelection"),this.updateIconBar()}));__publicField(this,"_toggleZoom",new ToggleButton().faChar("fa-mouse-pointer").tooltip("Zoom").on("click",()=>{this._toggleZoom.selected()&&this.mouseMode("zoom"),this.updateIconBar()}));__publicField(this,"_iconBar",new IconBar().buttons([this._toggleMarqueeSelection,this._toggleZoom,new Spacer().vline(!1),new Button().faChar("fa-arrows-alt").tooltip("Zoom to fit").on("click",()=>{this.zoomToFit()}),new Spacer().vline(!1),new Button().faChar("fa-plus").tooltip("Zoom in").on("click",()=>{this.zoomPlus()}),new Button().faChar("fa-minus").tooltip("Zoom out").on("click",()=>{this.zoomMinus()})]));this._currZoom=d3Zoom().scaleExtent([.05,20]).on("zoom end",evt=>{this.onZoomed()})}getScreenBBox(target){let targetel=target;for(;targetel.getScreenCTM==null&&targetel.parentNode==null;)targetel=targetel.parentNode;const bbox={},matrix=targetel.getScreenCTM(),tbbox=targetel.getBBox(),width=tbbox.width,height=tbbox.height,x=tbbox.x,y=tbbox.y,point2=this._placeholderElement.node().createSVGPoint();return point2.x=x,point2.y=y,bbox.nw=point2.matrixTransform(matrix),point2.x+=width,bbox.ne=point2.matrixTransform(matrix),point2.y+=height,bbox.se=point2.matrixTransform(matrix),point2.x-=width,bbox.sw=point2.matrixTransform(matrix),point2.y-=height/2,bbox.w=point2.matrixTransform(matrix),point2.x+=width,bbox.e=point2.matrixTransform(matrix),point2.x-=width/2,point2.y-=height/2,bbox.n=point2.matrixTransform(matrix),point2.y+=height,bbox.s=point2.matrixTransform(matrix),{x:bbox.nw.x,y:bbox.nw.y,width:bbox.se.x-bbox.nw.x,height:bbox.se.y-bbox.nw.y}}zoomScale(){return this._zoomScale}zoomTranslate(){return this._zoomTranslate}zoomExtent(range){this._currZoom.scaleExtent(range)}zoomTo(translate,scale,transitionDuration=250){translate=translate||this._zoomTranslate,scale=scale||this._zoomScale,transitionDuration=transitionDuration===void 0?this.zoomDuration():transitionDuration,this._zoomRoot.transition().duration(transitionDuration).call(this._currZoom.transform,identity.translate(translate[0],translate[1]).scale(scale))}zoomPlus(){this._zoomRoot.transition().call(this._currZoom.scaleBy,1.33)}zoomMinus(){this._zoomRoot.transition().call(this._currZoom.scaleBy,1/1.33)}centerOnBBox(bbox,transitionDuration){if(bbox.width&&bbox.height){const x=bbox.x+bbox.width/2,y=bbox.y+bbox.height/2,width=this.width(),height=this.height(),scale=this.zoomScale(),translate=[width/2-scale*x,height/2-scale*y];this.zoomTo(translate,scale,transitionDuration)}}getRenderElementBBox(){return this._renderElement.node().getBBox()}calcZoomToBBox(bbox,widthOnly=!1,scale){const width=this.width(),height=this.height();if(bbox.width&&bbox.height){const x=bbox.x+bbox.width/2,y=bbox.y+bbox.height/2,dx=bbox.width,dy=bbox.height;let newScale=scale||1/(widthOnly?dx/width:Math.max(dx/width,dy/height));return this.zoomToFitLimit_exists()&&newScale>this.zoomToFitLimit()&&(newScale=this.zoomToFitLimit()),{translate:[width/2-newScale*x,height/2-newScale*y],newScale}}return{translate:[width/2,height/2],newScale:scale}}zoomToBBox(bbox,transitionDuration,widthOnly=!1,scale){const{translate,newScale}=this.calcZoomToBBox(bbox,widthOnly,scale);this.zoomTo(translate,newScale,transitionDuration)}zoomToScale(scale,transitionDuration){if(this._renderElement){const bbox=this.getRenderElementBBox();this.zoomToBBox(bbox,transitionDuration,void 0,scale)}}zoomToWidth(transitionDuration){if(this._renderElement){const bbox=this.getRenderElementBBox();this.zoomToBBox(bbox,transitionDuration,!0)}}zoomToFit(transitionDuration){if(this._renderElement){const bbox=this.getRenderElementBBox();this.zoomToBBox(bbox,transitionDuration)}}onZoomed(){exports2.event&&exports2.event.transform&&this.mouseMode()==="zoom"&&this.zoomed(exports2.event.transform)}zoomed(transform2){this._zoomScale=transform2.k,this._zoomTranslate=[transform2.x,transform2.y],this._zoomG.attr("transform",transform2)}updateIconBar(){this._toggleMarqueeSelection.selected(this.mouseMode()==="marqueeSelection").render(),this._toggleZoom.selected(this.mouseMode()==="zoom").render()}mousedownMarqueeSelection(){const p=mouse(this._marqueeSelectionRoot.node());this._marqueeSelection=this.element().append("rect").attr("class","marqueeSelection").attr("rx",6).attr("ry",6).attr("x",p[0]).attr("y",p[1]).attr("width",0).attr("height",0),this.startMarqueeSelection()}mousemoveMarqueeSelection(){if(this._marqueeSelection){const p=mouse(this._marqueeSelectionRoot.node()),d={x:parseInt(this._marqueeSelection.attr("x"),10),y:parseInt(this._marqueeSelection.attr("y"),10),width:parseInt(this._marqueeSelection.attr("width"),10),height:parseInt(this._marqueeSelection.attr("height"),10)},move={x:p[0]-d.x,y:p[1]-d.y};move.x<1||move.x*2<d.width?(d.x=p[0],d.width-=move.x):d.width=move.x,move.y<1||move.y*2<d.height?(d.y=p[1],d.height-=move.y):d.height=move.y,this._marqueeSelection.attr("x",d.x).attr("y",d.y).attr("width",d.width).attr("height",d.height),this.updateMarqueeSelection({x:(d.x-this._zoomTranslate[0])/this._zoomScale,y:(d.y-this._zoomTranslate[1])/this._zoomScale,width:d.width/this._zoomScale,height:d.height/this._zoomScale})}}mouseupMarqueeSelection(){this._marqueeSelection&&(this._marqueeSelection.remove(),delete this._marqueeSelection,this._autoSelectionMode&&(this._autoSelectionMode=!1,this.mouseMode("zoom"),this.updateIconBar()),this.endMarqueeSelection())}enter(domNode,_element){super.enter(domNode,_element),_element.style("user-select","none"),this._marqueeSelectionRoot=_element.append("rect").attr("class","zoomBackground").attr("width",this.width()).attr("height",this.height()).style("fill","transparent").style("cursor","crosshair").on("mousedown",()=>{this.mousedownMarqueeSelection()}).on("mousemove",()=>{this.mousemoveMarqueeSelection()}).on("mouseup mouseout",()=>{this.mouseupMarqueeSelection()}),this._zoomRoot=_element.append("g"),this._zoomGrab=this._zoomRoot.append("rect").attr("class","zoomBackground").attr("width",this.width()).attr("height",this.height()).style("fill","transparent").on("mousedown",()=>{exports2.event.shiftKey&&this.mouseMode()==="zoom"&&(exports2.event.stopPropagation(),this.mouseMode("marqueeSelection"),this._autoSelectionMode=!0,this.mousedownMarqueeSelection())}),this._zoomG=this._zoomRoot.append("g"),this._renderElement=this._zoomG.append("g"),this._prevZoomable!==this.zoomable()&&(this.zoomable()?this._zoomRoot.call(this._currZoom):this._zoomRoot.on(".zoom",null),this._prevZoomable=this.zoomable()),this._iconBar.target(this._zoomRoot.node())}update(domNode,element2){super.update(domNode,element2),this._zoomGrab.attr("width",this.width()).attr("height",this.height()),this._marqueeSelectionRoot.attr("width",this.width()).attr("height",this.height()),this._iconBar.visible(this.zoomable()&&this.showToolbar()).render(w=>{const bbox=w.getBBox();w.reposition({x:this.width()-bbox.width-4,y:-4})})}exit(domNode,element2){this._iconBar.target(null),super.exit(domNode,element2)}startMarqueeSelection(){}updateMarqueeSelection(rect){}endMarqueeSelection(){}}SVGZoomWidget.prototype._class+=" common_SVGZoomWidget",SVGZoomWidget.prototype.publish("showToolbar",!0,"boolean","Show Toolbar"),SVGZoomWidget.prototype.publish("zoomable",!0,"boolean","Enable/Disable Zooming"),SVGZoomWidget.prototype.publish("zoomDuration",250,"number","Transition Duration"),SVGZoomWidget.prototype.publish("zoomToFitLimit",void 0,"number","Zoom to fit limit",void 0,{optional:!0}),SVGZoomWidget.prototype.publish("mouseMode","zoom","set","Mouse Mode (zoom | marqueeSelection)",["zoom","marqueeSelection"]);const _origMouseMode=SVGZoomWidget.prototype.mouseMode;SVGZoomWidget.prototype.mouseMode=function(_,transitionDuration){const retVal=_origMouseMode.apply(this,arguments);return arguments.length&&(safeRaise(_==="zoom"?this._zoomRoot.node():this._marqueeSelectionRoot.node()),this.updateIconBar()),retVal};class WidgetArray extends Widget{constructor(){super()}}WidgetArray.prototype._class+=" common_WidgetArray",WidgetArray.prototype.publish("content",[],"widgetArray","Widget Array");function constant(x){return function(){return x}}function BrushEvent(target,type2,selection2){this.target=target,this.type=type2,this.selection=selection2}function nopropagation(){exports2.event.stopImmediatePropagation()}function noevent(){exports2.event.preventDefault(),exports2.event.stopImmediatePropagation()}var MODE_DRAG={},MODE_SPACE={name:"space"},MODE_HANDLE={name:"handle"},MODE_CENTER={name:"center"};function number1(e){return[+e[0],+e[1]]}function number2(e){return[number1(e[0]),number1(e[1])]}function toucher(identifier){return function(target){return touch(target,exports2.event.touches,identifier)}}var X={name:"x",handles:["w","e"].map(type),input:function(x,e){return x==null?null:[[+x[0],e[0][1]],[+x[1],e[1][1]]]},output:function(xy){return xy&&[xy[0][0],xy[1][0]]}},Y={name:"y",handles:["n","s"].map(type),input:function(y,e){return y==null?null:[[e[0][0],+y[0]],[e[1][0],+y[1]]]},output:function(xy){return xy&&[xy[0][1],xy[1][1]]}},XY={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(type),input:function(xy){return xy==null?null:number2(xy)},output:function(xy){return xy}},cursors={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},flipX={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},flipY={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},signsX={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},signsY={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function type(t){return{type:t}}function defaultFilter(){return!exports2.event.ctrlKey&&!exports2.event.button}function defaultExtent(){var svg=this.ownerSVGElement||this;return svg.hasAttribute("viewBox")?(svg=svg.viewBox.baseVal,[[svg.x,svg.y],[svg.x+svg.width,svg.y+svg.height]]):[[0,0],[svg.width.baseVal.value,svg.height.baseVal.value]]}function defaultTouchable(){return navigator.maxTouchPoints||"ontouchstart"in this}function local(node){for(;!node.__brush;)if(!(node=node.parentNode))return;return node.__brush}function empty(extent2){return extent2[0][0]===extent2[1][0]||extent2[0][1]===extent2[1][1]}function brushSelection(node){var state=node.__brush;return state?state.dim.output(state.selection):null}function brushX(){return brush$1(X)}function brushY(){return brush$1(Y)}function brush(){return brush$1(XY)}function brush$1(dim){var extent2=defaultExtent,filter=defaultFilter,touchable=defaultTouchable,keys2=!0,listeners=dispatch("start","brush","end"),handleSize=6,touchending;function brush2(group){var overlay=group.property("__brush",initialize).selectAll(".overlay").data([type("overlay")]);overlay.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",cursors.overlay).merge(overlay).each(function(){var extent3=local(this).extent;select(this).attr("x",extent3[0][0]).attr("y",extent3[0][1]).attr("width",extent3[1][0]-extent3[0][0]).attr("height",extent3[1][1]-extent3[0][1])}),group.selectAll(".selection").data([type("selection")]).enter().append("rect").attr("class","selection").attr("cursor",cursors.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var handle=group.selectAll(".handle").data(dim.handles,function(d){return d.type});handle.exit().remove(),handle.enter().append("rect").attr("class",function(d){return"handle handle--"+d.type}).attr("cursor",function(d){return cursors[d.type]}),group.each(redraw).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",started).filter(touchable).on("touchstart.brush",started).on("touchmove.brush",touchmoved).on("touchend.brush touchcancel.brush",touchended).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}brush2.move=function(group,selection2){group.selection?group.on("start.brush",function(){emitter(this,arguments).beforestart().start()}).on("interrupt.brush end.brush",function(){emitter(this,arguments).end()}).tween("brush",function(){var that=this,state=that.__brush,emit=emitter(that,arguments),selection0=state.selection,selection1=dim.input(typeof selection2=="function"?selection2.apply(this,arguments):selection2,state.extent),i=interpolate$1(selection0,selection1);function tween(t){state.selection=t===1&&selection1===null?null:i(t),redraw.call(that),emit.brush()}return selection0!==null&&selection1!==null?tween:tween(1)}):group.each(function(){var that=this,args=arguments,state=that.__brush,selection1=dim.input(typeof selection2=="function"?selection2.apply(that,args):selection2,state.extent),emit=emitter(that,args).beforestart();interrupt(that),state.selection=selection1===null?null:selection1,redraw.call(that),emit.start().brush().end()})},brush2.clear=function(group){brush2.move(group,null)};function redraw(){var group=select(this),selection2=local(this).selection;selection2?(group.selectAll(".selection").style("display",null).attr("x",selection2[0][0]).attr("y",selection2[0][1]).attr("width",selection2[1][0]-selection2[0][0]).attr("height",selection2[1][1]-selection2[0][1]),group.selectAll(".handle").style("display",null).attr("x",function(d){return d.type[d.type.length-1]==="e"?selection2[1][0]-handleSize/2:selection2[0][0]-handleSize/2}).attr("y",function(d){return d.type[0]==="s"?selection2[1][1]-handleSize/2:selection2[0][1]-handleSize/2}).attr("width",function(d){return d.type==="n"||d.type==="s"?selection2[1][0]-selection2[0][0]+handleSize:handleSize}).attr("height",function(d){return d.type==="e"||d.type==="w"?selection2[1][1]-selection2[0][1]+handleSize:handleSize})):group.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function emitter(that,args,clean){var emit=that.__brush.emitter;return emit&&(!clean||!emit.clean)?emit:new Emitter(that,args,clean)}function Emitter(that,args,clean){this.that=that,this.args=args,this.state=that.__brush,this.active=0,this.clean=clean}Emitter.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(){return this.starting?(this.starting=!1,this.emit("start")):this.emit("brush"),this},brush:function(){return this.emit("brush"),this},end:function(){return--this.active===0&&(delete this.state.emitter,this.emit("end")),this},emit:function(type2){customEvent(new BrushEvent(brush2,type2,dim.output(this.state.selection)),listeners.apply,listeners,[type2,this.that,this.args])}};function started(){if(touchending&&!exports2.event.touches||!filter.apply(this,arguments))return;var that=this,type2=exports2.event.target.__data__.type,mode=(keys2&&exports2.event.metaKey?type2="overlay":type2)==="selection"?MODE_DRAG:keys2&&exports2.event.altKey?MODE_CENTER:MODE_HANDLE,signX=dim===Y?null:signsX[type2],signY=dim===X?null:signsY[type2],state=local(that),extent3=state.extent,selection2=state.selection,W=extent3[0][0],w0,w1,N=extent3[0][1],n0,n1,E2=extent3[1][0],e0,e1,S=extent3[1][1],s0,s1,dx=0,dy=0,moving,shifting=signX&&signY&&keys2&&exports2.event.shiftKey,lockX,lockY,pointer=exports2.event.touches?toucher(exports2.event.changedTouches[0].identifier):mouse,point0=pointer(that),point2=point0,emit=emitter(that,arguments,!0).beforestart();type2==="overlay"?(selection2&&(moving=!0),state.selection=selection2=[[w0=dim===Y?W:point0[0],n0=dim===X?N:point0[1]],[e0=dim===Y?E2:w0,s0=dim===X?S:n0]]):(w0=selection2[0][0],n0=selection2[0][1],e0=selection2[1][0],s0=selection2[1][1]),w1=w0,n1=n0,e1=e0,s1=s0;var group=select(that).attr("pointer-events","none"),overlay=group.selectAll(".overlay").attr("cursor",cursors[type2]);if(exports2.event.touches)emit.moved=moved,emit.ended=ended;else{var view=select(exports2.event.view).on("mousemove.brush",moved,!0).on("mouseup.brush",ended,!0);keys2&&view.on("keydown.brush",keydowned,!0).on("keyup.brush",keyupped,!0),dragDisable(exports2.event.view)}nopropagation(),interrupt(that),redraw.call(that),emit.start();function moved(){var point1=pointer(that);shifting&&!lockX&&!lockY&&(Math.abs(point1[0]-point2[0])>Math.abs(point1[1]-point2[1])?lockY=!0:lockX=!0),point2=point1,moving=!0,noevent(),move()}function move(){var t;switch(dx=point2[0]-point0[0],dy=point2[1]-point0[1],mode){case MODE_SPACE:case MODE_DRAG:{signX&&(dx=Math.max(W-w0,Math.min(E2-e0,dx)),w1=w0+dx,e1=e0+dx),signY&&(dy=Math.max(N-n0,Math.min(S-s0,dy)),n1=n0+dy,s1=s0+dy);break}case MODE_HANDLE:{signX<0?(dx=Math.max(W-w0,Math.min(E2-w0,dx)),w1=w0+dx,e1=e0):signX>0&&(dx=Math.max(W-e0,Math.min(E2-e0,dx)),w1=w0,e1=e0+dx),signY<0?(dy=Math.max(N-n0,Math.min(S-n0,dy)),n1=n0+dy,s1=s0):signY>0&&(dy=Math.max(N-s0,Math.min(S-s0,dy)),n1=n0,s1=s0+dy);break}case MODE_CENTER:{signX&&(w1=Math.max(W,Math.min(E2,w0-dx*signX)),e1=Math.max(W,Math.min(E2,e0+dx*signX))),signY&&(n1=Math.max(N,Math.min(S,n0-dy*signY)),s1=Math.max(N,Math.min(S,s0+dy*signY)));break}}e1<w1&&(signX*=-1,t=w0,w0=e0,e0=t,t=w1,w1=e1,e1=t,type2 in flipX&&overlay.attr("cursor",cursors[type2=flipX[type2]])),s1<n1&&(signY*=-1,t=n0,n0=s0,s0=t,t=n1,n1=s1,s1=t,type2 in flipY&&overlay.attr("cursor",cursors[type2=flipY[type2]])),state.selection&&(selection2=state.selection),lockX&&(w1=selection2[0][0],e1=selection2[1][0]),lockY&&(n1=selection2[0][1],s1=selection2[1][1]),(selection2[0][0]!==w1||selection2[0][1]!==n1||selection2[1][0]!==e1||selection2[1][1]!==s1)&&(state.selection=[[w1,n1],[e1,s1]],redraw.call(that),emit.brush())}function ended(){if(nopropagation(),exports2.event.touches){if(exports2.event.touches.length)return;touchending&&clearTimeout(touchending),touchending=setTimeout(function(){touchending=null},500)}else yesdrag(exports2.event.view,moving),view.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);group.attr("pointer-events","all"),overlay.attr("cursor",cursors.overlay),state.selection&&(selection2=state.selection),empty(selection2)&&(state.selection=null,redraw.call(that)),emit.end()}function keydowned(){switch(exports2.event.keyCode){case 16:{shifting=signX&&signY;break}case 18:{mode===MODE_HANDLE&&(signX&&(e0=e1-dx*signX,w0=w1+dx*signX),signY&&(s0=s1-dy*signY,n0=n1+dy*signY),mode=MODE_CENTER,move());break}case 32:{(mode===MODE_HANDLE||mode===MODE_CENTER)&&(signX<0?e0=e1-dx:signX>0&&(w0=w1-dx),signY<0?s0=s1-dy:signY>0&&(n0=n1-dy),mode=MODE_SPACE,overlay.attr("cursor",cursors.selection),move());break}default:return}noevent()}function keyupped(){switch(exports2.event.keyCode){case 16:{shifting&&(lockX=lockY=shifting=!1,move());break}case 18:{mode===MODE_CENTER&&(signX<0?e0=e1:signX>0&&(w0=w1),signY<0?s0=s1:signY>0&&(n0=n1),mode=MODE_HANDLE,move());break}case 32:{mode===MODE_SPACE&&(exports2.event.altKey?(signX&&(e0=e1-dx*signX,w0=w1+dx*signX),signY&&(s0=s1-dy*signY,n0=n1+dy*signY),mode=MODE_CENTER):(signX<0?e0=e1:signX>0&&(w0=w1),signY<0?s0=s1:signY>0&&(n0=n1),mode=MODE_HANDLE),overlay.attr("cursor",cursors[type2]),move());break}default:return}noevent()}}function touchmoved(){emitter(this,arguments).moved()}function touchended(){emitter(this,arguments).ended()}function initialize(){var state=this.__brush||{selection:null};return state.extent=number2(extent2.apply(this,arguments)),state.dim=dim,state}return brush2.extent=function(_){return arguments.length?(extent2=typeof _=="function"?_:constant(number2(_)),brush2):extent2},brush2.filter=function(_){return arguments.length?(filter=typeof _=="function"?_:constant(!!_),brush2):filter},brush2.touchable=function(_){return arguments.length?(touchable=typeof _=="function"?_:constant(!!_),brush2):touchable},brush2.handleSize=function(_){return arguments.length?(handleSize=+_,brush2):handleSize},brush2.keyModifiers=function(_){return arguments.length?(keys2=!!_,brush2):keys2},brush2.on=function(){var value=listeners.on.apply(listeners,arguments);return value===listeners?brush2:value},brush2}const d3Event=()=>exports2.event;exports2.BUILD_VERSION=BUILD_VERSION,exports2.Button=Button,exports2.CanvasWidget=CanvasWidget,exports2.Class=Class,exports2.Database=Database,exports2.Entity=Entity,exports2.EntityCard=EntityCard,exports2.EntityPin=EntityPin,exports2.EntityRect=EntityRect,exports2.EntityRectList=EntityRectList,exports2.EntityVertex=EntityVertex,exports2.FAChar=FAChar,exports2.Field=Field,exports2.FormatSpecifier=FormatSpecifier,exports2.HTMLWidget=HTMLWidget,exports2.Icon=Icon,exports2.IconBar=IconBar,exports2.Image=Image$1,exports2.List=List,exports2.Menu=Menu,exports2.Meta=Meta,exports2.PKG_NAME=PKG_NAME,exports2.PKG_VERSION=PKG_VERSION,exports2.Palette=Palette,exports2.Platform=Platform,exports2.ProgressBar=ProgressBar,exports2.PropertyExt=PropertyExt,exports2.ResizeSurface=ResizeSurface,exports2.SVGGlowFilter=SVGGlowFilter,exports2.SVGWidget=SVGWidget,exports2.SVGZoomWidget=SVGZoomWidget,exports2.SelectDropDown=SelectDropDown,exports2.SelectionBar=SelectionBar,exports2.SelectionButton=SelectionButton,exports2.Shape=Shape,exports2.Spacer=Spacer,exports2.StickyButton=StickyButton,exports2.Surface=Surface,exports2.Text=Text,exports2.TextBox=TextBox,exports2.TitleBar=TitleBar,exports2.ToggleButton=ToggleButton,exports2.Utility=Utility,exports2.Widget=Widget,exports2.WidgetArray=WidgetArray,exports2.active=active,exports2.ascending=ascending,exports2.autoType=autoType,exports2.bisect=bisectRight,exports2.bisectLeft=bisectLeft,exports2.bisectRight=bisectRight,exports2.bisector=bisector,exports2.brush=brush,exports2.brushSelection=brushSelection,exports2.brushX=brushX,exports2.brushY=brushY,exports2.clientPoint=point$1,exports2.color=color,exports2.create=create$1,exports2.creator=creator,exports2.cross=cross,exports2.csvFormat=csvFormat,exports2.csvFormatBody=csvFormatBody,exports2.csvFormatRow=csvFormatRow,exports2.csvFormatRows=csvFormatRows,exports2.csvFormatValue=csvFormatValue,exports2.csvParse=csvParse,exports2.csvParseRows=csvParseRows,exports2.cubehelix=cubehelix$3,exports2.customEvent=customEvent,exports2.d3Event=d3Event,exports2.descending=d3Descending,exports2.deviation=d3Deviation,exports2.dispatch=dispatch,exports2.drag=d3Drag,exports2.dragDisable=dragDisable,exports2.dragEnable=yesdrag,exports2.dsvFormat=dsv,exports2.easeBack=backInOut,exports2.easeBackIn=backIn,exports2.easeBackInOut=backInOut,exports2.easeBackOut=backOut,exports2.easeBounce=bounceOut,exports2.easeBounceIn=bounceIn,exports2.easeBounceInOut=bounceInOut,exports2.easeBounceOut=bounceOut,exports2.easeCircle=circleInOut,exports2.easeCircleIn=circleIn,exports2.easeCircleInOut=circleInOut,exports2.easeCircleOut=circleOut,exports2.easeCubic=cubicInOut,exports2.easeCubicIn=cubicIn,exports2.easeCubicInOut=cubicInOut,exports2.easeCubicOut=cubicOut,exports2.easeElastic=elasticOut,exports2.easeElasticIn=elasticIn,exports2.easeElasticInOut=elasticInOut,exports2.easeElasticOut=elasticOut,exports2.easeExp=expInOut,exports2.easeExpIn=expIn,exports2.easeExpInOut=expInOut,exports2.easeExpOut=expOut,exports2.easeLinear=linear$1,exports2.easePoly=polyInOut,exports2.easePolyIn=polyIn,exports2.easePolyInOut=polyInOut,exports2.easePolyOut=polyOut,exports2.easeQuad=quadInOut,exports2.easeQuadIn=quadIn,exports2.easeQuadInOut=quadInOut,exports2.easeQuadOut=quadOut,exports2.easeSin=sinInOut,exports2.easeSinIn=sinIn,exports2.easeSinInOut=sinInOut,exports2.easeSinOut=sinOut,exports2.entries=entries,exports2.extent=extent,exports2.fontAwsesomeStyle=fontAwsesomeStyle,exports2.formatDefaultLocale=defaultLocale$1,exports2.formatLocale=formatLocale$1,exports2.formatSpecifier=formatSpecifier,exports2.gray=gray,exports2.hcl=hcl$2,exports2.histogram=histogram,exports2.hsl=hsl$2,exports2.interpolate=interpolate$1,exports2.interpolateArray=array$2,exports2.interpolateBasis=basis$1,exports2.interpolateBasisClosed=basisClosed,exports2.interpolateCool=cool,exports2.interpolateCubehelix=cubehelix$2,exports2.interpolateCubehelixDefault=cubehelix,exports2.interpolateCubehelixLong=cubehelixLong,exports2.interpolateDate=date$1,exports2.interpolateDiscrete=discrete,exports2.interpolateHcl=hcl$1,exports2.interpolateHclLong=hclLong,exports2.interpolateHsl=hsl$1,exports2.interpolateHslLong=hslLong,exports2.interpolateHue=hue,exports2.interpolateInferno=inferno,exports2.interpolateLab=lab,exports2.interpolateMagma=magma,exports2.interpolateNumber=reinterpolate$1,exports2.interpolateNumberArray=numberArray,exports2.interpolateObject=object,exports2.interpolatePlasma=plasma,exports2.interpolateRainbow=rainbow$2,exports2.interpolateRgb=interpolateRgb,exports2.interpolateRgbBasis=rgbBasis,exports2.interpolateRgbBasisClosed=rgbBasisClosed,exports2.interpolateRound=interpolateRound,exports2.interpolateString=interpolateString,exports2.interpolateTransformCss=interpolateTransformCss,exports2.interpolateTransformSvg=interpolateTransformSvg,exports2.interpolateViridis=d3InterpolateViridis,exports2.interpolateWarm=warm,exports2.interpolateZoom=interpolateZoom,exports2.interrupt=interrupt,exports2.isoFormat=formatIso,exports2.isoParse=parseIso,exports2.keys=keys,exports2.lab=lab$1,exports2.lch=lch,exports2.local=local$1,exports2.map=map$2,exports2.matcher=matcher,exports2.max=d3Max,exports2.mean=d3Mean,exports2.median=d3Median,exports2.merge=merge,exports2.min=d3Min,exports2.mouse=mouse,exports2.namespace=namespace,exports2.namespaces=namespaces,exports2.nest=d3Nest,exports2.pairs=pairs,exports2.permute=permute,exports2.piecewise=piecewise,exports2.precisionFixed=precisionFixed,exports2.precisionPrefix=precisionPrefix,exports2.precisionRound=precisionRound,exports2.quantile=threshold$1,exports2.quantize=quantize$1,exports2.range=sequence,exports2.rgb=rgb,exports2.scaleBand=band,exports2.scaleIdentity=identity$1,exports2.scaleImplicit=implicit,exports2.scaleLinear=linear,exports2.scaleLog=log,exports2.scaleOrdinal=ordinal$1,exports2.scalePoint=point,exports2.scalePow=pow,exports2.scaleQuantile=quantile,exports2.scaleQuantize=quantize,exports2.scaleSequential=sequential,exports2.scaleSqrt=sqrt,exports2.scaleThreshold=threshold,exports2.scaleTime=time,exports2.scaleUtc=utcTime,exports2.scan=scan,exports2.schemeCategory10=d3SchemeCategory10,exports2.schemeCategory20=d3SchemeCategory20,exports2.schemeCategory20b=d3SchemeCategory20b,exports2.schemeCategory20c=d3SchemeCategory20c,exports2.select=select,exports2.selectAll=selectAll,exports2.selection=selection,exports2.selector=selector,exports2.selectorAll=selectorAll,exports2.set=set,exports2.shuffle=shuffle,exports2.style=styleValue,exports2.sum=d3Sum,exports2.thresholdFreedmanDiaconis=freedmanDiaconis,exports2.thresholdScott=scott,exports2.thresholdSturges=sturges,exports2.tickIncrement=tickIncrement,exports2.tickStep=tickStep,exports2.ticks=ticks,exports2.timeFormatDefaultLocale=defaultLocale,exports2.timeFormatLocale=formatLocale,exports2.touch=touch,exports2.touches=touches,exports2.transition=transition,exports2.transpose=transpose,exports2.tsvFormat=tsvFormat,exports2.tsvFormatBody=tsvFormatBody,exports2.tsvFormatRow=tsvFormatRow,exports2.tsvFormatRows=tsvFormatRows,exports2.tsvFormatValue=tsvFormatValue,exports2.tsvParse=tsvParse,exports2.tsvParseRows=tsvParseRows,exports2.values=d3Values,exports2.variance=d3Variance,exports2.window=defaultView,exports2.zip=zip,exports2.zoom=d3Zoom,exports2.zoomIdentity=identity,exports2.zoomTransform=transform,Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});
|
|
30
29
|
//# sourceMappingURL=index.umd.cjs.map
|
|
30
|
+
(function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode('.common_Widget{font-family:Verdana,Geneva,sans-serif;font-size:12px}#hpcc_js_font_size{display:none}.common_Text{fill:#000;font-size:12px}.common_FAChar .common_Text{font-size:14px}.common_Shape{fill:#1f77b4;stroke:#1f77b4}.common_Icon .common_FAChar .common_Text{fill:#fff}.common_Icon .common_FAChar .common_Text,.common_Icon .common_FAChar .common_Text g,.common_Icon .common_FAChar .common_Text text,.common_Icon .common_FAChar .common_Text tspan{pointer-events:none}.common_EntityRectList .entityRectItem{margin:6px;border-width:2px;border-radius:8px;border-color:"black";border-style:solid}.common_EntityRectList .entityRectItem rect{stroke-width:4px;shape-rendering:geometricPrecision}.common_EntityRect .entity_shape>g>rect{shape-rendering:geometricPrecision}.common_TextBox .common_Shape{fill:#dcf1ff;stroke:#1f77b4}.common_List .common_TextBox .common_Shape{fill:#dcf1ff;stroke:#dcf1ff}.common_List .common_TextBox .common_Text{pointer-events:none}.common_List .common_TextBox .common_Shape:hover{fill:#fff;stroke:#fff}.common_Menu .common_FAChar{fill:#fff;cursor:pointer}.common_Menu.disabled .common_FAChar{visibility:hidden;cursor:inherit}.common_Menu .common_List .common_TextBox .common_Shape{fill:#1f77b4;stroke:#1f77b4}.common_Menu .common_List .common_TextBox .common_Text{fill:#fff}.common_Menu .common_List .common_TextBox .common_Shape:hover{fill:#ff7f0e;stroke:#ff7f0e}.common_Surface .container .common_Shape{fill:#f9fcff;stroke:#1f77b4;stroke-width:1px}.common_Surface .title{cursor:move}.common_Surface .title .common_Shape{fill:#1f77b4;stroke:#1f77b4;stroke-width:1px}.common_Surface .title text{fill:#fff;stroke:none}.svg-button-container{position:fixed}.svg-button-container .surface-button{position:relative;background:transparent;border:none;opacity:.8;color:#fff}.svg-button-container .surface-button:hover{opacity:1}.svg-button-container .surface-button:active{opacity:.5}.resizeN{cursor:ns-resize;opacity:0}.resizeNE{cursor:ne-resize;opacity:0}.resizeE{cursor:ew-resize;opacity:0}.resizeSE{cursor:se-resize;opacity:0}.resizeS{cursor:ns-resize;opacity:0}.resizeSW{cursor:sw-resize;opacity:0}.resizeW{cursor:ew-resize;opacity:0}.resizeNW{cursor:nw-resize;opacity:0}.common_IconBar{display:flex;flex-flow:row;justify-content:space-between}.common_IconBar .icon-bar{display:flex;opacity:.95;flex-wrap:nowrap;margin:0;white-space:nowrap;line-height:28px;z-index:1}.common_IconBar .icon-bar a{text-align:center;padding:4px 2px;transition:all .3s ease;color:#a9a9a9}.common_IconBar .icon-bar a.disabled{opacity:.3;pointer-events:none;color:#a9a9a9}.common_IconBar .icon-bar a:hover{background-color:#f5f5f5}.common_IconBar .icon-bar a{background-color:#fff}.common_IconBar .icon-bar a.selected{background-color:#efe5e5}.common_IconBar .icon-bar div.spacer{text-align:center;height:28px;border-left-style:solid;border-left-width:1px;border-left-color:transparent;padding-top:0;padding-left:2px;margin-left:2px;padding-bottom:0}.common_IconBar .icon-bar div.spacer.vline{border-left-color:#a9a9a9;padding-left:4px;margin-left:4px}.common_IconBar .icon-bar a.spacer:hover{background-color:transparent}.common_TitleBar>.title-title{margin:4px}.common_TitleBar>.icon-bar{margin:4px}.common_TitleBar .title-icon{padding:4px 0;position:static}.common_TitleBar .data-count{position:absolute;visibility:hidden}.common_TitleBar .title-text{padding:4px 0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:20px;font-weight:700}.common_TitleBar .description-text{padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-weight:400}.common_SVGZoomWidget .zoomBackground{pointer-events:all;fill:none}.common_SVGZoomWidget rect.marqueeSelection{stroke:gray;stroke-dasharray:4px;stroke-opacity:.75;fill:transparent;pointer-events:none}')),document.head.appendChild(o)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
|